摘要:線性回歸系數值線性回歸系數值用來記錄最大偏差尋找最大偏差最大偏差為求靈敏度靈敏度為求線性誤差非線性誤差為返回的系數公式返回常量系數系數公式求和求平方和返回對應項相乘后的和區間區間區間區間
public class LeastSquares { public static void matching(double[] x, double[] y, double[] input, double fully) { double k = getK(x, y); double b = getB(x, y); System.out.println("線性回歸系數k值:/t"+k+"/n" + "線性回歸系數b值:/t" + b); double maxy = 0; //用來記錄最大偏差 //尋找最大偏差 for (int i = 0; i < input.length; i++) { if (Math.abs(k * input[i] + b - y[i]) > maxy){ maxy = Math.abs(k * input[i] + b - y[i]); } } System.out.println("最大偏差為:" + maxy); //求靈敏度 double s = 0; double sum = 0; for (int i = 1; i < y.length; i++) { sum += y[i] - y[i-1]; } s = sum / (y.length - 1) / 20; System.out.println("靈敏度為:" + s); //求線性誤差 System.out.println("非線性誤差為:" + maxy/fully); } //返回x的系數k公式:k=( n sum( xy ) - sum( x ) sum( y ) )/( n sum( x^2 )-sum(x) ^ 2 ) public static double getK(double[] x, double[] y) { int n = x.length; return (double) ((n * pSum(x, y) - sum(x) * sum(y)) / (n * sqSum(x) - Math.pow(sum(x), 2))); }//返回常量系數系數b 公式:b = sum( y ) / n - k * sum( x ) / n public static double getB(double[] x, double[] y) { int n = x.length; double k = getK(x, y); return sum(y) / n - k * sum(x) / n; }//求和 private static double sum(double[] ds) { double s = 0; for (double d : ds) { s = s + d; } return s; }//求平方和 private static double sqSum(double[] ds) { double s = 0; for (double d : ds) { s = (double) (s + Math.pow(d, 2)); } return s; }//返回對應項相乘后的和 private static double pSum(double[] x, double[] y) { double s = 0; for (int i = 0; i < x.length; i++) { s = s + x[i] * y[i]; } return s; } public static void main(String[] args) { double[] x1 = {0,0.2,0.4,0.6,0.8,1.0}; double[] y1 = {17.6,73.6,133,200,256,312}; double[] inputs1 = x1; double[] x2 = {0,-0.2,-0.4,-0.6,-0.8,-1.0}; double[] y2 = {40.0,96,152,208,264,328}; double[] inputs2 = x2; double[] x3 = {0,0.2,0.4,0.6,0.8,1.0,1.2,1.4,1.6,1.8,2.0,2.2,2.4,2.6,2.8,3.0}; double[] y3 = {17.6,73.6,133,200,256,312,372,428,484,548,600,672,712,776,832,888}; double[] inputs3 = x3; double[] x4 = {0,-0.2,-0.4,-0.6,-0.8,-1.0,-1.2,-1.4,-1.6,-1.8,-2.0,-2.2,-2.4,-2.6,-2.8,-3.0}; double[] y4 = {40.0,96,152,208,264,328,384,440,496,552,616,666,720,784,840,898}; double[] inputs4 = x4; System.out.println("+1區間"); matching(x1, y1,inputs1,y1[y1.length-1]); System.out.println("-1區間"); matching(x2, y2,inputs2,y2[y2.length-1]); System.out.println("+3區間"); matching(x3, y3,inputs3,y3[y3.length-1]); System.out.println("-3區間"); matching(x4, y4,inputs4,y4[y4.length-1]); }}
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/123008.html
摘要:線性回歸系數值線性回歸系數值用來記錄最大偏差尋找最大偏差最大偏差為求靈敏度靈敏度為求非線性誤差非線性誤差為返回的系數公式返回常量系數系數公式求和求平方和返回對應項相乘后的和熱電阻測溫實驗擬合直線 ...
摘要:綜合諸多考慮與相應調研,我們希望能夠制作出一款宿舍升降機為同學們提供更方便安全的上下床方式。摘要本設計采用開發板作為主控,結合壓力傳感器紅外避障傳感器電機驅動模塊實現了一個可以自動升降自動停止自動調速的宿舍升降機模型系統。 (第一次寫博客,記錄下自己大一時做的一個課設,如有不妥之處,還望多...
摘要:為了解決人們因工作出差旅游等短期時間內家中寵物無人照顧的問題,我們基于物聯網開發板機智云平臺和各類傳感器模塊研究設計了一套針對短期內寵物無人照顧的智能寵物屋系統。 正式介紹作品前先說明一下,我是湖南文理學院計算機與電氣工程學院的一名大三學生,我叫陳海濤。作品全部內容均為個人創意、個人設計并手...
閱讀 2026·2021-11-19 11:37
閱讀 714·2021-11-11 16:54
閱讀 1161·2021-11-02 14:44
閱讀 3048·2021-09-02 15:40
閱讀 2368·2019-08-30 15:44
閱讀 951·2019-08-29 11:17
閱讀 1058·2019-08-26 14:06
閱讀 1551·2019-08-26 13:47