術(shù)語(yǔ)及定義
1治力、因變量
dependent variable 需要預(yù)測(cè)的變量
2、自變量
independent variable 用來預(yù)測(cè)因變量值的一個(gè)或多個(gè)變量
3勃黍、回歸分析
利用統(tǒng)計(jì)學(xué)方法建立一個(gè)表示變量之間相互關(guān)系的方程稱為回歸分析
4琴许、簡(jiǎn)單線性回歸
只包含一個(gè)自變量和一個(gè)因變量的回歸分析。簡(jiǎn)單線性回歸方程的圖形是一條直線溉躲,b0值代表y軸的截距榜田,b1值代表斜率。
計(jì)算方法
最小二乘法锻梳,公式如下:
實(shí)現(xiàn)代碼
package com.math.regression;
import org.apache.commons.math3.stat.descriptive.moment.Mean;
/***
* least squares method
* @author miaoyibo
*
*/
public class RegressionEquation {
private double[] dependentValues;
private double[] independentValues;
public RegressionEquation(double[] dependentValues, double[] independentValues) {
this.dependentValues = dependentValues;
this.independentValues = independentValues;
}
public double getMean(double[] dd) {
Mean meanUtil = new Mean();
return meanUtil.evaluate(dd);
}
public double[] getRegressionModel() {
if(dependentValues.length!=independentValues.length) {
return null;
}
Mean meanUtil = new Mean();
double xmean=meanUtil.evaluate(independentValues);
double ymean=meanUtil.evaluate(dependentValues);
double numerator=0d;
double denominator=0d;
for(int i=0;i<dependentValues.length;i++) {
double x=independentValues[i];
double y=dependentValues[i];
numerator=numerator+(x-xmean)*(y-ymean);
denominator=denominator+(x-xmean)*(x-xmean);
}
double b1=numerator/denominator;
double b0=ymean-b1*xmean;
double[] model= {b0,b1};
return model;
}
}