线性回归模型(Liner Regression)

作者: 王阿根 | 来源:发表于2019-01-08 16:32 被阅读4次

    案例1

    通过案例,学习回归分析的基本思想及其应用。

    从某大学中随机选取8名女大学生,其身高和体重

    求根据女大学生的身高预报体重的回归方程,并预报一名身高172cm的女大学生的体重。

    分析:由于问题中要求根据身高预报体重,因此选取身高为自变量x,体重为因变量y.作散点图:

    可以看出,样本点呈条状分布,身高和体重有比较好的线性相关关系,因此可以使用回归直线y=bx+a来近似刻画他们之间的关系。

    那么现在我们需要求截距a, 斜率b 的值,我们知道回归直线y=bx+a的斜率和截距的最小二乘估计分别为:\hat{b}  = \frac{\sum_{i=1}^n(x_{i}-   \bar{x} )(y_{i}-  \bar{y}   ) }{ \sum_{i=1}^n(x_{i}-     \bar{x}  )    ^2  } \hat{a} \bar{y}  -\hat{b}     \bar{x} ,其中\bar{x} =\frac{1}{n} \sum_{i=1}^nx_{i} \bar{y} =\sum_{i=1}^ny_{i} ,(\bar{x} \bar{y} )称为样本点的中心。

    那么具体为啥会得出\hat{a} ,\hat{b} 值的结论呢,我们来推导一下:

    推导完毕。那么就根据\alpha ,\beta 的公式得到\hat{a} =-85.712,\hat{b} =0.849.

    可得到身高体重的回归方程:\hat{y}  = 0.849x -85.712,因此可得到172cm的女大学生,根据回归方程可得到预报体重为:\hat{y} = 0.849*172 -85.712 = 60.316kg.

            如图可以看出,各点分布在该条回归直线的附近,那么身高和体重的关系可以用线性回归模型  y = bx + a + e 来表示,a, b 为未知参数,e为 y 与   bx + a 之间的误差,通常e为随机变量,称为随机误差,他的均值E(e) = 0; 方差D(e) = \sigma  ^2> 0,这样线性回归模型的完整表达式为:y = bx + a + e ,E(e) = 0, D(e) = \sigma  ^2

            在线性回归模型中,随机误差e的方差\sigma  ^2越小,用bx +a 预报的真实值y的精确度就越高,随机误差是引起预报值\hat{y} 与真实值y之间存在误差的原因之一。另一方面,由于\hat{a}  ,\hat{b} 为截距和斜率的估计值,他们与真实值a, b之间也存在误差,所以这两个值也会引起预报值\hat{y} ,与真实值y之间存在误差。

            在实际应用中,我们用回归方程\hat{y}  = \hat{b} x + \hat{a} 中的\hat{y} 估计bx+a , 由于随机误差e = y - (bx + a), 所以,\hat{e} = y - \hat{y}  是e的估量值,对于样本点(x_{1} ,y_{1} ),(x_{2} ,y_{2} ), ......(x_{n} ,y_{n} )来说,他们的随机误差为e_{i}  = y_{i} - b x_{i}  - a,  i =  1, 2, 3, .....n,其估计值\hat{e} = y_{i}  - \hat{y}  =  y_{i}  - \hat{b} x_{i}  - \hat{a} , i =  1, 2, 3, .....n, \hat{e}  称为相对应于点(x_{i} ,y_{i} )的残差。

            可以通过残差发现原始数据中的可疑数据,判断所建立的模型的拟合效果,下表为女大学生的身高体重以及残差数据:

    做出残差图,x轴为样本编号,y轴为残差值:

            可以看出,第1个样本点和第6个样本点的残差比较大,需要确认在采集样本时是否有错误,如果有错误就重新利用线性回归模型拟合数据,如果没有错误,就需要寻找其他原因。

            如果残差点比较均匀的落在水平的带状区,说明该模型的拟合效果比较好,带状区宽度越窄,说明模型拟合的精度越高,回归方程的预报越精准。

            另外,还可以通过

    R^2 = 1 - \frac{\sum_{i=1}^n(y_{i} - \hat{y}  )^2  }{\sum_{i=1}^n(y_{i} -              \bar{y}  )^2  }  来刻画回归效果,对于已经获取的样本数据,R^2  表达式中\sum_{i=1}^n(y_{i} -              \bar{y}  )^2 为确定的数。因此R^2 越大,越接近于1,以为值残差平方和\sum_{i=1}^n(y_{i} - \hat{y}  )^2越小,模型拟合的效果越好;在实际应用中,应该尽量选择R^2 大的回归模型。

    总结

    一般建立回归模型的基本步骤:

    1. 确定研究对象,明确哪个是解释变量(自变量),哪个是预报变量(因变量)。

    2. 画出解释变量和预报变量的散点图,观察他们之间的关系(是否存在线性关系)。

    3. 由经验确定回归方程的类型(如果观察数据是呈线性关系,则选用线性回归方程)。

    4.按照一定的规则(如最小二乘法)估计回归方程中的参数。

    5.得出结果后分析残差图是否有一样(如个别数据对应的残差过大,残差呈现不随机的规律性等),若存在一样,则检查数据是否有误,或模型是否合适等。

    案例2

    一只红铃虫的产卵数y和温度x有关,现收集了7组观测数据,试建立y关于x的回归方程。

    散点图:

    观察散点图,样本点没有分布在某个带状区域,因此两个变量不呈线性相关关系,不能直接利用线性回归模型来刻画两个变量之间的关系,该散点图类似一条指数函数曲线:

    其中C1,C2是待定参数,现在问题变为如何估计C1,C2,我们可以通过对数变换把指数关系变为线性关系。令z = \ln y ,则变换后样本点应该分布在直线z = bx + a
(a=  \ln c1, b = c2
)的周围,这样就可以利用线性回归模型来建立y关于x 的非线性回归方程了。

    得到线性回归方程:\hat{z}  = 0.272x - 3.849
,因此红铃虫的产卵数关于温度的非线性回归方程为:y = e^(0.272x-3.849)

            另外一方面,认为样本点集中在某二次曲线y= c_{3} x^2 +  c_{4} 的附近,其中c_{3},c_{4}为待定参数,因此可以对温度变量做变换,令 t = x^2,然后建立y关于t的线性回归方程,从而得到y关于x的非线性回归方程。下图为红铃虫的产卵数和对应的温度平方,

    表1

    散点图:

    可以看出,y与t的散点图并不分布在一条直线的周围,因此不宜用线性回归方程来拟合它,即不宜用y= c_{3} x^2 +  c_{4} 来拟合y和x之间的关系,这个结论还可以通过下面的残差分析得到。

            为比较两个不同模型的残差,需要建立两个相应的回归方程,前面我们已经建立了y关于x的指数回归方程,下面建立y关于x的二次回归方程,用线性回归模型拟合表1中的数据,得到y关于t 的线性回归方程:

    y_{2}  = 0.367t-202.543
,即y关于x的二次回归方程为y_{2}  = 0.367x^2 -202.543
,可以通过残差来比较两个回归方程的拟合效果:

    表2

    从表中可以看出模型1的残差绝对值比模型2的残差绝对值小,因此模型1的拟合效果较好。在一般情况下,比较两个模型的残差比较困难,因为在某一些样本点上一个模型的残差绝对孩子比另一个模型的小,而另一些样本点的情况则相反,此时,可以使用R^2来比较两个模型的拟合效果,R^2越大,拟合效果越好,由表2可以算出模型1和模型2 的R^2分别是0.98和0.80,因此模型1 的拟合效果比模型2 好。

    总结:

    对于给定的样本点(x1,y1),(x2,y2).....(xn,yn),两个含有未知参数的模型 y = f(x,a)+e,E(e)=0,D(e)=\sigma ^2;和 y = g(x,b)+w,E(w)=0,D(w)=\sigma ^2

    其中 a,b都是未知参数,可以按照如下步骤来比较他们的拟合效果:

    1. 分别建立对应于两个模型的回归方程。

    2.分别计算两个方程的R^2

    3.比较两个模型的R^2值,谁大谁的拟合效果越好。


    相关文章

      网友评论

        本文标题:线性回归模型(Liner Regression)

        本文链接:https://www.haomeiwen.com/subject/czfvrqtx.html