【数学建模】青少年犯罪问题 | 逐步回归分析法stepwise函数 | 残差分析rcoplot

这篇具有很好参考价值的文章主要介绍了【数学建模】青少年犯罪问题 | 逐步回归分析法stepwise函数 | 残差分析rcoplot。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、逐步回归分析法

1.1.逐步回归分析定义,最优回归方程

逐步回归分析(stepwise regression analysis),选择自变量以建立最优回归方程的回归分析方法。最优回归方程,指在回归方程中,包含所有对因变量有显著影响的自变量,而不包含对因变量影响不显著的自变量。过程是:按自变量对因变量影响效应,由大到小逐个把有显著影响的自变量引入回归方程,而那些对因变量影响不显著的变量则可能被忽略。另外,已被引入回归方程的变量在引入新变量后,其重要性可能会发生变化,当效应不显著时,则需要从回归方程中将此变量剔除。引入一个变量或从回归方程中剔除一个变量都称为逐步回归的一步。每一步都要进行F检验,以保证在引入新变量前回归方程中只含有对因变量影响显著的变量,而不显著的变量已被剔除。直到回归方程中所有变量都不能剔除而又没有新变量可以引入时为止,逐步回归过程结束。实际应用时,需要注重逐步回归分析跟自己研究假设之间的关联。由于运算过程比较复杂,可通过统计软件中的回归分析模块进行(从百度抄的的定义

简单的说,就是探究自变量对因变量的影响,有些自变量对因变量影响大,有些影响小。

1.2.stepwise函数介绍

stepwise逐步回归法,数学建模,算法,回归,大数据,数据分析
stepwise(X,y)属于比较常用的调用格式,其中X是自变量数据,是一个矩阵。y是因变量,是一个列向量。inmodel表示矩阵列数的指标,缺省时设定为全部自变量;

二、例题:青少年犯罪问题

2.1.题目简述

stepwise逐步回归法,数学建模,算法,回归,大数据,数据分析

2.2.问题一建模与求解

2.2.1 只存在两个因素时

首先拿到一组数据,我们首先画出他们的x-y图像,看看可能存在的关系。
代码如下(示例):

clc;
clear;
%自变量1:低收入家庭百分比
x1=[16.5 20.5 26.3 16.5 19.2 16.5 20.2 21.3 17.2 14.3 ... 
    18.1 23.1 19.1 24.7 18.6 24.9 17.9 22.4 20.2 16.9]; 
%自变量2:失业率
x2=[6.2 6.4 9.3 5.3 7.3 5.9 6.4 7.6 4.9 6.4 ...
    6.0 7.4 5.8 8.6 6.5 8.3 6.7 8.6 8.4 6.7]; 
%自变量3:总人口数
x3=[587 643 635 692 1248 643 1964 1531 713 749 ...
    7895 762 2793 741 625 854 716 921 595 3353];
%因变量:犯罪率
y=[11.2 13.4 40.7 5.3 24.8 12.7 20.9 35.7 8.7 9.6 ...
   14.5 26.9 15.7 36.2 18.1 28.9 14.9 25.8 21.7 25.7]; 
figure(1),plot(x1,y,'o'); 
xlabel('低收入家庭百分比'); ylabel('犯罪率');
figure(2),plot(x2,y,'o'); 
xlabel('失业率'); ylabel('犯罪率');
figure(3),plot(x3,y,'o'); 
xlabel('总人口数(千人)'); ylabel('犯罪率');

最后生成的结果如下:
stepwise逐步回归法,数学建模,算法,回归,大数据,数据分析
stepwise逐步回归法,数学建模,算法,回归,大数据,数据分析
stepwise逐步回归法,数学建模,算法,回归,大数据,数据分析
可以模糊看出,自变量1和自变量2和因变量存在一定“线性”关系,自变量3看不出来。
接下来进行逐步回归分析,这里考虑简单一点,只考虑 x1,x2,x3三个自变量存在的可能性,不考虑x1x2,x1x3,x2x3,x1^2等:(我只是想偷懒)

X=[x1',x2',x3']; %使用stepwise函数时,将自变量数据转置后组成矩阵
stepwise(X,y)

得到结果如下:
stepwise逐步回归法,数学建模,算法,回归,大数据,数据分析
操作这张图就能得到很多有效信息。可以点击“全部步骤”做完所有分析,也可以点击“下一步”一步步来。
图中最重要的信息是:Coeff(回归系数),截距,RMSE
RMSE越小,说明这个方法下模型越合理
下面看下操作就懂了。

当x1,x2成为自变量时(点击x1,x2那两条,蓝色即是被选中)
stepwise逐步回归法,数学建模,算法,回归,大数据,数据分析
此时回归方程为y=-34.0725+1.22393x1+4.39894x2

当x2,x3成为自变量时(点击x2,x3那两条)
stepwise逐步回归法,数学建模,算法,回归,大数据,数据分析
此时回归方程为y=-31.5996+7.35187x2+0.000826627x3

当x1,x3成为自变量时(点击x1,x3那两条)
stepwise逐步回归法,数学建模,算法,回归,大数据,数据分析
此时回归方程为y=-31.2152+2.59552x1+0.000419806x3

通过以上结果可以看到,x1,x2是自变量的时候,RMSE最小,为最优。
其中模型历史记录可以看到历次操作后的RMSE值:
stepwise逐步回归法,数学建模,算法,回归,大数据,数据分析

2.2.2 存在三个因素时

紧接着刚刚的逐步回归分析,如果我们把三个自变量都选中:
stepwise逐步回归法,数学建模,算法,回归,大数据,数据分析
可以看出,x3的回归系数很小,几乎为0,没啥用(此时工具箱也让我们移除x3),这时候我们考虑一下x1x2,x1x3,x2x3,x1^2等存在的可能性

X1=[x1',x2',x3',(x1.*x2)',(x2.*x3)',(x1.*x3)',x1'.^2,x2'.^2,x3'.^2]; 
stepwise(X1,y)

最后得到RMSE最小时(x1,x3,x2x3):
stepwise逐步回归法,数学建模,算法,回归,大数据,数据分析
此时回归方程为y=-13.7725+1.47538x1±0.0314395x3+0.00530496x2x3

2.3.问题二建模与求解

既然题目中说到了改进,比如剔除异常点,那我们就只剔除异常点吧(偷懒…)
检测回归的异常点,这不就是rcoplot函数的工作嘛。

2.3.1 rcoplot函数

rcoplot(r,rint)函数可以画出回归分析后的残差图,能辨别异常点(残差过大的点,红色的)。r是残差。一般和regress()一起使用。

2.3.2 解题

在数据代码后加上下面几句:

X2=[ones(20,1),x1',x2']; %回归的因子 1,x1,x2
[b,bint,r,rint,s]=regress(y',X2); %回归分析
rcoplot(r,rint)  %残差分析

结果如下:
stepwise逐步回归法,数学建模,算法,回归,大数据,数据分析
很明显第8组数据和18组数据出问题,应该剔除。

我们再看下三个因素时的情况:

X2=[ones(20,1),x1',x3',(x2.*x3)'];
[b,bint,r,rint,s]=regress(y',X2);
rcoplot(r,rint)

stepwise逐步回归法,数学建模,算法,回归,大数据,数据分析
18组数据出问题,应该剔除。文章来源地址https://www.toymoban.com/news/detail-582492.html

到了这里,关于【数学建模】青少年犯罪问题 | 逐步回归分析法stepwise函数 | 残差分析rcoplot的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 青少年软件编程C++一级真题(202212)

    1、输入一个整数x,输出这个整数加1后的值,即x+1的值。 时间限制:1000 内存限制:65536 输入 一个整数x(0 ≤ x ≤ 1000)。 输出 按题目要求输出一个整数。 样例输入 样例输出 2、给定整数a、b、c,计算(a / b)*c的值,这里的除法为实数除法。 时间限制:1000 内存限制:65536 输

    2024年02月09日
    浏览(35)
  • 青少年CTF训练平台 — CRYPTO通关WP

    vxshyk{g9g9g099-hg33-4f60-90gk-ikff1f36953j} 凯撒解码 cXNuY3RmezY4NjkwOGJjLTFiZjItNGMxOS04YTAxLWIyYzc3NjAwOTkyOH0= base64解码 4d4e4d4534354b5a474e4a47325a4c324b56354532563256504a4d585551544d4a524c554d32535a4b524958495453484c4a574532364a524e42485549524a554a524c564b3653324b354b5855574b554d3432453436535247424845514d4235 HEX —base32—base64 qsnctf{.----

    2024年02月05日
    浏览(44)
  • AR气象博物馆模拟体验提升青少年认知

    国际气象节主要目的是唤起人们对气象工作的重视和热爱。近年来,极端天气频发,人们需要提高警惕,AR气象远程普利用ar技术特有的沉浸式的体感互动,通过模拟演练提升体验者的安全防范意识和求生技巧。 系统结合VR虚拟现实、AR增强现实技术,详细解释风、云、雾等自

    2024年02月16日
    浏览(32)
  • 青少年CTF-Crypto(新手版本2.0)

    题目: lnixoa{1x2azz7w8axyva7y1z2320vxy6v97v9a} 知识点:凯撒加密 我的题解: 题目: 知识点:猪圈密码 我的题解: 题目: 知识点:大素数分解中求d 我的题解: 题目: 我的题解:  c = g^m mod p g很小,m作为flag处于次方的位置 可以用sage 题目: 我的题解: n分解出q、p、r,但是多因

    2024年03月09日
    浏览(54)
  • [青少年CTF训练平台]web部分题解(已完结!)

    首先打开环境(ω。人)ZZz♪♪ 既然要做题,就要做全面了,图上说了,既然有假flag我就先找出来: 打开vmware,使用sqlmap进行处理: 记得中间的url换成自己的 看到了六个可能: {*] ctftraining [*] information_schema [*] mysql [*] performance_schema [*] test [*] word 那就挨个读取,利用指令 ”c

    2024年03月09日
    浏览(49)
  • 使用spring boot拦截器实现青少年模式

    便用Spring Boot拦截器采累计在线时间采实现青少年模式的步骤,可以参考以卜步骤: 1.创建一个拦截器类,实现Handlerlnterceptor 接口。 2.在拦截器类中,定义一个变量来记录用户在线时间。 3.在preHandle方法中,记录用户的登录时间。 4.在afterCompletion方法中,计算用户在线时间,

    2023年04月08日
    浏览(33)
  • 【青少年CTF】Crypto-easy 题解小集合

    1.BASE 拿到附件用cyberchef自动解码得到flag 2.basic-crypto 拿到附件发现是一串01的数字,这时候想到二进制转换 然后base64在线解码 接着根据提示想到凯撒密码解密 最后通过字频查找找到flag 3.CheckIn 先用base64解码 再用ROT47解码得到flag 4.childRSA 先用factordb分解N 然后套用脚本得到fl

    2024年02月07日
    浏览(33)
  • 第四届上海市青少年算法竞赛(小学组)

    第四届上海市青少年算法竞赛(小学组) T1 回文串 题目描述 如果一个字符串,顺读与倒读的内容一样,称这个字符串为回文。例如 aka 是一个回文,noon 也是一个回文。 给定一个字符串,请计算最少需要修改多少个字符,才能将这个字符串变成回文。 单次修改可以将字符串

    2024年02月12日
    浏览(36)
  • 青少年中心:温湿度这个隐藏技巧,快速搞定环境安全

    青少年是一个国家未来的重要资源,他们的成长环境对于塑造其积极向上的人生轨迹至关重要。在青少年中心,我们致力于提供一个安全、温馨的学习和交流空间,让青少年们得以充分发展自己的潜力。 为了确保青少年中心的环境始终符合健康标准,需要密切关注室内温湿度

    2024年02月15日
    浏览(25)
  • 全国青少年电子信息智能创新大赛(复赛)python·模拟四卷

    目录 一、编程题 答案解析如下: 下载文档打印做题: 全国青少年电子信息智能创新大赛(复赛)python·模拟四卷 一、编程题 第一题: 描述 班上有学生若干名,给出每名学生的年龄《整数),求班上所有学生的平均年龄,保留到小数点后两企

    2023年04月16日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包