数学建模笔记-第七讲-回归分析

本文详细讲解了回归分析中的线性回归,内生性问题的识别与处理,蒙特卡罗模拟验证,以及如何通过虚拟变量和控制变量弱化内生性。介绍了四种模型的回归系数解释,涉及定性数据处理和异方差问题的解决策略。通过奶粉案例和Stata操作演示了回归分析的实际应用。
摘要由CSDN通过智能技术生成

回归分析

  • 不同回归分析

  • 不同数据类型

线性回归介绍

  • 拟合和回归
    • 本质是一样的,换了个说法
    • 都是用最小二乘法估计参数,拟合值等同于回归的预测值

  • 线性:线性假定并不要求初始模型都呈现上述的严格线性关系,自变量与因变量可通过变量替换而转换为线性模型
    • 把lnx当成新的自变量,把x^2当成新的自变量等等
    • 使用时先看用那种模型,再进行数据预处理
      • excel小技巧:单元格右下角双击,自动填充列

回归系数

  • 遗漏变量(与y有关的变量)会导致内生性,导致回归系数估计不满足无偏性和一致性
  • 无偏性:估计值的均值就是真实值
  • 一致性:只要样本足够大,就能使估计值收敛到真实值
  • tips:多元回归两种写法都可以,一种是从样本的角度写的,一种比较简洁
  • 外生性:误差项与所有x不相关

内生性探究

探究内生性是否会影响估计的无偏性与一致性

计算模型误差项μ与自变量的相关系数

相关系数与真实的β相差大,则内生性越严重

用一个一元线性回归来估计应该为二元的线性模型(遗漏一个变量)

  • 如果估计出来的k与2相差大,则说明不满足无偏性
  • 误差项μ与变量x1的相关系数与真实的k(2)相差大,则内生性越严重
  • 图中可以看出,相关系数为0时,模型算出的k为2。当相关系数越来越大时,估计出来的k越来越不准确

蒙特卡罗代码

所谓蒙特卡罗就是自己模拟一些数据,来进行验证

x2本来应该是包含在自变量中的,但我们模拟的是遗漏了x2的情况,所以x2是存在在模型的误差项中,为了使模拟更真实,在x2与x1有一定关系的情况下再增添加一个随机,使x2与x1相关不明确

%% 蒙特卡洛模拟:内生性会造成回归系数的巨大误差
times = 300;  % 蒙特卡洛的次数
R = zeros(times,1);  % 用来储存扰动项u和x1的相关系数
K = zeros(times,1);  % 用来储存遗漏了x2之后,只用y对x1回归得到的回归系数
for i = 1: times
    n = 30;  % 样本数据量为n
    x1 = -10+rand(n,1)*20;   % x1在-10和10上均匀分布,大小为30*1
    u1 = normrnd(0,5,n,1) - rand(n,1);  % 随机生成一组随机数
    x2 = 0.3*x1 + u1;   % x2与x1的相关性不确定, 因为我们设定了x2要加上u1这个随机数
    % 这里的系数0.3我随便给的,没特殊的意义,你也可以改成其他的测试。
    u = normrnd(0,1,n,1);  % 扰动项u服从标准正态分布
    y = 0.5 + 2 * x1 + 5 * x2 + u ;  % 构造y
    k = (n*sum(x1.*y)-sum(x1)*sum(y))/(n*sum(x1.*x1)-sum(x1)*sum(x1)); % y = k*x1+b 回归估计出来的k
    K(i) = k;
    u = 5 * x2 + u;  % 因为我们回归中忽略了5*x2,所以扰动项要加上5*x2
    r = corrcoef(x1,u);  % 2*2的相关系数矩阵
    R(i) = r(2,1);
end
plot(R,K,'*')
xlabel("x_1和u'的相关系数")
ylabel("k的估计值")

弱化无内生性条件

设置核心解释变量以及控制变量

  • 核心解释变量:我们最关注的,要求其系数一致估计
  • 控制变量:只是为了控制影响核心解释变量的因素,将他们放入自变量,就会让扰动项与核心解释变量不相关

四种模型

回归系数的解释

写论文时可以区分出核心解释变量与控制变量,重点放在核心解释变量上面

  • 取对数怎么解释(经济学中的经验法则)

四种模型回归系数的解释




多个自变量加一句:在其他变量不变的情况下

虚拟变量

除了关注δ的正负,还要专注其显著性,证明其显著差异(不为0)

括号里的(0.26)叫做标准误,用于T检验

多分类的虚拟变量设置


每次最多只有一个虚拟变量为1

含交互项的自变量

因变量可能受到两种自变量交互效应的影响

显著>0 交互效应正向

显著<0 交互效应负向

应用题(奶粉例题)

只做简单记录

  • excel
  1. 全选,插入,创建表(表包含标题),可以进行按列的筛选
  • stata
  1. 调用上一次的命令
  2. 导入数据:导入->excel文件->第一行为变量名
  3. 导入数据:代码import…
  4. 代码文件后缀.do

数据的描述性统计

定量数据
  • Summarize/sum
  • 变量直接双击就能选中
  • 写入论文:选中表格后,右键复制表格,在excel中转成三线表

定性数据
  • tabulate/tab

  • Gen()产生相应的虚拟变量

  • 点数据编辑器,分为编辑和浏览,这里选择浏览就行

  • 查看数据

  • 资料中regress_stata.do可以复习所有代码

  • 产生很多统计表

  • 可以画图

  • 可以交互分析

指标总体情况介绍

一个总结,放在论文中给评委看的

开始回归

方差分析表

H0:联合显著性检验

  • 如果不能拒绝原假设(H0)则说明回归无法进行,算出来的系数都是0,没有意义

  • P值(Prob>F):<0.05拒绝原假设

在回归问题中我们看 adj R-squared(调整后R的平方)

  • 论文中加上这一段话

  • 后面会有解释

回归系数表

  • 第一列是估计出来的回归系数
  • 第二列是估计出来回归系数的标准误差
  • 第一列/第二列是t检验统计量(具体证明不细讲)
  • 第四列对回归系数(原来的贝塔,没有hat)进行显著性检验。H0:β=0
    • 这里商品毛重虽然有2410,但没通过显著性检验,跟0没有区别,不考虑
  • 第五列:区间估计
加入虚拟变量回归

对于分类变量,只能用虚拟变量进行回归

  • 消除多重共线性(自动忽略G4)note: G4 omitted because of collinearity

  • 生成的虚拟变量个数是分类变量-1,将其中一个作为对照组,其他的跟对照组比较

  • 如果全部引入,则会有完全多重共线性的影响

解读:

  • 先不考虑显著性的情况下
  • 其他变量不变,G1的评价量平均要比G4的评价量低7595
  • G2的评价量平均要比G4的评价量低10487
加入所有需要的变量

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

  • 首先先看p值,通过了联合显著性检验,说明线性模型是有意义的

  • 看回归系数

    • 看显著性,满足显著性检验的才要关注,其他不考虑
    • 这里团购价元和F1是可以满足的
    • -29,在其他自变量不变的情况下,团购价元每增加1元,评价量少29
    • 14483,在其他自变量不变的情况下,牛奶粉的评价量平均比羊奶粉高出14483

  • 下载一个插件
  • 第一个回归
// 下面进行回归
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 G4
est store m2
reg2docx m2 using m2.docx, replace

结果表很长,(字体处理同上),将A1、A2等虚拟变量,变成汉字。放入附录中,正文里解释一下回归系数等等

拟合优度低

我们这里一半用作解释型回归,预测有其他方法

标准化回归系数

将数据进行标准化(减均值,除标准差),再进行回归

这样得到的标准化回归系数才可以比较不同自变量的影响程度

  • stata标准化回归命令
  • 后面加beta

看回归系数绝对值进行比较

锐评一篇问题论文

  1. 论文里对数据做了归一化处理。错误,归一化之后回归系数不好解释。文中没有告诉我们哪个回归系数是显著的,以及回归系数的意义

  2. 回归系数的区间估计包含原点,结果不满意是正确的。区间估计最好不包括0才能更好系数异于0

    • 论文中因为相关系数低就添加什么平方,是错误的。因为没有解释为什么就加了平方。

    • 而且,论文研究的是什么因素影响大学数学期末成绩,是解释型回归,而不是预测型回归。并不足需要拟合优度越高越好。

    • 班干与否x3是个分类变量,x3平方跟x3一回事,不知道平方干啥

    • 论文的结果有问题
    • 我们用stata计算标准回归系数。更具显著性水平可以看到,平时成绩高考总分显著影响期末成绩
    • 其中,平时成绩的标准回归系数为0.82,高考成绩的标准回归系数为-0.23。
    • 说明平时成绩影响更大

学习好论文





文献综述(略)

数据说明

    • 前两个是y(因变量)
    • 借款金额取对数(好处见前文,经济学知识)
    • 月收入直接标为定性数据,(为什么不是按数字定量呢)因为平台按比如0~3000,3000~5000分类,干脆直接转为定性

描述性统计

    • excel
    • 数据分析工具-描述统计
    • excel-数据透视表
    • 成功率:success列求和项/success列计数项
    • 违约率同理
    • 作图:变成表格,升序,图表
    • 根据图可以看出,成功率与违约率存在较大差异,可能存在地域歧视现象

模型1

这个表看起来太费劲,得不出什么,进行可视化处理

有实心标记的是回归系数显著的

含义:控制了其他变量后,其他这些省份借款成功率和内蒙古存在显著差异

  • stata操作
  • 回归结果
  • test联合检验,发现显著性,存在地域歧视

模型2

  • 如何excel做出这个图
    • 数据透视表-年龄-计数项。统计出每个年龄样本数
    • 直方图美化-柱子调宽(分类间距减小)-图表放入ppt添加竖线箭头文本等

模型3

得到两组回归系数,计算两组的相关系数,发现不存在显著相关关系。

稳健性检验

  • 怎么做出这个图

  • 资料里有模版

  • 填入数据、修改图例和分档、开始填色

  • 右键复制粘贴

改变研究对象

其他控制变量回归系数差不多

改变计量方法

本文主要是解释型回归而不是预测型,所以用ols回归没问题

可以用probit回归或逻辑回归

加入其他控制变量


结论、建议、不足


异方差问题

  • 有n个样本,就有n个扰动项,当成一个列向量μ。
    • 每一个样本的y都不可能就是在只跟自变量x有关的规律上的
    • 每一个样本都会有x无法解释的部分,就是扰动项
  • μ的条件方差是一个协方差矩阵
  • 这里i不等于j的时候,协方差为0。没有自相关
  • 无自相关指的是扰动项之间没有相关性,相关系数为0。
  • 同方差指的是每一个扰动项的协方差是相通的
  • 满足这两个条件的就是球型扰动项

下面探究是否出现异方差现象和如何解决

  • 最严重的问题是不能假设检验,无法说明回归系数是否显著
  • 图中就说明随x增大,方差再增大
  • 解决1:使用稳健的标准误
    • t统计量=估计的回归系数/对应的标准误差
    • 修正标准误
  • 解决2:广义最小二乘
    • 给方差小的数据,包含信息越多,给予更多的权重
    • OLS里面是残差平方和min∑(u_hat)^ 2最小,可以给不同的u_hat不同的权重

检验异方差

  • 残差图

  • 拟合值与残差

  • 自变量x与残差

  • 通过波动可以看出上述两图均存在异方差现象

    Tips:两个命令有一个字母不同

    stata保存图片:graph export 图片名,replace

通过图形,拟合值出现负数

  • summarize命令+可选项d会
  • summarize 平价量,d
  • 得到下面表
    • 第一列可以得出75%品牌平价量小于1109,均值为15800
    • 第二列是全部样本最小的四个值与最大的(不重要)
  • 由此可以看出分布分厂不均匀,是拟合值为负数的原因

BP检验与怀特检验,严谨

BP检验

不要求数学证明

BP检验可以看作怀特检验的特例,怀特检验适用范围更广

  • 卡方分布统计量(自由度为k-1)
  • 拒绝原假设(不存在异方差)
怀特检验

一般都可以用

自由度与bp检验不同

在回归前进行检验,更加严谨,在论文中不会被挑毛病

一些笔记

异方差处理办法

往往用第一种办法,可以把2011年这句话加入论文中,然后用第一种办法

命令就是+robust/r

p值就是用稳健的标准误求出来的p值,相比之前有更多的显著的自变量,得出来的结论越多

多重共线性问题

  • 主要关注多重共线性的症状
    • 总体很好,但单个系数太检验不显著或者估计值不合理
    • 增减解释变量使系数估计值较大变化

  • k\m指k个变量去掉第m个

  • 其实多重共线性不是很重要理由如下。
  • 真遇到了要处理的话也只能删除VIF>10的解释变量

逐步回归

stata实现

  • 要先回归测试哪些变量存在多重共线性
  • 然后手动删除这些变量,再进行逐步回归

向前逐步回归

向后逐步回归

注意点

  • 向前向后两种逐步回归结果可能不同
  • 正式发论文中最好不要用逐步回归,因为存在内生性问题。在数学建模中没有那么严谨的情况下还是可以用的。
  • 可以剔除多重共线性的影响

本笔记来自清风老师的数学建模,强烈推荐该课程!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丸丸丸子w

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值