相关系数Matlab代码

%%统计描述

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] %将这些统计量放到一个矩阵中中表示,得到如下结果

%可以在论文中加入描述性统计

%%计算各列之间的相关系数

%在计算皮尔逊相关系数之前,一定要做出散点图来看两组变量之间是否有线性关系

%这里使用Spss比较方便:图形- 1旧对话框-散点图/点图-矩阵散点图

R = corrcoef(Test)% correlation coefficient

%结果如下

%%假设检验部分

x= -4:0.1:4;

y = tpdf(x,28); %求概率密度值

figure(1)

plot(x,y,'-')

grid on %在画出的图上加上网格线

hold on %保留原来的图,以便继续在上面操作

% matlab可以求出临界值,函数如下

tinv(0.975,28)

%这个函数是索积密度函数cd的反函数

%画线段的方法

plot([-2.048,-2.048],[0,tpdf( -2.048,28)],'r-')

plot([2.048,2.048],[0,tpdf(2.048,28)],'r-')

disp(该检验值对应的p值为: ')

disp((1 +tcdf(3.055,28))2) %双侧检验的p值要乘以2%

%计算各列之间的相关系数以及p值[R,P] = corrcoef(Test)

%在EXCEL表格中给数据右上角标上显著性符号吧

P < 0.01 %标记3颗星的位置

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

(P 0.05) % %标记1颗星的位置

%也可以使用Spss操作哦 看我演示

%%正态分布检验

%正态分布的偏度和峰度

x = normnd(2,3,100,1); %生成100*1的随机向量,每个元素是均值为2.标准差为3的正态分布

skewness(x) %偏度

kurtosis(x) %峰度

%检验第一列数据已否为正态分布

[h,p] = jbtest(Test(:,1).0.05)

%用循环检验所有列的数据

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)

%QQ图

qqplot(Test(:,1))

%%斯皮尔曼相关系数

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')

%大样本下的假设检验

%计算检验值

disp(sqrt(590)*0.0301)

%计算p值

disp((1-normd(0.7311))*2) % normcdf用来计算标准正态分布的累积概率密度函数

%直接给出相关系数和p值

[R,P]=corr(Test, 'type','Spearman)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值