900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 数模7:多元线性回归分析(Multiple Linear Regression Analysis)

数模7:多元线性回归分析(Multiple Linear Regression Analysis)

时间:2020-11-15 09:48:24

相关推荐

数模7:多元线性回归分析(Multiple Linear Regression Analysis)

1.简介

多元线性回归分析是一种统计方法,用于探究多个自变量与一个连续因变量之间的关系。它在研究多个影响因素对某一现象的影响时非常有用。通过建立一个线性模型,将多个自变量的值与因变量的值进行拟合,多元线性回归分析可以帮助我们理解各个自变量对因变量的相对贡献,以及它们之间的相互作用。

多元线性回归分析的目标是确定一组回归系数,这些系数表示了每个自变量对因变量的影响程度,同时考虑了其他自变量的影响。这种方法可以用于预测因变量的值,也可以用于分析不同自变量对因变量的独立和联合影响。

在进行多元线性回归分析时,需要满足一些假设,包括线性关系、独立性、正态分布和同方差性等。通过对数据进行适当的处理和检验,可以验证这些假设是否成立,并进行有效的分析和解释。

2.模型

(1)本质

寻找重要变量判断相关性回归系数

(2)分类

数据分类:

横截面数据(Cross Section Data):在某一时点收集的不同对象的数据。如: (1)问卷数据 ;(2)全国各省份某年GDP的数据 ;(3)新生今年体测数据。时间序列数据(Time Series Data):对同一对象在不同时间连续观察所取得的数据。如: (1)从出生到现在体重数据(每年生日称一次);(2)中国历年来GDP的数据;(3)在某地方每隔一小时测得的温度数据。面板数据(Panel Data):横截面数据与时间序列数据综合起来的一种数据资源。 如: ‐,我国各省份GDP的数据。

不同数据使用方法:

(3)一些指标

类比线性函数拟合:

A.线性

严格线性:

但是线性假设不要求严格线性,变量通过变换为线性即可:

注:线性回归模型之前,数据预处理。

B.回归系数

一般情况:

上面的分析引入了新的自变量后,对回归系数的影响非常大。原因:遗漏变量导致的内生性(具体见下)。

交叉变量:

对数项变量:

取对数:

伍德里奇的《计量经济学导论,现代观点》里,第六章176-177页有详细的论述; 取对数意味着原被解释变量对解释变量的弹性,即百分比的变化而不是数值的变化。

一些经验取法:

(1)与市场价值相关的,例如,价格、销售额、工资等都可以取对数;

(2)以年度量的变量,如受教育年限、工作经历等通常不取对数;

(3)比例变量,如失业率、参与率等,两者均可;

(4)变量取值必须是非负数,如果包含0,则可以对y取对数ln(1+y)。

取对数的好处:

(1)与市场价值相关的,例如,价格、销售额、工资等都可以取对数;

(2)以年度量的变量,如受教育年限、工作经历等通常不取对数;

(3)比例变量,如失业率、参与率等,两者均可;

(4)变量取值必须是非负数,如果包含0,则可以对y取对数ln(1+y)。

四类回归模型解释:

1、一元线性回归:𝑦 =𝑎 +𝑏𝑥 +𝜇,x每增加1个单位,y平均变化b个单位:

2、双对数模型:𝑙𝑛𝑦 =𝑎 +𝑏𝑙𝑛𝑥 +𝜇,x每增加1%,y平均变化b%;

3、半对数模型:𝑦 = 𝑎 +𝑏𝑙𝑛𝑥 +𝜇,x每增加1%,y平均变化b/100个单位;

4、半对数模型:𝑙𝑛𝑦 =𝑎 +𝑏𝑥 +𝜇,x每增加1个单位,y平均变化(100b)%。

特殊自变量(虚拟变量)

多分类虚拟变量:

注:为了避免完全多重共线性的影响,引入虚拟变量的个数一般是分类数减1。通常是通过与最值对比产生对照。

C.内生性

包含了所有与y相关,但未添加到回归模型中的变量。如果这些变量和我们已经添加的自变量相关,则存在内生性。

其蒙特卡罗模拟如下:

D.核心变量和控制变量

无内生性(noendogeneity)要求所有解释变量均与扰动项不相关。 这个假定通常太强,解释变量一般很多, 保证它们全部外生较难。需要弱化此条件:将解释变量分为核心解释变量与控制变量。

核心解释变量:最感兴趣的变量,因此特别希望得到对其系数的一致估计当样本容量无限增大时,收敛于待估计参数的真值)。

控制变量:我们可能对于这些变量本身并无太大兴趣;而之所以把它们也放入回归方程,主要是为了 “控制住” 那些对被解释变量有影响的遗漏因素。

在实际应用中,我们只要保证核心解释变量与𝝁不相关即。

注:判断核心与否,通过对系数的显著性检验。

E.扰动项条件

在之前的回归分析中,我们都默认了扰动项是球型扰动项。 球型扰动项:满足“同方差”和“无自相关”两个条件。

注:横截面数据容易出现异方差的问题; 时间序列数据容易出现自相关的问题。

F.异方差

假设检验

处理方法

如果扰动项存在异方差: (1)OLS估计出来的回归系数是无偏、一致的。 (2)假设检验无法使用(构造的统计量失效了)。 (3)OLS估计量不再是最优线性无偏估计量(BLUE)。

解决:

(1)使用OLS+稳健的标准误如果发现存在异方差,一 种处理方法是,仍然进行OLS回归,但使用稳健标准误。这是最简单,也是目前通用的方法。只要样本容量较大,即使在异方差的情况下,若使用稳健标准误,则所有参数估计、假设检验均可照常进行。换言之, 只要使用了稳健标准误,就可以与异方差“和平共处”了。

(2)广义最小二乘法GLS 原理:方差较大的数据包含的信息较少,我们可以给予信息量大的数据(即方差 较小的数据更大的权重) 缺点:我们不知道扰动项真实的协方差矩阵,因此我们只能用样本数据来估计, 这样得到的结果不稳健,存在偶然性。

注:StockandWatson()推荐,在大多数情况下应该使用“OLS+稳健标准误”。

G.多重共线性

检验多重共线

处理方法

(1)如果不关心具体的回归系数,而只关心整个方程预测被解释变量的能力,则 通常可以 不必理会多重共线性(假设你的整个方程是显著的)。这是因为,多 重共线性的主要后果是使得对单个变量的贡献估计不准,但所有变量的整体效 应仍可以较准确地估计。

(2)如果关心具体的回归系数,但多重共线性并不影响所关心变量的显著性,那 么也可以不必理会。即使在有方差膨胀的情况下,这些系数依然显著;如果没有 多重共线性,则只会更加显著。

(3)如果多重共线性影响到所关心变量的显著性,则需要增大样本容量,剔除导 致严重共线性的变量(不要轻易删除哦,因为可能会有内生性的影响),或对 模型设定进行修改。

H.逐步回归

向前逐步回归Forwardselection:将自变量逐个引入模型,每引入一个自变量 后都要进行检验,显著时才加入回归模型。 (缺点:随着以后其他自变量的引入,原来显著的自变量也可能又变为不显著了, 但是,并没有将其及时从回归方程中剔除掉。)

向后逐步回归Backwardelimination:与向前逐步回归相反,先将所有变量均 放入模型,之后尝试将其中一个自变量从模型中剔除,看整个模型解释因变量的 变异是否有显著变化,之后将最没有解释力的那个自变量剔除;此过程不断迭代, 直到没有自变量符合剔除的条件。(缺点:一开始把全部变量都引入回归方程, 这样计算量比较大。若对一些不重要的变量,一开始就不引入,这样就可以减少 一些计算。当然这个缺点随着现在计算机的能力的提升,已经变得不算问题了)

注:逐步回归时,应该剔除任意一个影响共线性的变量。

说明:

(1)向前逐步回归和向后逐步回归的结果可能不同

(2)不要轻易使用逐步回归分析,因为剔除了自变量后很有可能会产生新的问题,例如内生性问题。

(3)有没有更加优秀的筛选方法?有的,那就是每种情况都尝试一次,最终一 共有种可能。如果自变量很多,那么计算相当费时。

3.Stata实操

STEP1:Import

STEP2:Variable

定量变量:summarize 变量1 变量2 ... 变量n

定性变量:tabulate 变量名,generate(A)

注:Stata会自动检测数据的完全多重共线性问题。会自动默认最后一个虚拟变量A2为参考组。参考信息会在命令行提示。

返回对应的这个变量的频率分布表,并生成对应的虚拟变量(以A开头)。

注:下滑线为该函数在 Stata 中简写。

STEP3:Regression

直接回归:regress y x1 x2 … xk(默认OLS)

标准化回归:regress y x1 x2 … xk,beta

注:1)以评价量为因变量,分析其它变量和评价量之间的关系采用一般的回归,此时回归系数有实际意义; 2)以评价量为因变量,研究影响评价量的重要因素,采用标准回归,此时回归系数无实际意义

为了更为精准的研究影响评价量的重要因素(去除量纲的影响), 我们可考虑使用标准化回归系数。 对数据进行标准化,就是将原始数据减去它的均数后,再除以该变 量的标准差,计算得到新的变量值,新变量构成的回归方程称为标准化 回归方程,回归后相应可得到标准化回归系数。 标准化系数的绝对值越大,说明对因变量的影响就越大(只关注显 著的回归系数哦)。

拟合优度:

(1)回归分为解释型回归和预测型回归。 预测型回归一般才会更看重𝑅ଶ。 解释型回归更多的关注模型整体显著性以及自变量的统计显著性和经济意义显著 性即可。

(2)可以对模型进行调整,例如对数据取对数或者平方后再进行回归。

(3)数据中可能有存在异常值或者数据的分布极度不均匀。

补充:关于拟合优度和调整后的拟合优度: 我们引入的自变量越多,拟合优度会变大。但我们倾向于使用调整后的拟合优度, 如果新引入的自变量对SSE的减少程度特别少,那么调整后的拟合优度反而会减小。

补充:关于拟合优度和调整后的拟合优度: 我们引入的自变量越多,拟合优度会变大。但我们倾向于使用调整后的拟合优度, 如果新引入的自变量对SSE的减少程度特别少,那么调整后的拟合优度反而会减小。

STEP4:异方差

在回归结束后运行命令:

rvfplot (画残差与拟合值的散点图)

rvpplot x (画残差与自变量x的散点图)

拟合值出现负数原因:

BP检验

Stata命令(在回归结束后使用): estat hettest ,rhs iid

原假设:扰动项不存在异方差 P值小于0.05,说明在95%的置信水平下拒绝原假设,即我们认为扰动项存在异方差。

怀特检验

Stata命令(在回归结束后使用): estat imtest,white

解决:

使用OLS + 稳健的标准误:

regress y x1 x2 … xk,robust

3.代码

// 按键盘上的PageUp可以使用上一次输入的代码(Matleb中是上箭头)// 清除所有变量clear// 清屏 和 matlab的clc类似cls // 导入数据(其实是我们直接在界面上粘贴过来的,我们用鼠标点界面导入更方便 本条请删除后再复制到论文中,如果评委老师看到了就知道这不是你写的了)// import excel "C:\Users\hc_lzp\Desktop\数学建模视频录制\第7讲.多元回归分析\代码和例题数据\课堂中讲解的奶粉数据.xlsx", sheet("Sheet1") firstrowimport excel "C:\Users\12046\Desktop\正课视频的课件和代码\第7讲.多元回归分析\代码和例题数据\课堂中讲解的奶粉数据.xlsx", sheet("Sheet1") firstrow// 定量变量的描述性统计summarize 团购价元 评价量 商品毛重kg// 定性变量的频数分布,并得到相应字母开头的虚拟变量tabulate 配方,gen(A)tabulate 奶源产地 ,gen(B)tabulate 国产或进口 ,gen(C)tabulate 适用年龄岁 ,gen(D)tabulate 包装单位 ,gen(E)tabulate 分类 ,gen(F)tabulate 段位 ,gen(G)// 下面进行回归regress 评价量 团购价元 商品毛重kg// 下面的语句可帮助我们把回归结果保存在Word文档中// 在使用之前需要运行下面这个代码来安装下这个功能包(运行一次之后就可以注释掉了)// ssc install reg2docx, all replace// 如果安装出现connection timed out的错误,可以尝试换成手机热点联网,如果手机热点也不能下载,就不用这个命令吧,可以自己做一个回归结果表,如果觉得麻烦就直接把回归结果截图。// est store m1// reg2docx m1 using m1.docx, replace// *** p<0.01 ** p<0.05 * p<0.1// Stata会自动剔除多重共线性的变量regress 评价量 团购价元 商品毛重kg A1 A2 A3 B1 B2 B3 B4 B5 B6 B7 B8 B9 C1 C2 D1 D2 D3 D4 D5 E1 E2 E3 E4 F1 F2 G1 G2 G3 G4est store m2reg2docx m2 using m2.docx, replace// 得到标准化回归系数regress 评价量 团购价元 商品毛重kg, b // 画出残差图regress 评价量 团购价元 商品毛重kg A1 A2 A3 B1 B2 B3 B4 B5 B6 B7 B8 B9 C1 C2 D1 D2 D3 D4 D5 E1 E2 E3 E4 F1 F2 G1 G2 G3 G4rvfplot // 残差与拟合值的散点图graph export a1.png ,replace// 残差与自变量团购价的散点图rvpplot 团购价元graph export a2.png ,replace// 为什么评价量的拟合值会出现负数?// 描述性统计并给出分位数对应的数值summarize 评价量,d// 作评价量的概率密度估计图kdensity 评价量 graph export a3.png ,replace// 异方差BP检验estat hettest ,rhs iid// 异方差怀特检验estat imtest,white// 使用OLS + 稳健的标准误regress 评价量 团购价元 商品毛重kg A1 A2 A3 B1 B2 B3 B4 B5 B6 B7 B8 B9 C1 C2 D1 D2 D3 D4 D5 E1 E2 E3 E4 F1 F2 G1 G2 G3 G4, rest store m3reg2docx m3 using m3.docx, replace// 计算VIFestat vif// 逐步回归(一定要注意完全多重共线性的影响)// 向前逐步回归(后面的r表示稳健的标准误)stepwise reg 评价量 团购价元 商品毛重kg A1 A3 B1 B2 B3 B4 B5 B6 B7 B9 C1 D1 D2 D3 D4 E1 E2 E3 F1 G1 G2 G3, r pe(0.05)// 向后逐步回归(后面的r表示稳健的标准误)stepwise reg 评价量 团购价元 商品毛重kg A1 A3 B1 B2 B3 B4 B5 B6 B7 B9 C1 D1 D2 D3 D4 E1 E2 E3 F1 G1 G2 G3, r pr(0.05)// 向后逐步回归的同时使用标准化回归系数(在r后面跟上一个b即可)stepwise reg 评价量 团购价元 商品毛重kg A1 A3 B1 B2 B3 B4 B5 B6 B7 B9 C1 D1 D2 D3 D4 E1 E2 E3 F1 G1 G2 G3, r b pr(0.05)// 补充语法 (大家不需要具体的去学Stata软件,掌握我课堂上教给大家的一些命令应对数学建模比赛就可以啦)// 事实上大家学好Excel,学好后应对90%的数据预处理问题都能解决// (1) 用已知变量生成新的变量 generate lny = log(评价量) generate price_square = 团购价元 ^2generate interaction_term = 团购价元*商品毛重kg// (2) 修改变量名称,因为用中文命名变量名称有时候可能容易出现未知Bugrename 团购价元 price// 注意:代码文件仅供参考,一定不要直接用于自己的数模论文中// 国赛对于论文的查重要求非常严格,代码雷同也算作抄袭// 视频中提到的附件可在售后群(购买后收到的那个无忧自动发货的短信中有加入方式)的群文件中下载。包括讲义、代码、我视频中推荐的资料等。// 关注我的微信公众号《数学建模学习交流》,后台发送“软件”两个字,可获得常见的建模软件下载方法;发送“数据”两个字,可获得建模数据的获取方法;发送“画图”两个字,可获得数学建模中常见的画图方法。另外,也可以看看公众号的历史文章,里面发布的都是对大家有帮助的技巧。// 购买更多优质精选的数学建模资料,可关注我的微信公众号《数学建模学习交流》,在后台发送“买”这个字即可进入店铺(我的微店地址:/?userid=1372657210)进行购买。// 视频价格不贵,但价值很高。单人购买观看只需要58元,三人购买人均仅需46元,视频本身也是下载到本地观看的,所以请大家不要侵犯知识产权,对视频或者资料进行二次销售。// 如何修改代码避免查重的方法:/video/av59423231(必看)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。