.net计算线性回归算数
用到前一篇的.net实现Excel的几个函数中的方法。
/// <summary>
??????? /// 线性回归算法
??????? /// </summary>
??????? /// <param name="yArray"></param>
??????? /// <param name="xArray"></param>
??????? /// <returns></returns>
??????? public static double[] LinearRegression(double[] yArray, double[] xArray)
??????? {
??????????? //第一步求对数
??????????? double[] yArray_Log = new double[yArray.Length];
??????????? for (int i = 0; i < yArray.Length; i++)
??????????? {
??????????????? yArray_Log[i] = ExcelFormula.LN(yArray[i]);
??????????? }
??????????? //第二步求斜率
??????????? double k = ExcelFormula.SLOPE(yArray_Log, xArray);
??????????? //第三步求截距
??????????? double b = ExcelFormula.INTERCEPT(yArray_Log, xArray);
??????????? //第四步求回归值
??????????? double[] returnValue = new double[yArray.Length];
??????????? for (int i = 0; i < yArray.Length; i++)
??????????? {
??????????????? double d = xArray[i] * k + b;
??????????????? returnValue[i] = ExcelFormula.EXP(d);
??????????? }
??????????? return returnValue;
??????? }