多元线性回归分析详细介绍

一文搞懂——多元线性回归分析

  • 回归分析定义
    • 回归的使命
    • 回归分析的分类
    • 数据的分类
    • 数据的收集
  • 线性回归
    • 对于线性的理解
    • 回归系数的解释
    • 核心解释变量和控制变量
    • 四类模型回归系数的解释
    • 特殊的自变量:虚拟变量X
    • 含有交互项的自变量
  • 回归实例
    • 题目
    • Stata解决
      • 第一步:数据的描述性统计
      • 第二步:回归分析——第一问
      • 第三步:标准化回归系数——第二问
  • 异方差-多重共线性与逐步回归
    • 扰动项
    • 异方差
      • 检验异方差
        • 假设检验(BP检验)
        • 怀特检验
      • 解决异方差
    • 多重共线性
      • 通俗的讲
      • 检验多重共线性
      • 多重共线性处理方法
    • 逐步回归分析

回归分析定义

回归的使命

  • 第一、识别重要变量

    判断哪些X变量是同Y真的相关,哪些不是。

  • 第二、判断相关性的方向

    判断这些有用的X变量同Y的相关关系是正还是负。

  • 第三、要估计权重(回归系数)

    赋予不同X不同的权重,也就是不同的相关系数,进而知道不同变量之间的相对重要性。

回归分析的分类

类型 模型 Y的特点 例子
线性回归 OLS、GLS(最小二乘) 连续数值型变量 GDP、产量、收入
0‐1回归 logistic回归 二值变量(0‐1) 是否违约、是否得病
定序回归 probit定序回归 定序变量 等级评定(优良差)
计数回归 泊松回归(泊松分布) 计数变量 每分钟车流量
生存回归 Cox等比例风险回归 生存变量(截断数据) 企业、产品的寿命

数据的分类

  • 横截面数据:在某一时点收集的不同对象的数据

    常用建模方法:多元线性回归

    1. 我们自己发放问卷得到的数据
    2. 全国各省份2018年GDP的数据
    3. 大一新生今年体测的得到的数据
  • 时间序列数据:对同一对象在不同时间连续观察所取得的数据。

    常用建模方法:移动平均、指数平滑、ARIMA、GARCH、VAR、协积

    1. 从出生到现在,你的体重的数据(每年生日称一次)。
    2. 中国历年来GDP的数据。
    3. 在某地方每隔一小时测得的温度数据
  • 面板数据:横截面数据与时间序列数据综合起来的一种数据资源。

    常用建模方法: 固定效应和随机效应、静态面板和动态面板

    1. 2008‐2018年,我国各省份GDP的数据。

数据的收集

  • 在知乎上搜索“数据查找”来获取最新的数据网站(多半都是宏观数据)
  • 人大经济论坛——微观数据
  • 爬虫获取

线性回归

对于线性的理解

  • 线性假定并不要求初始模型都呈下图所示的严格线性关系,自变量与因变量可通过变量替换而转化成线性模型即可

对于线性的理解

  • 使用线性回归模型进行建模前,需要对数据进行预处理(可以使用Excel)

回归系数的解释

  • 外生性:误差项与所有自变量均不相关

  • 内生性:存在误差项与自变量相关(内生性会导致回归系数估计不准确:不满足 无偏——估计量的均值与实际相等 和 一致性——n无穷大时依概率收敛 )
    多元线性回归分析详细介绍_第1张图片

核心解释变量和控制变量

  • 作用:弱化内生性(将解释变量区分为核心解释变量与控制变量)
  • 核心解释变量:我们最感兴趣的变量,因此我们特别希望得到对其系数的一致估计(当样本容量无限增大时,收敛于待估计参数的真值 )。
  • 控制变量:我们可能对于这些变量本身并无太大兴趣;而之所以把它们也放入回归方程,主要是为了 “控制住” 那些对被解释变量有影响的遗漏因素。
  • 实际应用:我们只要保证核心解释变量与不相关即可。

四类模型回归系数的解释

  1. 一元线性回归: = + + ,x每增加1个单位,y平均变化b个单位;

  2. 双对数模型: = + + ,x每增加1%,y平均变化b%;

  3. 半对数模型: = a + blnx + ,x每增加1%,y平均变化b/100个单位;

  4. 半对数模型: = a + bx + ,x每增加1个单位,y平均变化(100b)%。

特殊的自变量:虚拟变量X

  • 作用:代替自变量中的定性变量(性别、地域等)
  • 定义:若定性变量属于第i个虚拟变量,则Xi = 1,其余均为0
  • :为了避免完全多重共线性的影响,引入虚拟变量的个数一般是分类数减1,未设虚拟变量的那一个为对照组。

含有交互项的自变量

  • 定义:解释变量对一个因变量的偏效应(纯线性回归)、弹性(x,y都带ln)或半弹性(x或y带ln),有时很自然地取决于另一个解释变量的大小。
  • 通俗的讲:就是包含两个自变量相乘的项。

回归实例

题目

现有某电商平台846条关于婴幼儿奶粉的销售信息,每条信息由11个指标组成。其中,评价量可以从一个侧面反映顾客对产品的关注度。请对所给数据进行以下方面的分析,要求最终的分析将不仅仅有益于商家,更有益于宝妈们为宝贝选择适合自己的奶粉。

  1. 以评价量为因变量,分析其它变量和评价量之间的关系;

  2. 以评价量为因变量,研究影响评价量的重要因素。

Stata解决

第一步:数据的描述性统计

  1. 定量数据 - stata
summarize 变量1 变量2 ... 变量n
sum 变量1 变量2 ... 变量n		//简写形式
  1. 定性数据 - stata
tabulate 变量名, gen(A)
tab 变量名, gen(A)		//简写
// 返回对应的这个变量的频率分布表,并生成对应的虚拟变量(以A开头)。
  1. 数据的描述性统计-Excel(方法二)

    数据 — 数据分析 — 描述统计

    一般只用到(平均数、标准差、最小值、最大值、样本量)

  2. 数据透视表 - Excel

    全选 — 插入 — 数据透视表

  3. 指标的总体情况介绍

    分定量指标、定性指标,用文字对每个指标进行介绍(形成表格)

如下:多元线性回归分析详细介绍_第2张图片

  1. 数据不要先进行归一化处理,因为处理后就好分析回归结果了。

第二步:回归分析——第一问

regress y x1 x2 … xk    //(默认使用的OLS:普通最小二乘估计法)

reg y x1 x2 … xk 	    //简写

reg 评价量 团购价元 商品毛重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 //例子,字母代表虚拟变量回归

// 下面的语句可帮助我们把回归结果保存在Word文档中
est store m1
reg2docx m1 using m1.docx, replace
// *** p<0.01  ** p<0.05 * p<0.1

P值小于0.05,代表在95%置信水平下,该回归系数显著的异于0

Prob > F 为 联合显著性检验 1 = 2 = ··· = k = 0

Tips:

  1. 定性数据回归,只需加入对应虚拟变量即可。
  2. 在变量窗口中按住Shift不放,可同时选中一列,然后再直接拖动到输入区域。
  3. Stata会自动检测数据的完全多重共线性问题。
  4. 论文中要给出回归系数的显著性

第三步:标准化回归系数——第二问

  • 标准化回归系数:研究影响评价量的重要因素(去除量纲的影响)

  • 用法:标准化系数(Stata中的Beta值)的绝对值越大,说明对因变量的影响就越大(只关注显著的回归系数哦)。

regress y x1 x2 … xk,beta
reg y x1 x2 … xk,b		// 简写

异方差-多重共线性与逐步回归

扰动项

多元线性回归分析详细介绍_第3张图片

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

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

异方差

如果扰动项存在异方差:

  1. OLS估计出来的回归系数是无偏、一致的。

  2. 假设检验无法使用(构造的统计量失效了)。

  3. OLS估计量不再是最优线性无偏估计量(BLUE)。

简言之,估计结果会不准确。

检验异方差

假设检验(BP检验)

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

BP检验原假设:扰动项不存在异方差

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

怀特检验

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

怀特检验原假设:不存在异方差

解决异方差

  1. 使用OLS + 稳健的标准误
regress y x1 x2 … xk, robust
reg y x1 x2 … xk, r // 简写

Stock and Watson (2011)推荐,在大多数情况下应该使用“OLS + 稳健标准误”。

  1. 广义最小二乘法GLS

多重共线性

通俗的讲

  • 存在多重共线性就是 这个变量和其他的变量非常的相关。

  • VIM(m)越大,说明第m个变量和其他变量的相关性越大。

  • 经验规则:如果VIM > 10,则认为该回归方程存在严重的多重共线性。

检验多重共线性

// Stata计算各自变量VIF的命令(在回归结束后使用):
estat vif

多重共线性处理方法

如果发现存在多重共线性,可以采取以下处理方法。

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

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

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

逐步回归分析

可以用来解决多重共线性的问题

  1. 向前逐步回归Forward selection:将自变量逐个引入模型
stepwise regress y x1 x2 … xk, pe(#1)
// 显著才加入模型中 #1一般取0.05
  1. 向后逐步回归Backward elimination:先将所有变量均放入模型,之后尝试将其中一个自变量从模型中剔除
stepwise regress y x1 x2 … xk, pr(#2)
// 不显著就剔除出模型 #2一般取0.05

如果你觉得筛选后的变量仍很多,你可以减小#1或者#2

如果你觉得筛选后的变量太少了,你可以增加#1或者#2

注:

  1. x1 x2 … xk之间不能有完全多重共线性(和regress不同哦) ,需要手动在每个分类变量中任意去除一个元素

  2. 可以在后面再加参数b和r,即标准化回归系数或稳健标准误

  3. 向前逐步回归和向后逐步回归的结果可能不同。
    型,之后尝试将其中一个自变量从模型中剔除

你可能感兴趣的:(数学建模,线性回归,回归,线性代数,算法)