数学建模—多元线性回归分析(+lasso回归的操作)

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

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

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

回归的思想:

第一个关键词:相关性

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

第二个关键词:Y

第三个关键词是:X

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

回归分析的使命:

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

 

数据的分类:

  1. 横截面数据

     

     2. 时间序列数据:

    3. 面板数据

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

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

    一元线性回归:

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

  4. 对于线性的理解:

    回归系数的解释:

    关于内生性的探究:

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

    内生性的蒙特卡洛模拟:

    Matlab实操:

     

    核心解释变量和控制变量

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

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

    回归系数的解释:

    什么时候取对数?

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

     

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

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

     

    多分类的虚拟变量:

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

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

    第五部分:案列引入

    Stata软件的介绍:

    文件导入:

     

    Stata中一些函数的作用:// 按键盘上的PageUp可以使用上一次输入的代码(Matlab中是上箭头)// 清除所有变量clear// 清屏 和 matlab的clc类似cls// 导入数据(其实是我们直接在界面上粘贴过来的,我们用鼠标点界面导入更方便 本条请删除后再复制到论文中,如果评委老师看到了就知道这不是你写的了)// import excel "C:\Users\hc_lzp\Desktop\数学建模视频录制\第7讲.多元回归分析\代码和例题数据\课堂中讲解的奶粉数据.xlsx", sheet("Sheet1") firstrowimport 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 m1reg2docx 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

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

    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中的逐步回归分析的实现:

 

 

 

完全多重共线性的错误:

更新:

Lasso回归

由于数据中的一些自变量会导致模型出现共线性,所以利用Losso回归将一些不重要的自变量剔除掉。

 

Losso回归的实现我们利用stata操作:

 

我们拿棉花产量估计作为案例

 

对于自变量量纲不同,需要标准化。

Stata中将数据标准化的函数为:egen 重命名 = 需要标准化的自变量。(本案例的量纲相同,只是举如何标准化例子)

 

如何用stata进行lasso回归呢?

 

最后stata会生成一个数据表,和一个表格。

数据表解析:

数据表中带*的表示λmin,MSPEmin。即我们最小调参数

 

表格分析:

Selected表示核心自变量

Lasso表示Lasso估计的x系数与估计值。

Past-est OLS:标准多元线性回归的x系数与估计值。

Lasso只帮助我们剔除可能会产生多重共线性的自变量xi,在生成多元线性回归模型时我们仍选择标准多元回归模型的参数。

注意:seed后随意数的不同,核心变量也会相对发生改变。

 

Lasso回归使用:帮助我们在对数据建立多元线性回归模型时筛选出不重要的变量。

步骤:1.判断自变量量纲是否一样,若不一样需要标准化预处理

2.对变量使用lasso回归,系数不为0的变量即要留下的重要变量。

 

 

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

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

相关文章

基于ffmpeg与SDL的视频播放库

由于工作需要&#xff0c;自己封装的基于ffmpeg的视频编解码库&#xff0c;显示采用了SDL库。可以播放本地文件或网络流&#xff0c;支持多端口播放&#xff0c;支持文字叠加&#xff0c;截图、视频录制等等。 头文件代码&#xff1a; #pragma once #ifdef __DLLEXPORT #defin…

如何用正确的姿势监听Android屏幕旋转

作者&#xff1a;37手游移动客户端团队 背景 关于个人&#xff0c;前段时间由于业务太忙&#xff0c;所以一直没有来得及思考并且沉淀点东西&#xff1b;同时组内一个个都在业务上能有自己的思考和总结&#xff0c;在这样的氛围下&#xff0c;不由自主的驱使周末开始写点东西&…

antv/l7地图,鼠标滚动,页面正常滑动-- 我们忽略的deltaY

背景 在官网项目中&#xff0c;需要使用一个地图&#xff0c;展示产品的分布区域及数量。希望的交互是&#xff0c;鼠标放上标点&#xff0c;tooltip展示地点和数量等信息。鼠标滚动&#xff0c;则页面随着滚动。但是鼠标事件是被地图代理了的&#xff0c;鼠标滚动意味着地图的…

【vue3】基础知识点-computed和watch

学习vue3&#xff0c;都会从基础知识点学起。了解setup函数&#xff0c;ref&#xff0c;recative&#xff0c;watch、computed、pinia等如何使用 今天说vue3组合式api&#xff0c;computed和watch 在vue3中&#xff0c;computed和watch仍然是非常有用的特性&#xff0c;帮助处…

JavaWeb学习|JSP相关内容

1.什么是JSP Java Server Pages: Java服务器端页面&#xff0c;也和Servlet一样&#xff0c;用于动态Web技术! 最大的特点: 。写JSP就像在写HTML 。区别: 。HTML只给用户提供静态的数据 。JSP页面中可以嵌入JAVA代码&#xff0c;为用户提供动态数据 JSP最终也会被转换成为一…

Android数据存储选项:SQLite、Room等

Android数据存储选项&#xff1a;SQLite、Room等 1. 引言 在移动应用的开发过程中&#xff0c;数据存储是至关重要的一环。无论是用户的个人信息、设置配置还是应用产生的临时数据&#xff0c;都需要在设备上进行存储以便随时访问。随着移动应用的日益发展&#xff0c;数据存…

springboot-mybatis的增删改查

目录 一、准备工作 二、常用配置 三、尝试 四、增删改查 1、增加 2、删除 3、修改 4、查询 五、XML的映射方法 一、准备工作 实施前的准备工作&#xff1a; 准备数据库表 创建一个新的springboot工程&#xff0c;选择引入对应的起步依赖&#xff08;mybatis、mysql驱动…

Flowable-网关-事件网关

目录 定义图形标记XML内容使用示例视频教程 定义 通常网关根据连线条件来决定后继路径&#xff0c;但事件网关不同&#xff0c;它提供了根据事件做选择的方式。 事件网关的每个外出顺序流都需要连接至一个捕获中间事件。当流程执行到达事件网关时&#xff0c;网关类 似处于等待…

【阻止IE强制跳转到Edge浏览器】

由于微软开始限制用户使用Internet Explorer浏览网站&#xff0c;IE浏览器打开一些网页时会自动跳转到新版Edge浏览器&#xff0c;那应该怎么禁止跳转呢&#xff1f; 1、点击电脑左下角的“搜索框”或者按一下windows键。 2、输入“internet”&#xff0c;点击【Internet选项…

Python Opencv实践 - 在图像上绘制图形

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png") print(img.shape)plt.imshow(img[:,:,::-1])#画直线 #cv.line(img,start,end,color,thickness) #参考资料&#xff1a;https://blog.csdn.ne…

百度智能云“千帆大模型平台”最新升级:接入Llama 2等33个模型!

今年3月&#xff0c;百度智能云推出“千帆大模型平台”。作为全球首个一站式的企业级大模型平台&#xff0c;千帆不但提供包括文心一言在内的大模型服务及第三方大模型服务&#xff0c;还提供大模型开发和应用的整套工具链&#xff0c;能够帮助企业解决大模型开发和应用过程中的…

04-2_Qt 5.9 C++开发指南_SpinBox使用

文章目录 1. SpinBox简介2. SpinBox使用2.1 可视化UI设计2.2 widget.h2.3 widget.cpp 1. SpinBox简介 QSpinBox 用于整数的显示和输入&#xff0c;一般显示十进制数&#xff0c;也可以显示二进制、十六进制的数&#xff0c;而且可以在显示框中增加前缀或后缀。 QDoubleSpinBox…

stl_list类(使用+实现)(C++)

list 一、list-简单介绍二、list的常用接口1.常见构造2.iterator的使用3.Capacity和Element access4.Modifiers5.list的迭代器失效 三、list实现四、vector 和 list 对比五、迭代器1.迭代器的实现2.迭代器的分类&#xff08;按照功能分类&#xff09;3.反向迭代器(1)、包装逻辑…

嵌入式开发学习(STC51-9-led点阵)

内容 点亮一个点&#xff1b; 显示数字&#xff1b; 显示图像&#xff1b; LED点阵简介 LED 点阵是由发光二极管排列组成的显示器件 通常应用较多的是8 * 8点阵&#xff0c;然后使用多个8 * 8点阵可组成不同分辨率的LED点阵显示屏&#xff0c;比如16 * 16点阵可以使用4个8 *…

【Linux命令详解 | less命令】Linux系统中用于分页显示文件内容的命令

文章标题 简介一&#xff0c;参数列表二&#xff0c;使用介绍1. 分页显示文件内容2. 搜索关键词3. 显示行号4. 显示特定内容5. 只显示匹配行6. 忽略大小写搜索7. 输出到文件8. 动态查看文件增长9. 开启对二进制文件的支持10. 显示控制字符11. 忽略键盘输入12. 显示百分比进度条…

001-Spring boot 启动内置Web容器分析

目录 代码入口上下文容器 加载web容器 代码入口 上下文容器 SpringApplication.run(App.class); //追踪下去发现 context createApplicationContext();createApplicationContext()&#xff1a; return this.applicationContextFactory.create(this.webApplicationType);这里…

python 封装sql 增删改查连接MySQL

select * from Teacher limit 10 连接字符串配置MysqlConfig.py class MysqlConfig:HOST 192.168.56.210PORT 3306USER rootPASSWORD 1qaz0987654321DBStudentDBCHARSET utf8封装增删改查MysqlConnection.py Author: tkhywang 2810248865qq.com Date: 2023-06-19 15:44:48 Las…

使用MIT Kerberos Ticket Manager在windows下浏览器访问hadoop页面

Author : Spinach | GHB Link : http://blog.csdn.net/bocai8058文章目录 前言准备配置说明安装Firefox浏览器安装MIT Kerberos Ticket Manager客户端配置krb5.ini文件配置MIT Kerberos Ticket Manager客户端配置Firefox浏览器代理参数 访问WebUI 前言 kerberos是一种计算机…

linux 查看磁盘大小 内存 目录下各目录大小

查看当前服务器挂在的磁盘大小及已使用、可使用、使用占比、磁盘对应的目录等 df -TH 查看当前目录下 各子目录或文件的大小&#xff1a;右边是目录或文件名&#xff0c;左边是占用的大小 du -sh * 使用 rm命令删除目录或文件&#xff1a;删了数据找不回来&#xff0c;&#x…

【二叉树】105. 从前序与中序遍历序列构造二叉树

链接: 105. 从前序与中序遍历序列构造二叉树 先序 能够确定谁是根 中序 知道根之后&#xff0c;能够确定左子树和右子树的范围 例子 根据先序的性质&#xff08;根左右&#xff09;&#xff0c;能够确定根&#xff0c;我们就能够从总序中找出根节点&#xff08;rooti所在…