数学建模学习笔记(六)——多元线性回归分析

文章目录

    • 一、综述
    • 二、常见的回归分析
    • 三、对于相关性的理解
    • 四、一元线性回归模型
    • 五、对于回归系数的解释
    • 六、内生性
    • 七、四类线性模型回归系数的解释
    • 八、对于定性变量的处理——虚拟变量XXX
    • 九、下面来看一个实例
    • 十、扰动项需要满足的条件
    • 十一、异方差
    • 十二、多重共线性
    • 十三、逐步回归
    • 十四、总结

一、综述

无论是什么回归模型,它们的基本任务都是通过研究自变量 xxx 和因变量 yyy 的相关关系,从而形成能够解释 yyy 的变化的方法,进而能够通过自变量 xxx 去预测因变量 yyy
回归分析的基本任务:

  1. 变量选择:确定重要变量
  2. 判断是正相关还是负相关
  3. 估计回归系数

二、常见的回归分析

常见的回归分析有:{线性回归0−1回归定序回归计数回归生存回归\left\{ \begin{aligned} &线性回归 \\ &0 - 1回归 \\ &定序回归 \\ &计数回归 \\ &生存回归 \end{aligned} \right.线01,文章只从线性回归的角度来阐述线性回归分析用于解决问题的策略和步骤。它们的区别是因为因变量 yyy 的不同而引起的。

因变量 yyy
线性回归yyy 为连续型的数值变量,例如:家庭收入逐年增加⋯\cdots
0 - 1回归yyy 的结果可以抽象为0或者1(类似于计算机中的二进制0和1),例如:喜欢和不喜欢⋯\cdots
定序回归yyy 为表示等级或者程度的变量(具有一定的顺序大小)⋯\cdots
计数回归yyy 为计数变量,例如:抛硬币次数的增加⋯\cdots
生存回归yyy 为阶段的数据,例如:研究某一因素对于年龄的影响,便可以截取一个年龄段,满足该年龄段的人进行计数即可

三、对于相关性的理解

相关性 ≠\neq= 因果性
即不能从相关性的结果分析中让两个变脸拥有绝对的因果关系。

四、一元线性回归模型

假设 xxx 是自变量,yyy 是因变量,且满足如下线性关系:yi=β0+β1xi+μiy_i = \beta_0 + \beta_1x_i + \mu_iyi=β0+β1xi+μi β0\beta_0β0β1\beta_1β1 为回归系数,μi\mu_iμi 为无法观测的且满足一定条件的扰动项$

令预测值 yi^=β0^+β1^xi\hat{y_i} = \hat{\beta_0} + \hat{\beta_1}x_iyi^=β0^+β1^xi

其中 β0^,β1^=argβ0,β1min(∑i=1n(yi−yi^)2)=argβ0,β1min(∑i=1n(yi−β0^−βi^xi)2)\hat{\beta_0}, \hat{\beta_1} = arg_{\beta_0, \beta_1}min(\sum_{i=1}^{n}(y_i - \hat{y_i})^2) \\ \\ = arg_{\beta_0, \beta_1}min(\sum_{i=1}^{n}(y_i - \hat{\beta_0} - \hat{\beta_i}x_i)^2)β0^,β1^=argβ0,β1min(i=1n(yiyi^)2)=argβ0,β1min(i=1n(yiβ0^βi^xi)2)

β0^,β1^=argβ0,β1min(∑i=1n(μi^)2)\hat{\beta_0}, \hat{\beta_1} = arg_{\beta_0, \beta_1}min(\sum_{i=1}^{n}(\hat{\mu_i})^2)β0^,β1^=argβ0,β1min(i=1n(μi^)2)

五、对于回归系数的解释

yi=β0+β1x1i+β2x2i+μi,β0和β1为回归系数y_i = \beta_0 + \beta_1x_{1i} + \beta_2x_{2i} + \mu_i,\beta_0 \text{和} \beta_1 \text{为回归系数}yi=β0+β1x1i+β2x2i+μi,β0β1为回归系数
β0\beta_0β0:在 x1x_1x1x2x_2x2 都为0时,yyy 的平均值为 β0\beta_0β0
β1\beta_1β1:在保持其他变量不变的情况下,x1ix_{1i}x1i 每增加一个单位,yyy 的平均值增加 β0\beta_0β0
β2\beta_2β2:在保持其他变量不变的情况下, x2ix_{2i}x2i 每增加一个单位,yyy 的平均值增加 β1\beta_1β1
注意:每引入一个自变量,对于每个自变量前面的回归系数影响都是非常大的。因此在求回归方程的时候,尽量不要遗漏变量,否则会导致内生性的问题。

六、内生性

由于 μ\muμ 是一个满足条件但却无法观测的扰动项,因此 μ\muμ 和自变量们是否相关会导致回归系数的准确与否。

  1. μ\muμ 与自变量们均不相关,则称该回归模型具有外生性。
  2. μ\muμ 与自变量们相关,则称该回归模型具有内生性。

由于要求 μ\muμ 与自变量们都不相关,此条件要求太强。因此,我们可以将方程中的自变量分为核心变量和控制变量两类(顾名思义,核心变量:最需要进行估计的变量;控制变量:对变量本身无太大兴趣,但将之加入方程是为了避免内生性)。
在实际应用中,我们只需要保持核心变量与 μ\muμ 不相关即可

七、四类线性模型回归系数的解释

在平常的模型分析中,我们也可以通过代换,将取对数的变量做代换,同样可以达到线性的目的。

  • 一元线性回归:y=a+bx+μy = a + bx + \muy=a+bx+μ
    xxx 每增加一个单位,yyy 平均变化 bbb 个单位。

  • 双对数模型:ln⁡y=a+bln⁡x+μ\ln y = a + b\ln x + \mulny=a+blnx+μ
    xxx 每增加 1% ,yyy 平均变化 b%

  • 半对数模型:y=a+bln⁡x+μy = a + b\ln x + \muy=a+blnx+μ
    xxx 每增加 1% ,yyy 平均变化 b100\frac{b}{100}100b 个单位。

  • 半对数模型:ln⁡y=a+bx+μ\ln y = a + bx + \mulny=a+bx+μ
    xxx 每增加一个单位,yyy 平均变化 (100b)(100b)(100b)%

八、对于定性变量的处理——虚拟变量XXX

在自变量中如果有定性的变量,例如:性别,地区等等,我们在回归的过程中可以将它们作为虚拟变量来处理
例如:我们要研究性别对于工资的影响
此时可以建立多元线性回归模型:yi=β0+δ0Femalei+β1x1i+β2x2i+⋯+βkxki+μiy_i = \beta_0 + \delta_0Female_i + \beta_1x_{1i} + \beta_2x_{2i} + \cdots + \beta_kx_{ki} + \mu_iyi=β0+δ0Femalei+β1x1i+β2x2i++βkxki+μi Femalei=1Female_i = 1Femalei=1 表示第 iii 个样本为女性;Femalei=0Female_i = 0Femalei=0 表示第 iii 个样本为男性。
同时,这里面的核心解释变量即为:FemaleFemaleFemale控制变量为:xm(m=1,2,⋯,k)x_m(m = 1, 2, \cdots, k)xm(m=1,2,,k)

九、下面来看一个实例

某电商平台846条奶粉的销售信息如下,每条信息由11个之变组成。其中评价量可以侧面反映顾客对产品的关注度。
完成下列问题:

  • 以评价量为因变量,分析其他变量和评价量之间的关系;
  • 以评价量为因变量,研究影响评价量的重要因素。

问题一:

  1. StataStataStata 中调用tabulate 配方,gen(A)等将定性变量生成为虚拟变量。
  2. 对所有变量进行回归:reg 评价量 团购价元 商品毛重kg A1-G4,得到的结果为:
    回归结果1
    正如图中所示,在前一部分的表格中我们首先需要关注的就是 Prob>FProb > FProb>F 这一栏,判断我们所使用的模型是否有意义。
    同时,R−squaredR-squaredRsquaredAdjR−squaredAdj R-squaredAdjRsquared 表示的是拟合优度以及调整后的拟合优度大小。
    回归结果2
    回归结果3
    这张表表示的就是回归的结果。需要关注的有:第一列(Coef.)表示回归系数,第四列(P > |t|)表示 P 值大小。
    在 95% 的置信水平下,P 值必须要小于 0.05 才有意义。
    注意:由于完全多重共线性的影响,Stata会自动将一组变量中的某个变量作为参考变脸(表格中omitted的变量)。因此,一组变量如 F 组变量,在 90% 的置信水平下,我们可以解释为,在其他变量不变的情况下,F1 评价量平均要比 F2 高出14894.55。

问题二:

  1. 基本思路:利用标准化回归系数来解决。(去除量纲的影响)
    标准化公式 y−yˉδ\frac{y - \bar{y}}{\delta}δyyˉyˉ\bar{y}yˉ 表示平均值,δ\deltaδ 表示标准差。标准化系数的绝对值越大,说明对因变量的影响就越大(只关注显著的回归系数)
  2. StataStataStata 中调用reg 评价量 团购价元 商品毛重kg A1-G4,beta,然后关注最后一列,绝对值越大,代表影响越大。
    标准化回归

十、扰动项需要满足的条件

扰动项需要满足“同方差”和“无自相关”两个条件。

十一、异方差

  1. 异方差的检验

    1. BP检验
      StataStataStata 中调用命令:estat hettest, rhs iid(回归结束之后)进行 BP 检验
      异方差
      原假设:扰动项不存在异方差
      P 值小于 0.05,说明在 95% 的置信水平下拒绝原假设,即认为扰动项存在异方差。
    2. 怀特检验
      StataStataStata 中调用命令:eatat imtest, while(回归结束之后)
      怀特检验
      原假设:扰动项不存在异方差
      同样,P 值小于 0.05,因此也要拒绝原假设。即扰动项也存在异方差。
  2. 异方差的处理

    1. 使用OLS(普通最小二乘估计法) + 稳健的标准误(推荐)
      StataStataStata 中调用命令:reg y x1...xk, robust
      结果为:
      异方差处理1
      可以看出显著的变量相比于之前多了许多
    2. 广义最小二乘法GLS
      GLS得出的结果不稳健,也可能出现偶然性,因此不做介绍。

十二、多重共线性

  1. 多重共线性的检验
    多重共线性的检验可以使用方差膨胀因子 VIFVIFVIF.

    假设有 kkk 个自变量,那么第 mmm 个自变量的 VIFm=11−R1−k/mVIF_m = \frac{1}{1 - R_{1-k/m}}VIFm=1R1k/m1
    VIFm=11−R1−k/mVIF_m = \frac{1}{1 - R_{1-k/m}}VIFm=1R1k/m1 表示将第 mmm 个自变量作为因变量,对剩下的 k−1k - 1k1 个自变量回归得到的拟合优度。

    VIFVIFVIF 越大,说明第 mmm 个变量和其他变量的相关性越大。

    定义 VIF=max{VIF1,VIF2,VIF3,⋯,VIFm}VIF = max\{VIF_1, VIF_2, VIF_3, \cdots, VIF_m\}VIF=max{VIF1,VIF2,VIF3,,VIFm},若 VIF>10VIF > 10VIF>10,则认为模型具有严重的多重共线性。

    StataStataStata 中调用命令:estat vif(回归之后)
    VIF
    2.多重共线性的解决
    多重共线性的解决

十三、逐步回归

  1. 向前逐步回归
    将自变量逐个引入模型,每一个自变量加入后都要进行检验,显著时才加入回归模型。(缺点:引入变量后,原来显著的变量也可能变得不显著)

    StataStataStata 中,调用命令:stepwise regress y x1 x2...xk, pe(#1),其中,#1表示显著水平(0.05)

  2. 向后逐步回归
    先将所有的自变量放入模型,之后再尝试将其中一个自变量从模型中删除,看整个模型解释因变量是否有显著变化,之后将最没有解释力的哪个自变量删除,知道没有自变量符合删除条件为止。

    StataStataStata 中,调用命令:stepwise regress y x1 x2...xk, pr(#2),其中,#2也表示显著水平(0.05)

注意:
(1)x1,x2,x3,⋯,xkx1, x2, x3, \cdots, xkx1,x2,x3,,xk 之间不能有完全多重共线性
(2)可以在后面加上参数 b 和 r ,即标准化回归系数和稳健标准误
(3)向前逐步回归和向后逐步回归的结果可能不同
(4)不要轻易使用逐步回归,删除了变量会导致其他问题

十四、总结

使用多元线性回归时,可以参考以下步骤:

  1. 确定自变量和因变量
  2. 对定性的变量生成虚拟变量
  3. 异方差检验以及多重共线性检验并分别进行处理
  4. StataStataStata 中进行回归分析,多元线性回归?标准化回归?逐步回归?……
  5. 得出结论

本文是看了课视频和PPT之后自己的总结,有什么错误还望指出,thx!!
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/565129.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

没有bug队——加贝——Python 59,60

相关 tkinter 的介绍:Python 55,56 目录 59.题目:画图,综合例子。  60.题目:计算字符串长度。  len()函数用法 59.题目:画图,综合例子。   程序分析&#xff…

爬虫必备反爬技能:使用动态ip

目录 一、为什么要使用动态代理ip? 二、如何申请动态代理ip? 三、如何使用动态ip? 一、为什么要使用动态代理ip? 使用它的好处在哪里呢? 保护你的网络免受外部攻击屏蔽你的IP地址限制不必要的内容更好的帮助你抓取网络数据绕过目标网站…

数学建模学习笔记(七)——图论最短路问题

文章目录一、综述二、图论最短路问题三、几个简单的作图方法四、Dijkstra(迪杰斯特拉)算法五、Bellman-Ford算法六、总结一、综述 本文主要根据图论的基本概念,介绍图论中常见的建模问题——最短路问题。同时,介绍了解决图论最短…

pycharm和pythonIDE安装详解

目录 一、pycharm下载安装 二、python下载安装 ​三、pycharm上配置python 我们可能显示的库不大一样,因为我这大都事先安装过了,就没有删​打印成功:标志配置完成​四、配置镜像源让你下载嗖嗖的快 4.1)pycharm内部配置 4.2…

数学建模学习笔记(八)——分类模型

文章目录一、分类模型综述二、逻辑回归三、两点分布(伯努利分布)四、连接函数的取法五、Logistic回归模型六、在SPSS中进行二元Logistic回归七、预测结果较差的解决八、Fisher线性判别分析九、多分类问题十、总结一、分类模型综述 通过样本数据中的分类…

python基础入门(1)

目录 一、python入门 二、python缩进 三、Python注释 1)单行注释 2)多行注释 四、Python 变量 1)变量定义理解 2) 变量名命名 3) 分配多个值 4)输出变量 5)全局变量与局部变量&#…

数学建模学习笔记(九)——聚类模型

文章目录一、聚类综述二、主要用到的聚类算法三、K-means聚类算法四、K-means算法五、对于K-means算法和K-means算法的讨论六、系统(层次)聚类算法七、DBSCAN算法八、总结一、聚类综述 聚类的主要目的就是将样本划分为由类似的对象组成的多个类的过程。…

python基础入门(2)

目录 一、Python数据类型 1)置数据类型 2)获取数据类型 3)设置数据类型 4)设置特定数据类型 6)练习题 二、python数字- 1)整数 2)浮点数 3)虚数 4)类型转换 …

C语言scanf:获取输入的内容

获取外部输入数据内容 在C语言中,有多个函数可以从键盘获得用户输入: scanf():和 printf() 类似,scanf() 可以输入多种类型的数据。getchar()、getche()、getch():这三个函数都用于输入单个字符。gets():获…

数学建模学习笔记(十)——时间序列模型

文章目录一、时间序列综述二、时间序列数据以及基本概念三、时间序列分解四、指数平滑模型五、一元时间序列分析的模型六、AR(p)模型七、MA(q)模型八、ARMA(p, q)模型九、模型选择:AIC 和 BIC 准…

python基础入门(3)之字符串

目录 一、Python字符串 1.字符串基本使用 1)字符串理解 2)将字符串分配给变量 3)多行字符串 4)字符串是数组 5)遍历字符串 6)字符串长度 7)检查字符串 8)检查如果不是 2.切片字符串 1)切片 2)从头开始切片 3)切到最…

数学建模学习笔记(十一)——预测模型

文章目录一、综述二、灰色预测简介三、GM(1, 1)模型四、使用灰色系统建模的前提 —— 准指数规律检验五、对于GM(1, 1)的检验六、GM(1, 1)模型的拓展七、什么时候使用灰色预测八、神经网络模型一、综述 本文首先介绍了灰色预测模…

python基础入门(4)之布尔值

目录 一、Python布尔值 1)比较 2)评估值和变量 3)布尔真值 4)布尔假值 5)函数可以返回布尔值 6)练习题 一、Python布尔值 布尔值表示两个值之一: True或False。在编程中,您经常需要知道表达式是否为 True或False。举一些例子就明白了。 1)比较 当…

C语言if else语句详解

前面我们看到的代码都是顺序执行的,也就是先执行第一条语句,然后是第二条、第三条……一直到最后一条语句,这称为顺序结构。 但是对于很多情况,顺序结构的代码是远远不够的,这时我们就要使用判断语句即if else语句。 …

数学建模学习笔记(十二)——奇异值分解

文章目录一、综述二、奇异值分解三、使用SVD进行降维四、SVD的评价及应用一、综述 奇异值分解是线性代数中一种重要的矩阵分解方法,它在图形的压缩等方面具有重要的意义及作用。 二、奇异值分解 三个引理: AB 和 BA 非零的特征值完全相同;…

python基础入门(5)之运算符

目录 一、python运算符 1)算术运算符 2)赋值运算符 一、python运算符 1)算术运算符 自己赋值粘贴运行下就懂了! 加减法:( -) a2 b3 ca-b da-b print(c,d)乘除法:(* /) a(50-5*6)/4 print(…

Python实例 61,62

61.题目:打印出杨辉三角形 程序设计: 第一步:先找规律,抽象化问题: 首先我们观察到,第一行为[1],我们直接赋给一个变量:初始化数列 p [1] 其次我们观察到,下面的每一…

C语言逻辑运算符详解

情景模式&#xff1a;现在研发出了一款新的软件&#xff0c;要求使用者必须成年&#xff0c;并且成绩大于等于60&#xff0c;该怎么办呢&#xff1f; 或许你会想到使用嵌套的 if 语句&#xff0c;类似下面这样的代码&#xff1a; #include <stdio.h> int main() {int a…

Python实例 63,64

目录 63.题目&#xff1a;画椭圆 1.tkinter画椭圆 2.turtle画椭圆 64.题目&#xff1a;利用ellipse 和 rectangle 画图 63.题目&#xff1a;画椭圆 1.tkinter画椭圆 #63 from tkinter import * x 360 y 160 top y - 30 bottom y - 30canvas Canvas(width 500,height …

HTML学习笔记(一)

HTML5语法 文档类型 DOCTYPE声明文档类型 &#xff0c;必须位于第一行。 DOCTYPE不区分大小写以及单双引号。 DOCTYPE会触发浏览器以标准模式显示页面。 <!DOCTYPE HTML>字符编码 HTML5中简化了字符编码的写法&#xff0c;直接用 meta 即可 <meta charset "UTF-…