数学建模常用算法——Stata求解多元线性回归问题
什么是回归分析
回归分析是数据分析中最基础也是最重要的分析工具,绝大多数的数据分析问题,都可以使用回归的思想来解决。回归分析的任务就是通过研究自变量X和因变量Y的相关关系,尝试去解释Y的形成机制,进而达到通过X去预测Y的目的。
常见的回归分析有五类:线性回归、0‐1回归、定序回归、计数回归和生存回归,其划分的依据是因变量Y的类型。
回归分析的使命
- 回归分析要去识别并判断哪些X变量是同Y真的相关,哪些不是。统计学中有一个非常重要的领域,叫做“变量选择”。(逐步回归法)
- 去除了那些同Y不相关的X变量,那么剩下的,就都是重要的、有用的X变量了。接下来回归分析要回答的问题是:这些有用的X变量同Y的相关关系是正的呢,还是负的?
- 在确定了重要的X变量的前提下,我们还想赋予不同X不同的权重,也就是不同的回归系数,进而我们可以知道不同变量之间的相对重要性。
不同数据类型的处理方法
横截面数据:在相同时间段内收集的不同对象的数据。
时间序列数据:对同一对象在不同时间连续观察所取得的数据。
面板数据:横截面数据与时间序列数据综合起来的一种数据资源。
STATA求解多元线性回归问题实战
1. 导入数据
文件→导入→excel表格(数据不能归一化)
2. 数据的描述性统计
2.1 定量数据
2.2 定性数据
对于定性数据,我们无法直接进行回归分析,需要生成对应的虚拟变量。
通过类似方法,我们生成所有定性数据的虚拟变量:
// 定性变量的频数分布,并得到相应字母开头的虚拟变量
tabulate 配方,gen(A)
tabulate 奶源产地 ,gen(B)
tabulate 国产或进口 ,gen(C)
tabulate 适用年龄岁 ,gen(D)
tabulate 包装单位 ,gen(E)
tabulate 分类 ,gen(F)
tabulate 段位 ,gen(G)
3. 多元线性回归
注意以下几个参数:
- Prob>F = 0.0000<0.05,表示在95%的置信水平下拒绝原假设β1=β2=β3=···=βn=0(n代表自变量个数),表示模型通过了联合显著性检验,所以该模型是有意义的。
- P>|t| 那一列中团购价为0.000,商品毛重为0.457,则表示团购价这一个因变量在95%的置信水平下是显著的,则该因变量是有意义的。同理可以得到商品毛重这个因变量对我们的评价量是没有意义的。
- 在团购价这个因变量显著的前提下,它的回归系数Coef.为-35.39873,表示在其他因变量不变的前提下,当团购价每增加一元,将导致我们的评价量减少35.39873条。
下面我们加入虚拟变量回归
- 同理我们得到Prob>F = 0.0000,表示该模型通过联合显著性检验。
- 我们看到 P>|t| 那一列,团购价为0.0000,F1为0.081,表示在90%的置信区间下,团购价和F1这两个因变量是显著的。
- 团购价的回归系数Coef. = -29.77274,表示在其他因变量不变的前提下,当团购价每增加一元,将导致我们的评价量减少29.77274条。
- F1的回归系数Coef. = 14894.55,我们看到F2为对照变量,说明在其他因变量不变的前提下,分类为F1(牛奶粉)的平均评价量要比分类为F2(羊奶粉)的平均评价量要高出14894.55条。
🔺 标准化线性回归
为了更为精准的研究影响评价量的重要因素(去除量纲的影响),我们可考虑使用标准化回归系数。
对数据进行标准化,就是将原始数据减去它的均数后,再除以该变量的标准差,计算得到新的变量值,新变量构成的回归方程称为标准化回归方程,回归后相应可得到标准化回归系数。
标准化系数的绝对值越大,说明对因变量的影响就越大(只关注显著的回归系数哦)。
4. 异方差检验
4.1 异方差的影响
- 即使存在异方差,OLS估计出来的回归系数依然是无偏的,一致的。
- 导致假设检验无法使用(构造的统计量失效了)。
- OLS估计量不再是最优线性无偏估计量(BLUE)。
4.2 异方差的假设检验
4.2.1 绘制散点图
可以看出随着拟合值和团购价的增加,残差越来越发散,说明出现了异方差的问题。
🔺从残差与拟合值的散点图中我们可以看到拟合值出现了负数,我们执行以下命令:
// 描述性统计并给出分位数对应的数值
summarize 评价量,d
// 作评价量的概率密度估计图
kdensity 评价量
因变量数据分布不平衡将导致拟合值出现负数。
4.2.2 BP检验/怀特检验
两种检验的原假设均为:扰动项不存在异方差。
- BP检验 estat hettest ,rhs iid
P值小于0.05,说明在说明在95%的置信水平下拒绝原假设,即我们认为扰动项存在异方差。 - 怀特检验(推荐) estat imtest,white
P值小于0.05,说明在说明在95%的置信水平下拒绝原假设,即我们认为扰动项存在异方差。
4.3 异方差的处理方法
- 使用OLS + 稳健的标准误 (推荐)
原理:仍然进行OLS 回归,但使用稳健标准误。
优点:这是最简单,也是目前通用的方法。只要样本容量较大,即使在异方差的情况下,若使用稳健标准误,则所有参数估计、假设检验均可照常进行。换言之,只要使用了稳健标准误,就可以与异方差“和平共处”了。 - 广义最小二乘法GLS
原理:方差较大的数据包含的信息较少,我们可以给予信息量大的数据(即方差较小的数据更大的权重)
缺点:我们不知道扰动项真实的协方差矩阵,因此我们只能用样本数据来估计,这样得到的结果不稳健,存在偶然性。
5. 使用OLS + 稳健的标准误(有异方差时才使用)
regress y x1 x2 … xk,robust(或r)
与前面一样,我们还是要关注红色方框内的参数,分析方法与前面相同,这里不再赘述。
6. 检验多重共线性
6.1 多重共线性的症状
- 虽然整个回归方程的R2较大、F检验也很显著,但单个系数的l检验却不显著,或者系数估计值不合理,甚至符号与理论预期相反。
- 另一可能“症状"是,增减解释变量使得系数估计值发生较大变化(比如,最后加入的解释变量与已有解释变量构成多重共线性)。直观来看,如果两个(或多个)解释变量之间高度相关,则不容易区分它们各自对被解释变量的单独影响力。在极端情况下,一个变量刚好是另一变量的倍数,则完全无法区分。
6.2 检验多重共线性
方差膨胀因子VIF,VIFm越大,说明第m个变量和其他变量的相关性越大。一个经验规则是,如果VIF>10,则认为该回归方程存在严重的多重共线性。
公式:estat vif
6.3 多重共线性的处理方法
7. 逐步回归分析
7.1 逐步回归分析的两种方法
采用逐步回归分析不存在多重共线性的影响
- 向前逐步回归Forward selection:
将自变量逐个引入模型,每引入一个自变量后都要进行检验,显著时才加入回归模型。(缺点:随着以后其他自变量的引入,原来显著的自变量也可能又变为不显著了,但是,并没有将其及时从回归方程中剔除掉。) - 向后逐步回归Backward elimination(推荐):
与向前逐步回归相反,先将所有变量均放入模型,之后尝试将其中一个自变量从模型中剔除,看整个模型解释因变量的变异是否有显著变化,之后将最没有解释力的那个自变量剔除;此过程不断迭代,直到没有自变量符合剔除的条件。
7.2 Stata实现逐步回归法
逐步回归法可以
7.3 出现完全多重共线性的错误
7.4 逐步回归说明
- 向前逐步回归和向后逐步回归的结果可能不同,推荐使用向后逐步回归。
- 不要轻易使用逐步回归分析,因为剔除了自变量后很有可能会产生新的问
题,例如内生性问题(在经济学类论文中需要注意这一点,在数学建模论文中可以直接使用)。 - 有没有更加优秀的筛选方法?有的,那就是每种情况都尝试一次,最终有2的k次方-1种k可能,如果自变量很多,那么计算相当费时。
8. 拟合优度较低怎么办?
- 拟合优度对应结果中的 R-squared
- 调整后的拟合优度对应结果中的 Adj R-squared
软件下载地址
链接:https://pan.baidu.com/s/1pQOF9hl0EO3_Seffb0utow
提取码:ekjb
复制这段内容后打开百度网盘手机App,操作更方便哦
更多推荐
所有评论(0)