线性回归方程的斜率计算公式
intercept函数是如何算出结果的?
intercept函数是如何算出结果的?
【1】SLOPE(known_ys, known_xs)
一个功能单一的函数,用最小二乘法计算平面一组点数据的一次线性回归方程的斜率,即ykx b中的斜率k,函数返回值为一个双精度数值。(截距b值可以用INTERCEPT函数计算)
【2】LINEST(known_ys, [known_xs], [const], [stats])
一个功能强大的函数,可计算一组点数据的一次或高次回归方程的各个系数、各系数标准误差、Y 估计值的标准误差、相关系数……
所以计算斜率只是这个函数最基本的功能之一!
需要注意的是该函数返回值为一个数组,需要使用Index()函数配合使用。
具体参见:
LINEST 函数
如果用LINEST函数写出与SLOPE函数相同的功能:
INDEX(LINEST(known_ys, known_xs,1,0),1,1)
如果用LINEST函数写出与INTERCEPT函数相同的功能:
INDEX(LINEST(known_ys, known_xs,1,0),2,1)
如果需要LINEST函数的详细用法就回复我,我再更新。
线性回归方程b的推导过程?
我们假设测定的时候,横坐标没有误差(自己设计的样品,认为没有误差),所以认为误差完全出现在纵坐标上,即测定值上.所以只要求出拟合直线上的点和样品纵坐标值的距离的最小值,就好了.就认为这个直线离所有点最近.
设回归直线为ymx b.任意一点为(Xi,Yi),i是跑标,表示任意一个值.即求点(Xi,Yi)到与该点横坐标相同的拟合直线上的点(Xi,mXi b)距离的最小值.所以距离为纵坐标相减,即d|Y-Yi||mXi b-Yi|.绝对值不好算,就换成平方.有d^2(mXi b-Yi)^2.现在把所有的距离相加.
即Σ(i1,n),从1开始,加到第n个,(我就不写了太费劲).Σd^2Σ(mXi b-Yi)^2.
把d^2分别对m和b求偏导,因为你应该学过,最小值时候,导数应该等于0.
对m求,m即斜率,认为斜率是变量,其他都看成常量.
Σ[2*(mXi b-Yi)Xi]0,
展开得mΣXi^2 bΣXi-ΣXiYi0,解出b(ΣYi-mΣXi)/n,n表示一共多少个点,就是代数预算,自己试试.
对b求偏导,
Σ[2*(mXi b-Yi)*1]0,解出mΣXi nbΣYi
联立方程,解出m和b.有,
m(nΣXiYi-ΣXiΣYi) / (nΣXi^2-(ΣXi)^2)
b(ΣYi-mΣXi)/n