横截面数据回归

横截面数据回归

一些笔记

观测值一定要比参数值多
p值<0.05,拒绝H0.
参数显著,不能说明模型对
AIC与BIC准则,越小越好的指标值AIC
回归分析一定要进行残差的正态性检验。所有的残差都大于0,小于0,都不正常。残差正常应该是分布在0的附近,有正有负,它应该是随机的
残差的正态性检验:检验统计量,是否复合正态分布,QQ图检验正态性
经验分布函数与生存分析函数是相反的
多重共线性:
1.判断是否存在多重共线性VIF>10即存在多重共线性

实验

公路一氧化碳数据

数据:
image

先进行一般的回归,假定残差服从正态分布,也是最简单的线性回归,我们先拟合看一看效果怎么样。
C O = β 0 + β 1 H o u r + β 2 T r a f f i c + β 3 W i n d + ε CO = \beta_0+\beta_1Hour+\beta_2Traffic+\beta_3Wind+\varepsilon CO=β0+β1Hour+β2Traffic+β3Wind+ε
以最小二乘法拟合,得到参数估计值
代码:

w <- read.table("D:/cofreewy.txt",header = TRUE)
head(w)
a=lm(CO~.,w)#利用3个自变量做线性回归
summary(a)#展示结果
b=step(a,direction="backward")#逐步回归
summary(b)#展示逐步回归结果

image

由此可以看出,我们拟合的模型是:
C O = 1.274 + 0.018 ∗ T r a f f i c + 0.175 ∗ W i n d CO = 1.274+0.018*Traffic+0.175*Wind CO=1.274+0.018Traffic+0.175Wind
由此可以看出,我们拟合的模型是:
C O = 1.274 + 0.018 ∗ T r a f f i c + 0.175 ∗ W i n d CO = 1.274+0.018*Traffic+0.175*Wind CO=1.274+0.018Traffic+0.175Wind

  • R 2 R^2 R2表示线性回归模型中自变量X解释的响应变量y的变化比例.
  • R 2 R^2 R2越大,说明自变量X对响应变量y的解释越强.

这个模型在统计意义上已经不能说明模型对,因为残差是否满足正态分布,我们还不知道,毕竟回归的前提是假设残差满足正态分布。
我们再来看一下残差的分布情况,看看它是否服从正态分布。

shapiro.test(b$res)#做残差的正态性检验

image

我们可以看出p值>0.05,不拒绝原假设(注意:不是接受原假设,是不拒绝原假设),我们可以假设残差服从正态分布。
但这样是不是就好了,这就是最好的模型呢?

qqnorm(b$res);qqline(b$res)#做残差的QQ图.

image
这种线性回归,首先是假定了它的残差是服从正态分布,模型建出来之后,通过QQ图检验它的残差是否真的服从正态分布,那如图所示,如果没有很好的服从或者渐进服从正态呢?怎么办?

注意:在小样本情况下p值0.05的界限不能完全诠释模型优劣
重新拟合,不用线性,用非线性

在此之前让我们先看一看各个属性之间的关系是什么,绘制散点图看一看。

attach(w) #把变量名字放入内存
par(mfrow=c(2,3)) #建立6个图的摆放模式
plot(CO~Traffic);plot(CO~Hour);plot(CO~Wind)
plot(Traffic~Hour);plot(Wind~Hour);plot(Traffic~Wind)
# 也可以直接plot(w),用一行代码直接绘制所有属性的关系。

image
这样就很清楚了,那两个变量之间需要线性关系,那两个之间需要非线性关系,一目了然。
我们可以清晰的看到线性、三角函数,那那个既非线性又非三角函数的周期函数呢?用傅里叶级数。

法国数学家傅里叶认为,任何周期函数都可以用正弦函数和余弦函数构成的无穷级数来表示(选择正弦函数与余弦函数作为基函数是因为它们是正交的),后世称傅里叶级数为一种特殊的三角级数,根据欧拉公式,三角函数又能化成指数形式,也称傅立叶级数为一种指数级数。

# 计算相关系数
cor(cbind(CO,Traffic,Tsq=Traffic^2,Tcub=Traffic^3,Hour,Hsq=Hour^2,Hcub=Hour^3,Wind,Wsq=Wind^2,Wub=Wind^3))

注:cbind()函数是R语言中用于合并数据框的函数,它可以将多个数据框按照列合并。
image

# 回归
lm2 <- lm(CO~Traffic+Wind+I(Wind^2)+I(Wind^3)+sin((2*pi/24)*Hour)+cos((2*pi/24)*Hour)+sin((4*pi/24)*Hour)+cos((4*pi/24)*Hour))
summary(lm2)
lm3<- step(lm2)
summary(lm3)
anova(lm3)
shapiro.test(lm3$res)
# 去掉不显著的重新拟合
lm4 <- lm(CO~Traffic+Wind+I(Wind^2)+cos((2*pi/24)*Hour)+cos((4*pi/24)*Hour))
summary(lm4)
anova(lm4)
shapiro.test(lm4$res)
qqnorm(lm4$res)
qqline(lm4$res)

image

最后的拟合模型为:
C O = 1.38 + 0.017 ∗ T r a f f i c + 0.459 ∗ W i n d − 0.057 W i n d 2 − 0.366 c o s ( ( 2 ∗ p i 24 ) ∗ H o u r ) + 0.38 c o s ( ( 4 ∗ p i 24 ) ∗ H o u r ) + ε CO = 1.38+0.017*Traffic+0.459*Wind-0.057Wind^2-0.366cos((\frac{2*pi}{24})*Hour)+0.38cos((\frac{4*pi}{24})*Hour)+\varepsilon CO=1.38+0.017Traffic+0.459Wind0.057Wind20.366cos((242pi)Hour)+0.38cos((244pi)Hour)+ε

注:其中 ε \varepsilon ε表示残差,即 C O i − C O ^ i CO_i-\hat{CO}_i COiCO^i
注意 R 2 R^2 R2,此模型要更好


总结:

  1. 线性回归模型中,如果残差服从正态分布,则可以认为模型是合理的。
  2. P值不是万能的,好的模型还是要不断试一试才能出来。
  3. 回归是否有意义,还是要放在实际背景中去看

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

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

相关文章

scikit-learn超参数调优 (自动寻找模型最佳参数) 方法

网格搜索&#xff08;Grid Search&#xff09;&#xff1a; 原理&#xff1a;网格搜索通过预定义的参数组合进行穷举搜索&#xff0c;评估每一种参数组合的性能&#xff0c;选择性能最佳的参数组合。实现&#xff1a;使用GridSearchCV类。示例代码&#xff1a;from sklearn.mod…

小学校园“闲书”交易平台的设计与实现-计算机毕业设计源码04282

小学校园“闲书”交易平台的设计与实现 摘 要 小学校园“闲书”交易平台是为了解决小学生之间的书籍交流和阅读兴趣培养而设计的。该平台通过使用现代技术手段&#xff0c;如移动应用开发和互联网技术&#xff0c;构建了一个功能齐全的交易平台。平台支持用户注册与登录&#x…

应用于空气和液体抑菌的静态UVC LED抑菌模组-WH-UVC001-VO

WH-UVC001-VO是一款用于空气和液体抑菌的静态UVC LED抑菌模组。适用于带水箱、密闭的腔体结构。可安装于顶部、侧壁及底部&#xff0c;出光面符合IP65的防水要求&#xff0c;即使安装于水箱底部也不用担心漏水。 使用的UVC LED的波长范围为260-280nm&#xff0c;具有优良高效的…

JavaScrip——switch类型

目录 任务描述 相关知识 严格相等 switch语句 编程要求 任务描述 北美五大湖的名称和面积如下&#xff1a; 名称面积(平方公里)Superior82414Huron59600Michigan58016Erie25744Ontario19554 本关任务&#xff1a;根据面积判断湖泊的名字。 相关知识 上一关讲解的是拥…

Java项目:基于SSM框架实现的网上医院预约挂号系统【ssm+B/S架构+源码+数据库+毕业论文】

一、项目简介 本项目是一套基于SSM框架实现的网上医院预约挂号系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简单、…

Linux静态库的制作

Linux操作系统支持的函数库分为&#xff1a; 静态库&#xff0c;libxxx.a&#xff0c;在编译时就将库编译进可执行程序中。 优点&#xff1a;程序的运行环境中不需要外部的函数库。 缺点&#xff1a;可执行程序大 动态库&#xff0c;又称共享库&#xff0c;libxxx.so&a…

解决Python爬虫开发中的数据输出问题:确保正确生成CSV文件

引言 在大数据时代&#xff0c;爬虫技术成为获取和分析网络数据的重要工具。然而&#xff0c;许多开发者在使用Python编写爬虫时&#xff0c;常常遇到数据输出问题&#xff0c;尤其是在生成CSV文件时出错。本文将详细介绍如何解决这些问题&#xff0c;并提供使用代理IP和多线程…

富格林:落实安全方略实现出金

富格林认为&#xff0c;投资其实是一个被缩小了的生活&#xff0c;身处投资世界的人们同样面临着恐惧和贪婪的驱使。假设投资者不懂得如何鉴别市场上的黑幕的话&#xff0c;就很容易落入陷阱当中导致不能安全出金。富格林总结了以下几点建议&#xff0c;希望能帮助投资者避免落…

【网络安全的神秘世界】SQL注入(下)

&#x1f31d;博客主页&#xff1a;泥菩萨 &#x1f496;专栏&#xff1a;Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 3.7 二次注入 不好挖这个漏洞&#xff0c;需要搞懂业务逻辑关系 二次注入通常是指在存入数据库时做了过滤&#xff0c;但是取…

解码AWS EC2:塑造云服务器新标杆的五大核心优势

在云计算领域&#xff0c;亚马逊弹性计算云&#xff08;Amazon Elastic Compute Cloud, 简称EC2&#xff09;作为AWS的明星服务&#xff0c;凭借其卓越的性能、灵活性和广泛的生态系统&#xff0c;已经成为企业构建云上基础设施的首选。EC2不仅仅是一个简单的云服务器租用服务&…

研发税优分析系统

1.Excel文档的读取于结构化 辅助帐&#xff1a; 数据格式化问题&#xff1a; 1)日期&#xff0c; "27-一月-2021" 需要转换&#xff0c;需确定格式(已解决) 2)种类&#xff0c; 3)凭证号&#xff0c; 2.0210100010153E13 需要转换&#xff0c;需…

sqlalchemy Lost connection to MySQL server during query

遇到 “Lost connection to MySQL server during query” 的错误通常与多种因素有关&#xff0c;这些因素可能包括网络问题、MySQL服务器配置、SQLAlchemy的使用方式等。以下是一些解决此问题的步骤和建议&#xff1a; 1. 检查网络连接 确保你的应用程序能够稳定地连接到MySQ…

mojo编程语言:开发者的新宠儿

Mojo是一种新兴的编程语言&#xff0c;正迅速成为AI开发者的热门选择。以下是一些关于Mojo的关键点&#xff1a; ### 1. 高性能 Mojo的设计目标是提供接近C和Rust等系统编程语言的性能&#xff0c;但同时保留Python的易用性。这使得AI开发者可以编写高效的代码&#xff0c;而不…

AI在软件开发:助力开发者还是取而代之?

在软件开发领域&#xff0c;生成式人工智能&#xff08;AIGC&#xff09;正逐步展现其巨大的潜力&#xff0c;成为开发者们不可或缺的助手。无论是代码生成、错误检测&#xff0c;还是自动化测试&#xff0c;AI工具都在为开发者们提供前所未有的支持。然而&#xff0c;随着AI技…

ERROR 2002 (HY000)

Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2) Redirecting to /bin/systemctl restart mysqld.service Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.serv…

“2024软博会” 为软件企业提供集展示、交流、合作一站式平台

随着全球科技浪潮的涌动&#xff0c;软件行业正迎来前所未有的发展机遇&#xff0c;成为了全球新一轮竞争的“制高点”&#xff0c;以及未来经济发展的“增长点”。在当前互联网、大数据、云计算、人工智能、区块链等技术加速创新的背景下&#xff0c;数字经济已经渗透到经济社…

设计模式简单示例

1. 设计模式 2. 设计模式分类 2.1. 命令模式 命令模式&#xff08;Command Pattern&#xff09;是一种行为型设计模式&#xff0c;又叫动作模式或事务模式。它将请求&#xff08;命令&#xff09;封装成对象&#xff0c;使得可以用不同的请求对客户端进行参数化&#xff0c;…

使用androidx.appcompat:appcompat:1.7.0无法运行的问题

问题&#xff1a; 使用 implementation ‘androidx.appcompat:appcompat:1.7.0’ 出现无法运行的问题&#xff0c;编译都没有问题 AGPBI: {“kind”:“error”,“text”:“java.lang.NullPointerException”,“sources”:[{“file”:“C:\Users\10557\.gradle\caches\transfor…

工控软件开发框架,GTK和QT好难选,快来拯救开发者。

工控软件开发框架如何选&#xff0c;有人喜欢GTK&#xff0c;有人钟意QT&#xff0c;而且每个人都有自己的一番道理&#xff0c;好像说的还都有理&#xff0c;这种情况该怎么办呢?大千UI工场带着你深入了解下。 一、GTK是什么 GTK&#xff08;GIMP Toolkit&#xff09;是一个…

【JavaWeb】利用IntelliJ IDEA 2024.1.4 +Tomcat10 搭建Java Web项目开发环境(图文超详细)

1、启动IntelliJ idea 2024.1.4 在欢迎页面&#xff0c;请确认好版本。因为不同的版本&#xff0c;搭建项目过程不太一样。 点击&#xff0c;新建项目。如图&#xff1a; 2、新建项目 在新建项目界面&#xff0c;选择java&#xff0c;在右侧信息模块内&#xff0c;根据个人情…