数学建模学习笔记(清风)——相关系数

目录

基础部分:

相关系数使用条件:

步骤:

注意事项:

matlab代码部分:适用于自由度大于30,小于30用Spss软件

matlab学习部分:

基础部分:

相关系数使用条件:

        1、皮尔逊Pearson相关系数:连续数据且线性关系且正态分布;

        2、斯皮尔曼spearman相关系数:其他(定序数据);

步骤:

        皮尔逊Pearson相关系数:

                1、利用Spss绘制散点图初步判定数据对象的相关性并对数据的正态分布进行检验;

                2、计算相关系数,制作相关系数表;

                3、对相关系数进行假设检验;

        斯皮尔曼spearman相关系数:

                1、计算相关系数,制作相关系数表;

                2、对相关系数进行假设检验(利用p值);

注意事项:

        论文写作中最好给出统计描述的结果

matlab代码部分:适用于自由度大于30,小于30Spss软件

    %1、皮尔逊相关系数
	[R,P] = corrcoef(Pre_data)   
	n_c = size(Pre_data,2);  
	H = zeros(1,6);  
	P1 = zeros(1,6);
	for i = 1:n_c
	    [h,p] = jbtest(Pre_data(:,i),0.05);
	    H(i)=h;
	    P1(i)=p;
	end
	disp('各列正态检验结果(0接受,1拒绝): ')
	disp(H)
	disp('检验值P1:')
	disp(P1)
	
	disp('标记3颗星的位置')
	disp((P < 0.01)*1) 
	disp('标记2颗星的位置:')
	disp((P < 0.05) .* (P > 0.01))
	disp('标记1颗星的位置:')
	disp((P < 0.1) .* (P > 0.05))
	%2、斯皮尔曼相关系数
	[R,P]=corr(Pre_data, 'type' , 'Spearman')
	n_c = size(Pre_data,2);  
	H = zeros(1,6);  
	P1 = zeros(1,6);
	for i = 1:n_c
	    [h,p] = jbtest(Pre_data(:,i),0.05);
	    H(i)=h;
	    P1(i)=p;
	end
	disp('各列正态检验结果(0接受,1拒绝): ')
	disp(H)
	disp('检验值P1:')
	disp(P1)
	
	disp('标记3颗星的位置')
	disp((P < 0.01)*1) 
	disp('标记2颗星的位置:')
	disp((P < 0.05) .* (P > 0.01))
	disp('标记1颗星的位置:')
disp((P < 0.1) .* (P > 0.05))

matlab学习部分:

skewness函数用法:skewness(一组一维数据); 得到正态分布的偏度,趋近于0

kurtoisis函数用法:kurtosis(一组一维数据); 得到正态分布的峰度,趋近于3

corrcorf函数用法:corrcorf(数据矩阵); 计算原始数据的皮尔逊相关系数

tpdf函数用法:y = tpdf(自变量x; 自由度n); 得到的函数即为相应自由度的t分布函数

normcdf函数用法:

tinv函数用法:tinv(1-alpha/2, 自由度n); 计算出上alpha/2分位点  tinv函数是F(x)的反函数

jbtest函数用法:[h, p]=jbtest(数据的一列, 显著性水平); 得到的h为0则接受否则拒绝,p为相应的显著性水平

corr函数求spearman相关系数:[R,P] = corr(pre_data, 'type', 'Spearman'); 也可用于求pearson相关系数

你可能感兴趣的