数学建模—多元线性回归分析

第一部分:回归分析的介绍

定义:回归分析是数据分析中最基础也是最重要的分析工具,绝大多数的数据分析问题,都可以使用回归的思想来解决。回归分析的人数就是,通过研究自变量X和因变量Y的相关关系,尝试去解释Y的形成机制,进而达到通过X去预测Y的目的。

常见的回归分析有五类:线性回归,0-1回归,定序回归,计数回归和生存回归,其划分的依据是因变量Y的类型。本讲我么你主要学习线性回归。

回归的思想:

 

第一个关键词:相关性

 

相关性!= 因果性,我们不能因为出两者有相关性就得出两者是由因果关系的。

 

第二个关键词:Y

 

第三个关键词是:X

 

0-1回归的例子(0-1回归的例子一般只有两个答案所以Y只有两个值来表示)

 

回归分析的使命:

 

第二部分:不同数据类型的处理方法

 

 

数据的分类:

  1. 横截面数据

     

     2. 时间序列数据:

    3. 面板数据

  2.  

  3.          不同数据类型的处理方法:

     

  4. 第三部分:对于线性回归的理解以及生性问题的研究

    一元线性回归:

    存在扰动项:yi-y^i=yi-B^0-B^1xi

     

  5. 对于线性的理解:

     

    回归系数的解释:

     

    关于内生性的探究:

    扰动项与所有的自变量不存在相关性的时候则模型具有外生性。因此我们需要对模型的自变量与扰动项求其相关性。

     

    内生性的蒙特卡洛模拟:

     

    Matlab实操:

     

     

    核心解释变量和控制变量

    对于我们想要求取的因素当作变量,其余的因素可以看作扰动项。

     

    第四部分:四种模型的解释,与你变量的设置以及交互项的解释

    回归系数的解释:

     

    什么时候取对数?

     

    四种模型的回归系数解释:

     

     

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

    对于定性变量我们可以用数字来进行表示如女性为1,男性为0.

     

     

    多分类的虚拟变量:

    为了避免完全多重共线性的影响,引入的虚拟变量的个数一般是分类数减1.

     

    还有交互项(两个自变量相乘)的自变量

     

    第五部分:案列引入

     

    Stata软件的介绍:

     

    文件导入:

     

     

    Stata中一些函数的作用:// 按键盘上的PageUp可以使用上一次输入的代码(Matlab中是上箭头)
    
    // 清除所有变量
    
    clear
    
    // 清屏 和 matlab的clc类似
    
    cls
    
    // 导入数据(其实是我们直接在界面上粘贴过来的,我们用鼠标点界面导入更方便 本条请删除后再复制到论文中,如果评委老师看到了就知道这不是你写的了)
    
    // import excel "C:\Users\hc_lzp\Desktop\数学建模视频录制\第7讲.多元回归分析\代码和例题数据\课堂中讲解的奶粉数据.xlsx", sheet("Sheet1") firstrow
    
    import excel "课堂中讲解的奶粉数据.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 G4
    
    est store m2
    
    reg2docx 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 G4
    
    rvfplot
    
    // 残差与拟合值的散点图
    
    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, r
    
    est store m3
    
    reg2docx m3 using m3.docx, replace
    
    
    
    // 计算VIF
    
    estat  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 = 团购价元 ^2
    
    generate interaction_term = 团购价元*商品毛重kg
    
    
    
    // (2) 修改变量名称,因为用中文命名变量名称有时候可能容易出现未知Bug
    
    rename 团购价元 price

     

  6. 案列中的各指标介绍:

     

    Stata中的回归语句:

     

    表中的Model对应SSR,Residual对应SSE,Total对应SST

    Df(自由度)那一列分别是:k,n-k-1,n-1。

    看prob若<0.1(假设为90%)通过。

    拟合优度较低怎么办:

     

    拟合出现负值的原因:

     

    标准化回归系数:

     

    Stata标准化回归命令:

     

     

    第六部分异方差多重共线性以及交互项的解释:

    扰动项要满足的条件:、

     

    异方差以及如何解决:

     

    检验异方差:

     

    拟合值出现负数的原因

    拟合值分布不均匀,R^2过小,出现负数。

     

异方差的假设性检验:

 

BP检验的结果:

 

怀特检验:

 

异方差的处理方法:

 

Stata中的OLS+稳健的标准误

 

多重共线性:

 

检验:

 

处理:

 

逐步回归分析

 

Stata中的逐步回归分析的实现:

 

 

 

 

 

完全多重共线性的错误:

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

医疗知识图谱问答 ——Neo4j 基本操作

前言 说到问答机器人&#xff0c;就不得不说一下 ChatGPT 啦。一个预训练的大预言模型&#xff0c;只要是人类范畴内的知识&#xff0c;似乎他回答得都井井有条&#xff0c;从写文章到写代码&#xff0c;再到解决零散琐碎的问题&#xff0c;不光震撼到我们普通人&#xff0c;就…

本地 shell无法连接centos 7 ?

1、首先检查是否安装ssh服务&#xff1b; yum list installed | grep openssh-server# 没有安装尝试安装下 yum install openssh-server 2、检查ssh服务是否开启 systemctl status sshd.service# 未开启&#xff0c;开启下 systemctl start sshd.service # 将sshd 服务添…

MySQL多表查询 (超详细)

一、多表关系 项目开发中&#xff0c;在进行数据库表结构设计时&#xff0c;会根据业务需求及业务模块之间的关系&#xff0c;分析并设计表结构&#xff0c;由于业务之间相互关联&#xff0c;所以各个表结构之间也存在着各种联系&#xff0c;基本上分为三种: 一对多&#xff0…

类与对象【中】

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;那个传说中的man的主页 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;题目大解析2 目录 &#x1f449;&#x1f3fb;类的默认6个成员函数&#x1f449;&#x1f3fb;构造…

常用HTML标签大全

&#x1f9d1;‍&#x1f4bb;作者名称&#xff1a;DaenCode &#x1f3a4;作者简介&#xff1a;啥技术都喜欢捣鼓捣鼓&#xff0c;喜欢分享技术、经验、生活。 &#x1f60e;人生感悟&#xff1a;尝尽人生百味&#xff0c;方知世间冷暖。 文章目录 一.HTML介绍二.HTML使用2.1.…

Ubuntu 23.04 作为系统盘的体验和使用感受

1.为啥主系统装了Ubuntu 由于公司发电脑了&#xff0c;我自己也有一台台式电脑&#xff0c;然后也想去折腾一下Ubuntu&#xff0c;就把自己的笔记本装成Ubuntu系统了&#xff0c; 我使用的是23.04的桌面版&#xff0c;带图形化界面的。我准备换回Windows 11了&#xff08;因为…

64 # 实现一个 http-server

准备工作 上一节实现了通过 commander 的配置获取到用户的参数&#xff0c;下面完成借用 promise 写成类的方法一节没有完成的任务&#xff0c;实现一个 http-server&#xff0c;https://www.npmjs.com/package/http-server&#xff0c;http-server 是一个简单的零配置命令行静…

pycharm打开terminal报错

Pycharm打开终端报错如何解决&#xff1f;估计是终端启动conda不顺利&#xff0c;需要重新设置路径。参考以下文章的做法即可。 Windows下Pycharm中Terminal无法进入conda环境和Python Console 不能使用 给pycharm中Terminal 添加新的shell&#xff0c;才可以使用conda环境 W…

HDFS中的Federation联邦机制

HDFS中的Federation联邦机制 当前HDFS体系架构--简介局限性 联邦Federation架构简介好处配置示例 当前HDFS体系架构–简介 当前的HDFS结构有两个主要的层&#xff1a; 命名空间&#xff08;namespace&#xff09; 由文件&#xff0c;块和目录组成的统一抽象的目录树结构。由n…

2配置篇:基础功能配置

前言 在上一章节中,我们学习了 NestJS CLI 的用法,得到了一套基础的项目工程。最开始做项目对比的时候也提到过,NestJS 作为一款自定义程度较高的框架,CLI 直接提供的基础功能虽然并不完善,但同时也为开发者提供了非常多的内置或配套的功能例如高速缓存、日志拦截、过滤器…

SocialFi 的开发中如何利用 NFTScan API 获取 NFT 数据

SocialFi 作为社交媒体与 Web3 的创新融合&#xff0c;致力于构建更加开放去中心化的社交平台。它赋能用户拥有数据控制权、实现内容价值&#xff0c;并通过代币经济建立起激励与治理机制&#xff0c;这正是 Web3 社交的独特魅力所在。SocialFi 为我们描绘了一个更加用户驱动、…

回顾 OWASP 机器学习十大风险

日复一日&#xff0c;越来越多的机器学习 (ML) 模型正在开发中。机器学习模型用于查找训练数据中的模式&#xff0c;可以产生令人印象深刻的检测和分类能力。机器学习已经为人工智能的许多领域提供了动力&#xff0c;包括情感分析、图像分类、面部检测、威胁情报等。 数十亿美…

《零基础入门学习Python》第076讲:GUI的终极选择:Tkinter13

这节课我们来学习 Tkinter 的布局管理器&#xff0c;那什么是布局管理器呢&#xff1f;说白了&#xff0c;就是用于管理你的组件如何排列。Tkinter 提供了 3 大布局管理器&#xff1a;pack、grid 和 place。 pack 是按添加顺序排列组件grid 是按行/列形式排列组件place 则允许…

秋招算法备战第37天 | 738.单调递增的数字、968.监控二叉树、贪心算法总结

738. 单调递增的数字 - 力扣&#xff08;LeetCode&#xff09; 这个问题是关于找到一个小于或等于给定数字n的最大单调递增数字。 我们可以将数字n转换为字符数组&#xff0c;然后从左到右扫描&#xff0c;寻找第一个违反单调递增条件的位置。一旦找到这样的位置&#xff0c;…

uni-app:实现列表单选功能

效果图&#xff1a; 核心解析&#xff1a; 一、 <view class"item_all" v-for"(item, index) in info" :key"index"><view classposition parameter-info text-over :classitem.checked?"checked_parameter":""…

在java中操作redis_Data

1.引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency> 2.配置Redis数据源 redis:host: ${sky.redis.host}port: ${sky.redis.port}password: ${sk…

驱动工作原理

驱动原理 在Linux操作系统中&#xff0c;硬件驱动程序中实现对硬件直接操作&#xff0c;而用户空间&#xff0c;通过通用的系统调用接口&#xff08;open() 打开相应的驱动设备,ioctl()控制相应的功能等&#xff09;&#xff0c;实现对硬件操作&#xff0c;应用程序没有直接操作…

EdgeBox_tx1_A200 PyTorch v1.9.0 环境部署

大家好&#xff0c;我是虎哥&#xff0c;今天远程帮助几个小伙伴在A200 控制器上安装PyTorch v1.9.0 torchvision v0.10.0&#xff0c;中间也是经历了很多波折&#xff0c;当然&#xff0c;大部分是网络问题和版本适配问题&#xff0c;所以完事后&#xff0c;将自己完整可用的过…

分布式Redis详解

目录 前言安装redis的俩种方法Redis 与 MySQL的区别Redis可以实现那些功能Redis常用的数据类型有序列表的底层是如何实现的?什么是跳跃表 Redis在Spring中的使用 前言 Redis我们最近学习必备工具之一了, 接下来我们将讲解Redis的简单应用 ,以及相关原理 安装redis的俩种方法…

20230802-下载并安装android-studio

下载 android-studio 安装包 https://developer.android.google.cn/studio/ 安装android-studio 双击安装包 D:\Android Studio