相关性模型与回归模型(例题代码)

news2025/1/20 10:47:33

一、相关性模型(SPSS)

相关性模型涉及到两种最为常用的相关系数:

  • 皮尔逊person相关系数
  • 斯皮尔曼spearman等级相关系数

1、皮尔逊相关系数

在这里插入图片描述
相关性可视化
在这里插入图片描述
在这里插入图片描述

总结:
1.如果两个变量本身就是线性的关系,那么皮尔逊相关系数绝对值大的就是相关性强,小的就是相关性弱;
2.在不确定两个变量是什么关系的情况下,即使算出皮尔逊相关系数,发现很大,也不能说明那两个变量线性相关,甚至不能说他们相关,一定要先画出散点图来看才行。
在这里插入图片描述

2、斯皮尔曼相关系数

在这里插入图片描述

斯皮尔曼相关系数被定义成等级之间的皮尔逊相关系数

MATLAB中计算斯皮尔曼相关系数
在这里插入图片描述
代码:

% 必须为列向量,'表示求转置
X = [3 8 4 7 2]'  
Y = [5 10 9 10 6]'
coeff = corr(X , Y , 'type' , 'Spearman')

二、回归模型

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

1、常见的回归分析:

  • 线性回归(GDP增长率)
  • 0-1回归(0表示还款/1表示未还款)
  • 定序回归(1-5喜欢程度逐步增加)
  • 计数回归(次数:非负)
  • 生存回归(截断数据)

2、回归分析的分类

在这里插入图片描述

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

在这里插入图片描述

4、内生性的探究

在这里插入图片描述

5、内生性的蒙特卡罗模拟

在这里插入图片描述
代码:

%% 蒙特卡洛模拟:内生性会造成回归系数的巨大误差
 
% 蒙特卡洛的次数
times = 300;  
 
R = zeros(times,1);
K = zeros(times,1);
 
for i = 1: times
    n = 30; 
    x1 = -10+rand(n,1)*20;
    u1 = normrnd(0,5,n,1) - rand(n,1);
    x2 = 0.3*x1 + u1; 
    u = normrnd(0,1,n,1); 
    y = 0.5 + 2 * x1 + 5 * x2 + u ; 
    k = (n*sum(x1.*y)-sum(x1)*sum(y))/(n*sum(x1.*x1)-sum(x1)*sum(x1)); 
    K(i) = k;
    u = 5 * x2 + u; 
    r = corrcoef(x1,u);  
    R(i) = r(2,1);
end
 
plot(R,K,'*')
xlabel('x_1和u的相关系数')
ylabel('k的估计值')

在这里插入图片描述

三、多元线性回归分析

例1 多元线性回归

clear;
clc;
%多元线性回归
x1 = [7 1 11 11 7 11 3 1 2 21 1 11 10];
x2 = [26 29 56 31 52 55 71 31 54 47 40 66 68];
x3 = [6 15 8 8 6 9 17 31 54 47 40 66 68];  
x4 = [60 52 20 47 33 22 6 44 22 26 34 12 12];
y = [78.5 74.3 104.3 87.6 95.9 109.2 102.7 72.5 93.1 115.9 83.8 113.3 109.4];
X = [ones(length(y), 1),x1',x2',x3',x4']
Y = y'

[b,bint,r,rint,stats] = regress(Y,X);
b,bint,stats

%残差图
figure(1);
rcoplot(r,rint)
%拟合图
figure(2);
z=b(1)+b(2)*x1+b(3)*x2+b(4)*x3+b(5)*x4;
plot(X,y,'k+',X,z)

请添加图片描述
请添加图片描述
请添加图片描述
残差图:
请添加图片描述
拟合图:
请添加图片描述

例2 成年女子的身高与腿长关系

在这里插入图片描述
在这里插入图片描述

%16名成年女子的身高与腿长所得数据
clear;
clc;

x=[143 145 146 147 149 150 153 154 155 156 157 158 159 160 162 164]';
y=[88 85 88 91 92 93 93 95 96 98 97 96 98 99 100 102]';

%配成y=a+b*x形式

plot(x,y,'r+')
%figure(1)
z=x;
x=[ones(16,1),x];
[b,bint,r,rint,stats]=regress(y,x);
%结果与polyfit(x,y,1)相同

b,bint,stats
rcoplot(r,rint)
plot(x,y,'r+') 
hold on

a=140:165; 

b=b(1)+b(2)*a;
%figure(3)
plot(140:165,b,'g')

残差分析,作残差图:
在这里插入图片描述
从残差图可以看出,除第二个数据外,其余数据的残差离零点均较近,且残差的置信区间均包含零点,这说明回归模型 y=-16.073+0.7194x能较好的符合原始数据,而第二个数据可视为异常点(而剔除)。

预测及作图:
在这里插入图片描述

例3 物体降落距离与时间关系

在这里插入图片描述
代码:直接作二次多项式回归

t=1/30:1/30:14/30;
s=[11.86 15.67 20.60 26.69 33.71 41.93 51.13 61.49 72.90  85.44 99.08 113.77 129.54 146.48];
[p,S]=polyfit(t,s,2)

在这里插入图片描述
s=489.2946t²+65.8896t+9.1329

四、多元非线性回归分析

使用格式:

beta = nlinfit(x,y, ‘ 程序名’,beta0) 
[beta,r,J] = nlinfit(X,y,fun,beta0)
  • X给定的自变量数据
  • Y给定的因变量数据
  • fun要拟合的函数模型(句柄函数或者内联函数形式)
  • beta0函数模型中待定系数估计初值(即程序的初始实参)
  • beta返回拟合后的待定系数其中beta为估计出的回归系数
  • r为残差
  • J为Jacobian矩阵

例1 混凝土抗压强度与时间

在这里插入图片描述
代码:

x=[2 3 4 5 7 9 12 14 17 21 28 56]; 
r=rand(1,12)-0.5; 
y1=[35 42 47 53 59 65 68 73 76 82 86 99]; 
y=y1+r;
myfunc=inline('beta(1)+beta(2)*exp(beta(4)*x)+beta(3)*exp(-beta(4)*x)','beta','x'); 
beta=nlinfit(x,y,myfunc,[0.5 0.5 0.5 0.5]);
a=beta(1),k1=beta(2),k2=beta(3),m=beta(4)%test the model
xx=min(x):max(x);
yy=a+k1*exp(m*xx)+k2*exp(-m*xx); 
plot(x,y,'o',xx,yy,'r') 


在这里插入图片描述
在这里插入图片描述

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

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

相关文章

儿子小伟再婚,新儿媳紧锁眉头,农民歌唱家大衣哥有些过分了

虽然都知道大衣哥儿子小伟结婚,这一天早晚都要到来,但是却没有想到来得那么快,大衣哥儿子小伟的婚礼,在悄无声息中结束了。说起大衣哥儿子小伟,这已经不是第一次结婚了,因为结过婚有经验,这一次…

Linux CFS调度器之pick_next_task函数

文章目录前言一、pick_next_task二、pick_next_task_fair参考资料前言 在内核执行__schedule函数,进程任务切换的时候,__schedule函数函数会调用pick_next_task让调度器从就绪队列中选择最合适的一个进程运行,如下所示: static …

Nerdctl 原生支持 Nydus 加速镜像

文|李楠(GitHub ID : loheagn) 北京航空航天大学 21 级研究生 云原生底层系统的开发和探索工作。 本文 6369 字 阅读 16 分钟 OSPP 开源之夏是由中科院软件研究所“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动。旨在鼓励在…

关于whl,你想知道的

一、whl是什么?whl文件时以wheel格式保存的python安装包,Wheel是Python发行版的标准内置包格式。WHL文件包含Python安装的所有文件和元数据,其中还包括所使用的Wheel版本和打包的规范。WHL文件使用Zip压缩进行压缩,实际上也是一种…

二、TCO/IP---Ethernet和IP协议

TCP/ip协议栈 OSI模型TCP/IP协议栈应用层,表示层,会话层应用层传输层主机到主机层(传输层)网络层网络层数据链路层,物理层网络接入层 Ethernet协议 以太网,实现链路层的数据传输和地址封装(MA…

【Qt】Qt中的拖放操作实现——拖放文件以及自定义拖放操作

文章目录Qt的拖放操作使用拖放打开文件自定义拖放操作文章参考《Qt Creator快速入门(第三版)》。 Qt的拖放操作 拖放操作分为拖动Drag和放下Drop,Qt提供了强大的拖放机制,可在帮助文档中通过Drag and Drop关键字查看。 在Qt中&a…

ArcGIS基础实验操作100例--实验78按栅格分区统计路网

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 高级编辑篇--实验78 按栅格分区统计路网 目录 一、实验背景 二、实验数据 三、实验步骤 (…

【数据结构】队列详解

前言 前面我们学习了一种数据结构:栈,栈是一种只允许在一端尽进行插入删除的数据结构,而今天我们将学习另一种数据结构:队列,队列是一种支持在一端进行插入,在另一端进行删除的数据结构。 一、队列的介绍…

PHP反序列化字符串逃逸

PHP反序列化字符串逃逸 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录PHP反序列化字符串逃逸前言一、关于反序列化和序列化二、[0ctf 2016]unserialize二、prize_p5[NSSCTF]前言 例如:最近日常刷题玩…

常用的传输码介绍

文章目录前导知识1.AMI码2.HDB3码3.PST码4.数字双相码5.CMI码6.nBmB码前导知识 在介绍常用的传输码之前,先简单介绍一下直流分量。 信号的直流分量就是信号的平均值,它是一个与时间无关的常数,直流分量的数学公式表示为: 判断有…

基于轻量级YOLOv5+Transformer的汽车车损检测识别分析系统

将传统NLP领域提出来的Transformer技术与yolo目标检测模型融合已经成为一种经典的做法,早在之前的很多论文里面就有这种组合应用的出现了,本文主要是借鉴前文的思路,开发基于yolov5transformer的汽车车损检测识别模型,首先看下效果…

光流相关总结

基于图像亮度恒定假设, 图像亮度:I(x⃗,t)I(\vec x, t)I(x,t), 其中x⃗[x,y]\vec x[x,y]x[x,y],那么亮度恒定假设: I(x⃗,t)I(x⃗δx⃗,tδt)(1)I(\vec x,t)I(\vec x \delta \vec x, t \delta t) (1)I(x,t)I(xδx,tδt)(1) 对上式…

2022年值得记录的一年,事与愿违的一年

年初带着对生活的不满、怀才不遇的傲慢; 愿即将到来的30岁不留遗憾; 你放下所有去追求向往的样子; 那时所有的空气都是清新的,即使它满是灰尘; 不再年少的你依然充满新奇; 用尽力气把自己钉在那个不属…

前端与后端的技术通性

一、后端的JDK相当于前端的Node.js, 后端的JVM相当于前端的V8引擎【作用示例图,如下所示】 【Nodejs、JDK分别是前后端的运行环境】 二、后端的Maven(基于项目对象模型-Project Object Model-POM的项目管理机制)相当于前端的npm(n…

FlinkCDC

目录1、CDC 简介1.1、什么是CDC1.2、CDC的种类1.3、Flink-CDC2、Flink CDC 网址3、运行原理5、简要安装6、开发案例7、扩展1、CDC 简介 1.1、什么是CDC CDC 是 Change Data Capture(变更数据获取)的简称。核心思想是,监测并捕获数据库的变动…

js实现网页特效

文章目录一、元素偏移量offest系列🥇offset与style的区别🎓案例1🦹🏽‍♂️案例2🐼案例3二、元素可视区client系列三、元素滚动scroll系列🏂🏿案例4:🔭补充 mouseenter事…

大数据分析案例-基于KNN算法对茅台股票进行预测

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

一个精美的主界面窗口功能的设计和实现原来如此简单,万字肝爆

👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 收录于专栏 玩归玩闹归闹,别拿java开玩笑 —————————————————— ⭐相关文章⭐ -通过窗口看…

数据结构与算法:栈和队列的学习

1.栈 1.栈的定义 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈&am…

AirServer2023免费无线Mac和PC电脑屏幕镜像投屏工具

AirServer2023是适用于 Mac 和 PC 的先进的屏幕镜像接收器。 它允许您接收 AirPlay 和 Google Cast 流,类似于 Apple TV 或 Chromecast 设备。AirServer 可以将一个简单的大屏幕或投影仪变成一个通用的屏幕镜像接收器 ,是一款十分强大的投屏软件。AirSer…