多元回归模型(multivariate regression model)是描述一个因变量与多个自变量之间的相关关系。如果这个关系是线性的,则可以采用线性多元回归模型来描述。反之,则用非线性多元回归模型。对于多元线性模型而言,因变量若为连续型变量,则采用普通的线性模型;若因变量为离散型变量(类型变量或计数变量),则需采用广义多元线性模型。下面就线性模型展开说明讲解。

一、普通多元线性模型

        我们选用一个例子来讲述普通多元线性回归模型。

e.g. 计量经济学涉及数学、统计学、经济学的知识,还要借助软件完成计算分析。因此对于很多同学来说,计量经济学是一门特别容易挂科的课程。大学教授Mr.Li想研究大学生计量经济学考试成绩与其影响因素之间的关系,根据初步分析,他认为学生的计量经济学考试成绩y与学生的微积分成绩x1,线性代数成绩x2,统计学成绩x3,大学计算机成绩x4,西方经济学成绩x5有相关关系。对此他抽取36名学生成绩进行分析。数据网盘提取码:d1d8

        我们可以简单将模型写为:y_i=\beta_0+\beta_1x_i_1+\cdots+\beta_5x_i_5+\epsilon _i,i=1,2,\cdots,n

其中\epsilon_i\sim {N(0,\sigma^{2})},模型可以视为一个普通正态线性模型。在正态假定下,如果X^TX是满秩的(矩阵的满秩与可逆),则参数\beta的最小二乘估计为:

{\hat{\beta}}=(X^{T}X)^{-1}X^{T}y

于是y 的估计值为:

{\hat{y}}=X{\hat{\beta}}

残差e=y-{\hat{y}}=y-X{\hat{\beta}},则随机误差方差\sigma^2的最小二乘估计为:

{\hat{\sigma}^2}=\frac{e^Te}{n-p-1}

对于多元线性模型而言,我们是需要找到最合适的模型参数\beta_i ,使得残差平方和达到最小。


 二、回归方程的显著性检验

        从回归系数的最小二乘估计{\hat{\beta_0}},\cdots,{\hat{\beta_5}}可以看出,对任意给定的n对数据(x_i,y_i),都可以求出{\hat{\beta_0}},\cdots,{\hat{\beta_5}},从而给出回归方程y_i=\beta_0+\beta_1x_i_1+\cdots+\beta_5x_i_5+\epsilon _i,i=1,2,\cdots,n,但是这样给出的回归方程不一定有意义。
  在使用回归方程作进一步的分析以前,首先应对回归方程是否有意义进行判断,什么叫回归方程有意义呢?我们知道,建立回归方程的目的是寻找y的均值随x变化的规律,即找出回归方程y_i=\beta_0+\beta_1x_i_1+\cdots+\beta_5x_i_5+\epsilon _i,i=1,2,\cdots,n,如果\beta_i=0,i=1,\cdots,5,那么不管x如何变化,E(y)不随x的变化作线性变化,那么这时求得的线性回归方程就没有意义,称回归方程不显著。如果\beta_i\neq 0,那么当x变化时,E(y)x的变化作线性变化,那么这时求得的回归方程就有意义,称回归方程是显著的
  综上,对回归方程是否有意义作判断就是要作如下的显著性检验H_0:\beta_i= 0;H_1:\beta\neq0,拒绝H_0表示回归方程是显著的。


        对回归方程有以下几种显著性的检验方法:F检验,t检验

2.1 F检验

        F检验是对方程整体的显著性进行检验,即所有变量对被解释变量的显著性检验。

2.2 t检验

        t检验是对单个变量的显著性检验,一般是看p值。如果p值小于0.05表示该自变量对因变量解释性很强。t检验值大于0.05则该变量显著,反之不显著。

        t检验回归系数是否等于某一特定值,在回归方程中这一特定值为0,因此t值=回归系数/回归系数的标准误差因此t值的正负应该与回归系数的正负一致,回归系数的标准误差越大,t值越小,回归系数的估计值越不可靠,越接近于0。另外,回归系数的绝对值越大,t值的绝对值越大。

        我们查看一下所举的例子。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression as LM
import statsmodels.api as sm 
data=pd.read_csv("eg2.1.csv")
data.head()
d={'x1':data['x1'],'x2':data['x2'],'x3':data['x3'],'x4':data['x4'],'x5':data['x5'],'y':data['y']}
md=sm.formula.ols('y~x1+x2+x3+x4+x5',d).fit()
print(md.summary())

        输出结果为

        由输出结果我们可以看到,模型的p值为9.36\times{10^{-14}},明显小于0.05,因此我们认为方程式显著的。模型的拟合优度R^2=0.895,调整后的拟合优度R^2=0.877

        整体回归方程拟合优度检验,R方的结果越接近于1越好,但是R方会因增加变量而增大,所以引进了调整R方检验。

        在进行多元线性回归时,常用到的是F检验和t检验,F检验是用来检验整体方程系数是否显著异于零,如果F检验的p值小于0.05,就说明,整体回归是显著的。然后再看各个系数的显著性,也就是t检验,计量经济学中常用的显著性水平为0.05,如果t值大于2或p值小于0.05就说明该变量前面的系数显著不为0,选的这个变量是有用的。

三、多重共线性

        但是模型的相关系数为4.15\times10^3,说明变量之间的相关性很高,即变量之间存在多重共线性。因此我们需要对变量进行调整,消除多重共线性。

3.1 多重共线性的影响

        在进行线性回归分析时,自变量即解释变量很容易出现共线性问题。当出现共线性问题时,可能导致回归系数的符号与实际情况完全相反,本应该显著的自变量不显著,本不显著的自变量却呈现出显著性;共线性问题会导致数据研究出来严重偏差甚至完全相反的结论,因而需要解决此问题。

3.2 多重共线性产生的原因

        多重共线性问题就是说一个解释变量的变化引起另一个解释变量地变化。如果各个自变量x之间有很强的线性关系,就无法固定其他变量了,就找不到x和y之间真实的关系了。通俗地讲共线性是指,自变量X(解释变量)影响因变量Y(被解释变量)的时候,多个X之间本身就存在很强的相关关系,即X之间有着比较强的替代性,因而导致共线性问题。

3.3 消除多重共线性

对于如何消除多重共线性,请查看下一章《解决多元线性回归的多重共线性问题》

来源:数据分析师小杰的成长之路

物联沃分享整理
物联沃-IOTWORD物联网 » 多元线性回归模型

发表评论