当前位置:网站首页>多元线性回归
多元线性回归
2022-07-01 03:08:00 【weixin_961876584】
本文内容来源于清风老师的讲解
对于线性的理解
假定 x x x是自变量, y y y是因变量,且满足线性关系: y i = β 0 + β 1 x i + μ i y_i=\beta_0+\beta_1 x_i+\mu_i yi=β0+β1xi+μi
线性假定并不要求初始模型都呈上述的严格线性关系,自变量与因变量可通过变量替换而转成线性关系模型,如:
y i = β 0 + β 1 ln x i + μ i ln y i = β 0 + β 1 ln x i + μ i y i = β 0 + β 1 x i + μ i y i = β 0 + β 1 x 1 i + β 2 x 2 i + δ x 1 i x 2 i + μ i y_i=\beta_0+\beta_1\ln x_i+\mu_i\\ \ln y_i=\beta_0+\beta_1\ln x_i+\mu_i\\ y_i=\beta_0+\beta_1 x_i+\mu_i\\ y_i=\beta_0+\beta_1 x_{1i}+\beta_2 x_{2i}+\delta x_{1i}x_{2i}+\mu_i yi=β0+β1lnxi+μilnyi=β0+β1lnxi+μiyi=β0+β1xi+μiyi=β0+β1x1i+β2x2i+δx1ix2i+μi这种关系需要在建模前对数据进行预处理。
探究内生性
引例
- 假设 x x x是某产品品质评分(1-10之间), y y y为该产品的产量。我们建立一元线性回归模型,得到 y ^ = 3.4 + 2.3 x \hat y=3.4+2.3x y^=3.4+2.3x
- 3.4:在评分为0时,该产品的平均销售为3.4
- 2.3:评分每增加一个单位,该产品的平均销量可增2.3
- 如果现在有两个自变量, x 1 x_1 x1表示品质评分, x 2 x_2 x2表示该产品的价格。我们建立多元线性回归模型,的到 y ^ = 5.3 + 0.19 x 1 − 1.74 x 2 \hat y=5.3+0.19x_1-1.74x_2 y^=5.3+0.19x1−1.74x2
- 5.3:评分为0且价格为0时,该产品的平均销量为5.3(没显示意义,可以不分析)
- 0.19:在保持其他变量不变的情况下,评分每增加一个单位,该产品的平均销量增加0.19
- -1.74:在保持其他变量不变的情况下,价格每增加一个单位,该产品的平均销量减少1.74
- 可以看到,引入了新的自变量价格后,对回归系数的影响非常大!
- 原因:遗漏变量导致的内生性
内生性
假设我们的模型为:
y = β 0 + β 1 x 1 + β 2 x 2 + . . . + β k x k + μ y=\beta_0+\beta_1x_1+\beta_2x_2+...+\beta_kx_k+\mu y=β0+β1x1+β2x2+...+βkxk+μ
μ \mu μ为无法观测但满足一定条件的扰动项。如果误差项 μ \mu μ和所有的自变量 x x x均不相关,则称该回归模型具有外生性,如果相关,则存在内生性,内生性会导致回归系数估计得不准确:不满足无偏和一致性。引例中一元回归模型中,误差项包含价格,而价格和品质评分有关,所以导致了内生性。
核心解释变量和控制变量
- 无内生性要求所有的解释变量均与扰动项不相关,这个假定通常太强,因为解释变量一般很多。
- 要弱化此条件,可以将解释变量分为核心解释变量和控制变量两类,只要保证核心解释变量与 μ \mu μ不相关即可。
- 核心解释变量:我们最感兴趣的变量,因此我们特别希望得到对其系数的一致估计。
- 控制变量:对这些变量本身并无太大兴趣,只是为了“控制住”那些对被解释变量有影响的遗漏因素。即把与核心解释变量有关的变量全放入回归中。
回归系数的解释
回归估计方程:
y ^ = β ^ 0 + β ^ 1 x 1 + β ^ 2 x 2 + . . . + β ^ k x k \hat y=\hat\beta_0+\hat\beta_1x_1+\hat\beta_2x_2+...+\hat\beta_kx_k y^=β^0+β^1x1+β^2x2+...+β^kxk- β 0 \beta_0 β0的数值意义一般我们不考虑,因为所有的自变量不会同时为0。
- β ^ m \hat\beta_m β^m是控制其他自变量不变的情况下, x m x_m xm每增加一个单位,对 y y y造成的变化,即 β ^ m = ∂ y ∂ x m \hat\beta_m=\frac{\partial y}{\partial x_m} β^m=∂xm∂y,因此多元线性回归模型中的回归系数,也称为偏回归系数。
什么时候取对数?
- 取对数意味着原被解释变量对解释变量的弹性,即百分比的变化而不是数值的变化。
- 目前,对于什么时候取对数还没有固定的规则,但是有一些经验法则:
- 与市场价值有关的,例如:价格、销售额、工资等都可以取对数;
- 以年度量的变量,如受教育年限、工作经历等通常不取对数。
- 比例变量,如失业率、参与率等,两者皆可;
- 变量取值必须是非负数,如果包含0,则可以对y取对数ln(1+y)。
- 取对数的好处:
- 较弱数据的异方差性;
- 如果变量本身不符合正态分布,取了对数后可能渐进服从正态分布;
- 模型形式的需要,让模型具有经济学意义。
四类模型回归系数的解释
- 一元线性回归: y = a + b x + μ y=a+bx+\mu y=a+bx+μ, x x x每增加1个单位, y y y平均变化 b b b个单位;
- 双对数模型: ln y = a + b ln x + μ \ln y=a+b\ln x+\mu lny=a+blnx+μ, x x x每增加1%, y y y平均变化b%;
- 半对数模型: y = a + b ln x + μ y=a+b\ln x+\mu y=a+blnx+μ, x x x每增加1%, y y y平均变化b/100个单位;
- 半对数模型: ln y = a + b ln x + μ \ln y=a+b\ln x+\mu lny=a+blnx+μ, x x x每增加1个单位, y y y平均变化(100b)%个单位。
虚拟变量
- 回归处理的是定量数据,那么定性数据怎么处理?
- Stata对虚拟变量的处理很友好,可以使用这个软件进行分析。
单分类
我们要研究性别对于工资的影响:
y = β 0 + δ 0 F e m a l e + β 1 x 1 + β 2 x 2 + . . . + β k x k + μ y=\beta_0+\delta_0 Female+\beta_1 x_1+\beta_2x_2+...+\beta_k x_k+\mu y=β0+δ0Female+β1x1+β2x2+...+βkxk+μ- F e m a l e i = 1 Female_i=1 Femalei=1表示第 i i i个样本为女性;
- F e m a l e i = 0 Female_i=0 Femalei=0表示第 i i i个样本为男性;
- 核心解释变量: F e m a l e Female Female;
- 控制变量: x m x_m xm(和女性有关的变量)
- E ( y ∣ F e m a l e = 1 以 及 其 他 自 变 量 给 定 ) = δ 0 × 1 + C E(y|Female=1以及其他自变量给定)=\delta_0\times1+C E(y∣Female=1以及其他自变量给定)=δ0×1+C
- E ( y ∣ F e m a l e = 0 以 及 其 他 自 变 量 给 定 ) = δ 0 × 0 + C E(y|Female=0以及其他自变量给定)=\delta_0\times0+C E(y∣Female=0以及其他自变量给定)=δ0×0+C
- E ( y ∣ F e m a l e = 1 以 及 其 他 自 变 量 给 定 ) − E ( y ∣ F e m a l e = 0 以 及 其 他 自 变 量 给 定 ) = E(y|Female=1以及其他自变量给定)-E(y|Female=0以及其他自变量给定)= E(y∣Female=1以及其他自变量给定)−E(y∣Female=0以及其他自变量给定)= δ 0 \delta_0 δ0( δ 0 \delta_0 δ0显著异于0才有意义)
- δ 0 \delta_0 δ0可解释为:在其他自变量给定的情况下,女性的平均工资与男性的平均工资的差异。(男性平均工资为对照组)
多分类
- 多分类变量中一个是对照组,其余变量是虚拟变量,这是为了避免完全多重共线性的影响,所以引入虚拟变量的个数一般是分类数-1
拟合优度较低
- 回归分为解释性回归和预测性回归:
- 预测性回归一般才会更看重 R 2 R^2 R2
- 解释性回归更多关注模型整体显著性、自变量的统计显著性和经济意义显著性
- 可以对模型进行调整,例如对数据取对数或者平方后再进行回归。
- 数据中可能存在异常值或者数据得分布季度不均匀。
拟合优度和调整后的拟合优度
- 我们引入的自变量越多,拟合优度会变大,显然这不是我们想要的。我们倾向于使用调整后的拟合优度,如果新引入的自变量对残差SSE的减少程度特别少,那么调整后的拟合有毒反而会减小。
R 2 = 1 − S S E S S T R^2=1-\frac{SSE}{SST} R2=1−SSTSSE R a d j u s t e d 2 = 1 − S S E / ( n − k − 1 ) S S T / ( n − 1 ) R^2_{adjusted}=1-\frac{SSE/(n-k-1)}{SST/(n-1)} Radjusted2=1−SST/(n−1)SSE/(n−k−1)
标准化回归系数
- 为了更为精准的研究影响评价量的重要因素(去除量纲的影响),我们可以考虑使用标准化回归系数。
- 对数据进行标准化,就是将原始数据减去它的均数后,再除以该变量的标准差,回归后相应可得到标准化回归系数。
- 标准化回归系数的绝对值越大,说明对因变量的影响就越大(只关心显著的回归系数)
- 对数据进行标准化处理不会影响回归系数的标准误,也不会影响显著性。
异方差
- 在之前的回归分析中,我们都默认了扰动项 μ i \mu_i μi是球形扰动项:满足“同方差”( E ( μ i 2 ) = σ 2 E(\mu_i^2)=\sigma^2 E(μi2)=σ2)和“无自相关”( E ( μ i μ j ) = 0 E(\mu_i \mu_j)=0 E(μiμj)=0)两个条件。
- 横截面数据容易出现异方差的问题;时间序列数据容易出现自相关的问题。
异方差的后果
- OLS估计出来的回归系数是无偏、一致的。
- 假设检验无法使用(构造的统计量失效了)。
- OLS估计量不再是最有线性无偏估计。
检验异方差
- 可以画残差和拟合值(或自变量)的散点图,分布均匀则没有异方差。
- BP检验和怀特检验。后者还包括平方项与交叉项,因此,BP检验可以看成怀特检验的特例。BP检验的Stata命令:estat hettest,rhs iid;怀特检验的Stata命令:estat imtest,white
解决异方差
- 使用OLS+稳健的标准误(用得多)
- 任然使用OLS回归,但使用稳健标准误差。这是最简单,也是目前最通用的方法。只要样本容量较大,即使存在异方差的情况下,若使用稳健标准误,则所有参数估计、假设检验均可照常进行。
- Stata命令:regress y x_1 x_2 … x_k ,robust
- 广义最小二乘法GLS
- 原理:方差较大的数据包含的信息较少,我们可以给予信息量大的数据(即方差较小的数据更大的权重)
- 缺点:我们不知道扰动项真实的协方差矩阵,因此我们只能用样本数据来估计,这样得到的结果不稳健,存在偶然性。
多重共线性
- 如果数据矩阵 X X X不满列秩,即某一解释变量可以由其他解释变量线性表出,则存在“严格多重共线性”(完全多重共线性)。
- 如果将第 i i i个解释变量 x i x_i xi对其余的解释变量 { x 1 , . . . , x i − 1 , x i + 1 , . . . , x k } \{x_1,...,x_{i-1},x_{i+1},...,x_k\} { x1,...,xi−1,xi+1,...,xk}进行回归,所得到的可决系数较高,则存在近似多重共线性。
表现
- 虽然整个回归方程的 R 2 R^2 R2较大、 F F F检验也很显著,但单个系数的 t t t检验却不显著,或者系数估计值不合理,甚至符号与理论预期相反。
- 增减解释变量使得系数估计值发生较大变化。
如何检验多重共线性
- 方差膨胀因子(VIF):假设现在又 k k k个自变量,那么第 m m m个自变量的 V I F m = 1 1 − R 1 ∼ k / m 2 VIF_m=\frac{1}{1-R_{1\sim k/m}^2} VIFm=1−R1∼k/m21
R 1 ∼ k / m 2 R_{1\sim k/m}^2 R1∼k/m2时将第 m m m个自变量作为因变量,对剩下的 k − 1 k-1 k−1个自变量回归得到的拟合优度。
- V I F m VIF_m VIFm越大,说明第 m m m个变量和其他变量的相关性越大。
- 如果 V I F = max { V I F 1 , . . . , V I F k } > 10 VIF=\max\{VIF_1,...,VIF_k\}>10 VIF=max{ VIF1,...,VIFk}>10,则认为该回归方程存在严重的多重共线性。Stata命令:estat vif
多重共线性处理方法
- 如果只是为了预测,即不关心具体的回归系数,则存在多重共线性没有影响(假设整个方程是显著的)。这是因为,多重共线性的主要后果是使得对单个变量的贡献不准,但所有变量的整体效果仍可以较准确的估计。
- 如果关心具体的回归系数,但多重共线性并不影响所关心变量的显著性,那么也可以不必理会。即使在有方差膨胀的情况下,这些系数依然显著;如果没有多重共线性,则只会更加显著。
- 如果多重共线性影响到所关心变量(核心解释变量)的显著性,则需要增大样本容量,剔除导致严重共线性的变量(不要轻易删除,因为可能会有内生性的影响),或对模型设定进行修改。
解决多重共线性
- 向前逐步回归:将自变量逐个引入模型,每引入一个自变量后都要进行检验,显著时才加入回归模型。缺点:随着以后其他自变量的引入,原来显著的自变量也可能又变为不显著了,但并没有将其及时从回归方程中剔除掉。
- 向后逐步回归:与向前逐步回归相反,先将所有变量均放入模型,之后尝试将其中一个自变量从模型中剔除,看整个模型解释因变量的便宜是否有显著变异,之后将最没有解释力的那个自变量剔除;此过程不断迭代,直到没有自变量符合剔除的条件。缺点:一开始就把全部变量都引入回归方程,这样计算量比较大。
边栏推荐
- LeetCode_ Stack_ Difficulties_ 227. basic calculator (excluding multiplication and division)
- Pytest -- plug-in writing
- 伺服第二编码器数值链接到倍福PLC的NC虚拟轴做显示
- Hal library operation STM32 serial port
- [machine learning] vectorized computing -- a must on the way of machine learning
- Stop saying that you can't solve the "cross domain" problem
- Cloud native annual technology inventory is released! Ride the wind and waves at the right time
- If I am in Beijing, where is a better place to open an account? In addition, is it safe to open a mobile account?
- 力扣-两数之和
- [applet project development -- Jingdong Mall] classified navigation area of uni app
猜你喜欢

Redis分布式锁的8大坑

Best used trust automation script (shell)

PHP batch Excel to word

Cloud native annual technology inventory is released! Ride the wind and waves at the right time

【小程序项目开发 -- 京东商城】uni-app 商品分类页面(上)

CX5120控制汇川IS620N伺服报错E15解决方案

Restcloud ETL WebService data synchronization to local

咱就是说 随便整几千个表情包为我所用一下

HTB-Lame

Huawei operator level router configuration example | BGP VPLS configuration example
随机推荐
Od modify DLL and exe pop-up contents [OllyDbg]
世界上最好的学习法:费曼学习法
CX5120控制汇川IS620N伺服报错E15解决方案
Example of Huawei operator level router configuration | example of configuring optionc mode cross domain LDP VPLS
C#实现基于广度优先BFS求解无权图最短路径----完整程序展示
Design practice of current limiting components
Druid监控统计数据源
[applet project development -- Jingdong Mall] classified navigation area of uni app
lavaweb【初识后续问题的解决】
Install vcenter6.7 [vcsa6.7 (vCenter server appliance 6.7)]
【读书笔记】《文案变现》——写出有效文案的四个黄金步骤
实战 ELK 优雅管理服务器日志
Borrowing constructor inheritance and composite inheritance
倍福TwinCAT3 Ads相关错误详细列表
IEDA 右键源码文件菜单简介
Kmeans
UE4 rendering pipeline learning notes
[linear DP] shortest editing distance
Force buckle - sum of two numbers
Servlet [first introduction]