数学建模-相关性分析(Matlab)
创始人
2024-05-07 00:46:41
0

 注意:代码文件仅供参考,一定不要直接用于自己的数模论文中
国赛对于论文的查重要求非常严格,代码雷同也算作抄袭
如何修改代码避免查重的方法:https://www.bilibili.com/video/av59423231   //清风数学建模

一、基础知识

1.皮尔逊相关系数

连续数据、正态分布、线性关系三者同时满足优先用。

一般处理这种问题:如中学生体测成绩考察相关性
​​​​

 统计描述:

%% 统计描述
MIN = min(Test);  % 每一列的最小值
MAX = max(Test);   % 每一列的最大值
MEAN = mean(Test);  % 每一列的均值
MEDIAN = median(Test);  %每一列的中位数
SKEWNESS = skewness(Test); %每一列的偏度
KURTOSIS = kurtosis(Test);  %每一列的峰度
STD = std(Test);  % 每一列的标准差
RESULT = [MIN;MAX;MEAN;MEDIAN;SKEWNESS;KURTOSIS;STD]  %将这些统计量放到一个矩阵中表示

 excel方法更好:

选中数据(包括中文如引体向上),点击上方数据,点击右边数据分析,描述统计(勾上标志位于第一行)

SPSS最好(附基础操作步骤📕):

1.左上角点击文件,导入原始excel

点击上面分析,描述统计,描述(选中该选的,调调就得图)

2.看图分析:点击上面图形,旧对话框,散点图/点图,点击矩阵散点图,变量全选,生成。

各列之间相关系数:

R = corrcoef(Test)   % 返回test的相关系数矩阵
R = corrcoef(a,b)   % 返回两个随机变量a和b之间的系数

 注意:

 一定要是线性,否则结论不一定成立,例如抛物线。

2.假设性检验(正态分布图)

a:犯第一类错(原假设是对的,我们却认为它是错的)的概率

b=1-a 相信原假设的概率(一般取95%) n(样本数)-2为自由度

检验值t=r*根号下n-2/1-r^2 ,r是相关系数

结合t分布表和matlab:

%% 假设检验部分
x = -4:0.1:4;
y = tpdf(x,28);  %求t分布的概率密度值 28是自由度  
figure(1)
plot(x,y,'-')
grid on  % 在画出的图上加上网格线
hold on  % 保留原来的图,以便继续在上面操作
% matlab可以求出临界值,函数如下
tinv(0.975,28)    %    2.0484
% 这个函数是累积密度函数cdf的反函数
plot([-2.048,-2.048],[0,tpdf(-2.048,28)],'r-')
plot([2.048,2.048],[0,tpdf(2.048,28)],'r-')

 结合最后的t分布表,可以查到自由度为28时候,置信度为0.5(双尾)对应的t为2.0484

更好用:p值判断法

%% 计算p值
x = -4:0.1:4;
y = tpdf(x,28);
figure(2)
plot(x,y,'-')
grid on 
hold on
% 画线段的方法
plot([-3.055,-3.055],[0,tpdf(-3.055,28)],'r-')
plot([3.055,3.055],[0,tpdf(3.055,28)],'r-')
disp('该检验值对应的p值为:')
disp((1-tcdf(3.055,28))*2)  %双侧检验的p值要乘以2

3.055是检验值t,最后一步是求p,这里不再细说。因为spss法最优。

p<0.01说明在99%的置信水平上拒绝原假设。

p>0.01…………相信原假设

0.05,0.10同理

 SPSS法:

把excel表里都弄过去后,原始数据分析,相关,双变量相关性,勾选皮尔逊、双尾、第三个也勾

这时会发现,数据后会带*星号,有一颗两颗的。我们规定:

P < 0.01  % 标记3颗星的位置
(P < 0.05) .* (P > 0.01)  % 标记2颗星的位置
(P < 0.1) .* (P > 0.05) % % 标记1颗星的位置

3.检验数据是否正态分布

1.正态分布JB检验(大样本n>50)

主要是根据偏度(正态分布为0)和峰度(正态分布为3),再结合jbtest函数,同时注意要循环遍历每一列。最后得p值,也是比较0.05决定是否拒绝原假设

% 正态分布的偏度和峰度
x = normrnd(2,3,100,1);   % 生成100*1的随机向量,每个元素是均值为2,标准差为3的正态分布
skewness(x)  %偏度
kurtosis(x)  %峰度
qqplot(x)% 检验第一列数据是否为正态分布
[h,p] = jbtest(Test(:,1),0.05)
[h,p] = jbtest(Test(:,1),0.01)% 用循环检验所有列的数据
n_c = size(Test,2);  % number of column 数据的列数
H = zeros(1,6);  % 初始化节省时间和消耗
P = zeros(1,6);
for i = 1:n_c[h,p] = jbtest(Test(:,i),0.05);H(i)=h;P(i)=p;
end
disp(H)
disp(P)

h=1拒绝原假设,h为0不能拒绝原假设。p即为p值。 

2.夏皮洛-威尔克检验(小样本 3《n《50)

用SPSS:

分析,描述统计,探索,全选后点 图,勾选含检验的正态图,最后生成正态检验图。

看h,p的方法同上。

3.看图是否拟合(Q-Q图)

qqplot(Test(:,1))

 4.斯皮尔曼spearman相关系数

原理:X和Y两组数据,也有X和Y的等级(一个数所在的一列数按照从小到大排后,这个数所在的位置,若如并列第四,均取4.5)

%% 斯皮尔曼相关系数
X = [3 8 4 7 2]'  % 一定要是列向量哦,一撇'表示求转置
Y = [5 10 9 10 6]'
% 第一种计算方法
1-6*(1+0.25+0.25+1)/5/24% 第二种计算方法
coeff = corr(X , Y , 'type' , 'Spearman')
% 等价于:
RX = [2 5 3 4 1]
RY = [1 4.5 3 4.5 2]
R = corrcoef(RX,RY)% 计算矩阵各列的斯皮尔曼相关系数
R = corr(Test, 'type' , 'Spearman')

(Test是591*6中考体测数据)

最后假设检验,也是看p

% 大样本下的假设检验
% 计算检验值
disp(sqrt(590)*0.0301)
% 计算p值
disp((1-normcdf(0.7311))*2) % normcdf用来计算标准正态分布的累积概率密度函数% 直接给出相关系数和p值
[R,P]=corr(Test, 'type' , 'Spearman')

附录:T分布表

单尾检验0.050.0250.010.0050.00250.0010.0005
双尾检验0.10.050.020.010.0050.0020.001
df
16.313812.706531.819363.6551127.3447318.4930636.0450
22.92004.30266.96469.924714.088722.327631.5989
32.35343.18244.54075.84087.453410.214512.9242
42.13192.77643.74704.60415.59767.17328.6103
52.01502.57063.36504.03224.77345.89346.8688
61.94322.44693.14263.70744.31685.20765.9589
71.89462.36462.99803.49954.02944.78525.4079
81.85952.30602.89653.35543.83254.50085.0414
91.83312.26212.82143.24983.68964.29694.7809
101.81242.22822.76383.16933.58144.14374.5869
111.79592.20102.71813.10583.49664.02474.4369
121.78232.17882.68103.05453.42843.92964.3178
131.77092.16042.65033.01233.37253.85204.2208
141.76132.14482.62452.97683.32573.78744.1404
151.75302.13142.60252.94673.28603.73284.0728
161.74592.11992.58352.92083.25203.68614.0150
171.73962.10982.56692.89833.22243.64583.9651
181.73412.10092.55242.87843.19663.61053.9216
191.72912.09302.53952.86093.17373.57943.8834
201.72472.08602.52802.84543.15343.55183.8495
211.72072.07962.51762.83143.13523.52723.8193
221.71722.07392.50832.81883.11883.50503.7921
231.71392.06862.49982.80733.10403.48503.7676
241.71092.06392.49222.79703.09053.46683.7454
251.70812.05962.48512.78743.07823.45023.7251
261.70562.05552.47862.77873.06693.43503.7067
271.70332.05182.47272.77073.05653.42113.6896
281.70112.04842.46712.76333.04693.40823.6739
291.69912.04522.46202.75643.03803.39623.6594
301.69732.04232.45722.75003.02983.38523.6459
311.69552.03952.45282.74403.02213.37493.6334
321.69392.03692.44872.73853.01503.36533.6218
331.69242.03452.44482.73333.00823.35633.6109
341.69092.03222.44112.72843.00193.34793.6008
351.68962.03012.43772.72382.99613.34003.5912
361.68832.02812.43452.71952.99053.33263.5822
371.68712.02622.43152.71542.98533.32563.5737
381.68592.02442.42862.71152.98033.31903.5657
391.68492.02272.42582.70792.97563.31283.5581
401.68392.02112.42332.70452.97123.30693.5510

 40往后查看http://www.obhrm.net/index.php/T%E5%88%86%E5%B8%83%E8%A1%A8_t_distribution_table

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...