【数学建模】青少年犯罪问题

2023-11-07

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


一、逐步回归分析法

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

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

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

1.2.stepwise函数介绍

在这里插入图片描述
stepwise(X,y)属于比较常用的调用格式,其中X是自变量数据,是一个矩阵。y是因变量,是一个列向量。inmodel表示矩阵列数的指标,缺省时设定为全部自变量;

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

2.1.题目简述

在这里插入图片描述

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('犯罪率');

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

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

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

当x1,x2成为自变量时(点击x1,x2那两条,蓝色即是被选中)
在这里插入图片描述
此时回归方程为y=-34.0725+1.22393x1+4.39894x2

当x2,x3成为自变量时(点击x2,x3那两条)
在这里插入图片描述
此时回归方程为y=-31.5996+7.35187x2+0.000826627x3

当x1,x3成为自变量时(点击x1,x3那两条)
在这里插入图片描述
此时回归方程为y=-31.2152+2.59552x1+0.000419806x3

通过以上结果可以看到,x1,x2是自变量的时候,RMSE最小,为最优。
其中模型历史记录可以看到历次操作后的RMSE值:
在这里插入图片描述

2.2.2 存在三个因素时

紧接着刚刚的逐步回归分析,如果我们把三个自变量都选中:
在这里插入图片描述
可以看出,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):
在这里插入图片描述
此时回归方程为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)  %残差分析

结果如下:
在这里插入图片描述
很明显第8组数据和18组数据出问题,应该剔除。

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

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

在这里插入图片描述
18组数据出问题,应该剔除。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【数学建模】青少年犯罪问题 的相关文章

随机推荐

  • 蓝桥杯 双向排列(Java)

    这题我看了两个博主的文章可算把它看懂了 链接如下 蓝桥杯 I 双向排序 Jozky86的博客 CSDN博客 蓝桥杯双向排序 蓝桥杯2021年第十二届省赛 双向排序 zy98zy998的博客 CSDN博客 蓝桥杯双向排序 我的代码如下 imp
  • 一句话说明白IRQL

    Windows操作系统运行的处理器架构中 硬件产生信号发给可编程中断控制器 中断控制器发送中断请求 IRQ 及相应的优先级给CPU CPU设置一个掩码 mask 屏蔽低优先级的其他中断请求到挂起状态 pending state 直到CPU释
  • 两台windows电脑之间通信

    一台做客户端 一台做服务端 服务端 import os import socket import time from test pip import pip test def server socket while True ip port
  • 微信小程序农历阳历日期选择器选中日期同时获取对应农/阳历日期 这个demo问题的修改

    修改以下三个文件完成BUG的修复 selectdata js文件中将农历转阳历的代码修改成 以下是原selectdata js中的代码 搜索 calendarConverter lunar2solar 文件中就一处用到 释义 用到阴历转阳历
  • Python爬虫+数据可视化

    一 工具和环境 IDE Pycharm 第三方模块 1 jieba 主要功能 处理分词 2 requests 主要功能 获取接口数据 3 sqlite3 主要功能 进行数据库相关操作 4 matplotlib主要功能 进行绘图 5 ecah
  • R获知颜色名称及对应颜色代码

    pdf D colors bar pdf height 120 par mar c 0 10 3 0 0 1 yaxs i barplot rep 1 length colors col rev colors names arg rev c
  • docker container 设置自动重启,自动执行

    编写自动执行的脚本 start server sh 脚本内容是你要执行的内容 BASE PATH data3 image generate export PYTHONPATH PYTHONPATH BASE PATH cd BASE PAT
  • 2021-07-22-第一次实训(HTML+CSS+JS)

    layout post 标题配置 title 第一次实训 HTML CSS JS 时间配置 date 2021 07 22 11 00 00 0800 目录配置 categories JavaWeb 标签配置 tag 学习笔记 conten
  • 5 区块链的缺点及面临的问题

    5 1 区块链的缺点 任何事物都有两面性 区块链也不例外 之前介绍了区块链的去中心化 集体维护 解决信任问题等种种好处 现在咱们来看一下区块链的缺点 1 无隐私性 在区块链公有链中 每一个参与者都能够获得完整的数据备份 所有交易数据都是公开
  • 一文了解社区发现算法

    最近在调研社区发现图聚类在区域划分中的应用 将一些编辑汇总的信息记录如下 社团划分了解 社区是什么 在社交网络中 用户相当于每一个点 用户之间通过互相的关注关系构成了整个网络的结构 在这样的网络中 有的用户之间的连接较为紧密 有的用户之间的
  • 【会议资源】2022年第四届计算与人工智能国际研讨会(ISCAI 2022)

    2022年第四届计算与人工智能国际研讨会 ISCAI 2022 重要信息 会议网址 www iscai org 会议时间 2022年12月16 18日 召开地点 中国北京 截稿时间 2022年11月16日 录用通知 投稿后2周内 收录检索
  • Socket通信及文件操作

    java Socket通信及文件操作 编译软件 Eclipse 一 客户端 package com import java io BufferedReader import java io DataOutputStream import j
  • Mysql学习笔记-Mysql基础(基础看这篇就够了)

    数据库的基本概念 1 数据库的英文单词 DataBase 简称 DB 2 什么数据库 用于存储和管理数据的仓库 3 数据库的特点 1 持久化存储数据的 其实数据库就是一个文件系统 2 方便存储和管理数据 3 使用了统一的方式操作数据库 SQ
  • 【Linux】虚拟机免密登录

    以node1 node2为例 方法一 利用ssh keygen生成公钥和私钥 1 原理 在node1上生成公钥和私钥 之后将公钥复制到其他的虚拟机上 虚拟机通过匹配公钥则可以实现免密的操作 2 步骤 1 连接到node1 c ssh roo
  • Unknown CMake command "add_compile_definitions"

    Unknown CMake command add compile definitions 解决方法 换cmake 3 14
  • selenium自动化测试--126邮箱登录问题总结

    虫师著selenium 2自动化测试实战基于python语言第四章习题4 3 1 126邮箱登录练习问题总结 练习过程中 参考以下博友的博客顺利完成练习题 https blog csdn net cyjs1988 article detai
  • java.io.FileNotFoundException: xxx.txt (系统找不到指定的文件。) 的错误解决办法

    这是我报错的原来的代码 package day19 java2 import java io File import java io FileInputStream import java io IOException ClassName
  • saltstack+zabbix

    环境 server1 172 25 60 1 salt master salt minion zabbix server server2 172 25 60 2 salt minion zabbix agent 1 软件包安装过程存在许多依
  • 【小白笔记】——AD铺铜设置铜与焊盘、通孔的全连接

    目录 一 热焊盘与花焊盘的区别与比较 二 AD静态铺铜如何设置连接样式 一 热焊盘与花焊盘的区别与比较 来自百度百科 热焊盘 热焊盘指大面积的接地 电 中 常用元器件的腿与其连接 对连接腿的处理需要进行综合的考虑 就电气性能而言 元件腿的焊
  • 【数学建模】青少年犯罪问题

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一 逐步回归分析法 1 1 逐步回归分析定义 最优回归方程 1 2 stepwise函数介绍 二 例题 青少年犯罪问题 2 1 题目简述 2 2 问题一建模与求解