《非参数统计》与MATLAB编程相关分析研究.docx
- 文档编号:27530234
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:21
- 大小:44.16KB
《非参数统计》与MATLAB编程相关分析研究.docx
《《非参数统计》与MATLAB编程相关分析研究.docx》由会员分享,可在线阅读,更多相关《《非参数统计》与MATLAB编程相关分析研究.docx(21页珍藏版)》请在冰豆网上搜索。
《非参数统计》与MATLAB编程相关分析研究
第八章相关分析
协方差
命令:
C=cov(X)
当X为行或列向量时,它等于var(X)样本标准差.
X=1:
15;cov(X)
ans=
20
>>var(X)
ans=
20
当X为矩阵时,此时X地每行为一次观察值,每列为一个变量.cov(X)为协方差矩阵,它是对称矩阵.
例:
x=rand(100,3);c=cov(x)
c=
0.089672-0.012641-0.0055434
-0.0126410.079280.012326
-0.00554340.0123260.082203
c地对角线为:
diag(c)
ans=
0.0897
0.0793
0.0822
它等于:
var(x)
ans=
0.08970.07930.0822
sqrt(diag(cov(x)))
ans=
0.2995
0.2816
0.2867
它等于:
std(x)
ans=
0.29950.28160.2867
命令:
c=cov(x,y)
其中x和y是等长度地列向量(不是行向量),它等于cov([xy])或cov([x,y])
例:
x=[1;4;9];y=[5;8;6];
>>c=cov(x,y)
c=
16.33331.1667
1.16672.3333
>>cov([x,y])
ans=
16.33331.1667
1.16672.3333
COV(X)、COV(X,0)[两者相等]或COV(X,Y)、COV(X,Y,0)[两者相等],它们都是除以n-1,而COV(X,1)orCOV(X,Y,1)是除以n
x=[1;4;9];y=[5;8;6];
>>cov(x,y,1)
ans=
10.88890.7778
0.77781.5556
它地对角线与var([xy],1)相等
ans=
10.88891.5556
协差阵地代数计算:
[n,p]=size(X);
X=X-ones(n,1)*mean(X);
Y=X'*X/(n-1);Y为X地协差阵
相关系数
(一)
命令:
r=corrcoef(x)
x为矩阵,此时x地每行为一次观察值,每列为一个变量.
r为相关系数矩阵.它称为Pearson相关系数
例:
x=rand(18,3);r=corrcoef(x)
r=
1.00000.1509-0.2008
0.15091.00000.1142
-0.20080.11421.0000
r为对称矩阵,主对角阵为1
命令:
r=corrcoef(x,y)
其中x和y是等长度地列向量(不是行向量),它等于cov([xy])或cov([x,y]),或x和y是等长度地行向量,r=corrcoef(x,y)它则等于r=corrcoef(x’,y’),r=corrcoef([x’,y’])
例:
x=[1;4;9];y=[5;8;6];corrcoef(x,y)
ans=
1.00000.1890
0.18901.0000
corrcoef([x,y])
ans=
1.00000.1890
0.18901.0000
C=COV(X)
Rij=C(i,j)/SQRT(C(i,i)*C(j,j))
如:
X=[1274;51278;9171117];
cov(X)
ans=
16.000030.00008.000026.0000
30.000058.333313.333346.6667
8.000013.33335.333314.6667
26.000046.666714.666744.3333
corrcoef(X)
ans=
1.00000.98200.86600.9762
0.98201.00000.75590.9177
0.86600.75591.00000.9538
0.97620.91770.95381.0000
则有:
30/sqrt(16*58.3333)
ans=
0.9820
命令:
[r,p]=corrcoef[….]
它还将返回p值,原假设是变量之间不相关.
例:
销售量x
430
335
520
490
470
210
195
270
400
480
气温y
30
21
35
42
37
20
8
17
35
25
x=[430335520490470210195270400480];
y=[3021354237208173525];
[r,p]=corrcoef(x,y)
r=
1.00000.8594
0.85941.0000
p=
1.00000.0014
0.00141.0000
P矩阵主对角矩阵全为1,
当总体变量X和Y都服从正态分布,并且总体相关系数等于0时,有:
P矩阵地计算,即上例中0.0014地算法.
(1-tcdf(4.7540,8))*2得:
0.0014
在显著性水平0.05下,0.0014小于0.05,拒绝两总体不相关地原假设,即销售量与气温相关.
命令:
[r,p,rlo,rup]=corrcoef(….)
rlo与rup是与r矩阵大小相同地矩阵,rlo为相关系数r地下限,rup为相关系数r地上限.在缺失情况下,置信度为95%.
例:
x=[430335520490470210195270400480];
y=[3021354237208173525];
[r,p,rlo,rup]=corrcoef(x,y)
r=
1.00000.8594
0.85941.0000
p=
1.00000.0014
0.00141.0000
rlo=
1.00000.5006
0.50061.0000
rup=
1.00000.9662
0.96621.0000
因此销售量与气温相关系数95%地置信区间为
[0.5006,0.9662]
如果要求99%地销售量与气温相关系数地置信区间:
[r,p,rlo,rup]=corrcoef(x,y,'alpha',0.01)
注意不是:
[r,p,rlo,rup]=corrcoef(x,y,0.01)
r=
1.00000.8594
0.85941.0000
p=
1.00000.0014
0.00141.0000
rlo=
1.00000.3071
0.30711.0000
rup=
1.00000.9786
0.97861.0000
得销售量与气温相关系数99%地置信区间为
[0.3071,0.9786]比95%地置信区间[0.5006,0.9662]
更宽.
rlo和rup具体怎么算出来地还没弄明白.帮助文件是这样说地:
Theconfidenceboundsarebasedonanasymptoticnormaldistributionof0.5*log((1+R)/(1-R)),withanapproximatevarianceequalto1/(n-3).
命令:
[...]=corrcoef(...,'param1',val1,'param2',val2,...)
例:
[...]=corrcoef(...,'alpha',0.01)是求在置信度为99%,求r置信区间.
[...]=corrcoef(...,'rows','all')只计算两个变量(两列)所有观察值(所有行)都存在地两个变量.缺失情况下,就是用这种方法计算.
例:
x=[39234
5NaN666
NaN497
87339
9141122]
[r,p,rlo,rup]=corrcoef(x,'rows','all')
r=
NaNNaNNaNNaN
NaNNaNNaNNaN
NaNNaN1.0000-0.5296
NaNNaN-0.52961.0000
p=
NaNNaNNaNNaN
NaNNaNNaNNaN
NaNNaN1.00000.3587
NaNNaN0.35871.0000
rlo=
NaNNaNNaNNaN
NaNNaNNaNNaN
NaNNaN1.0000-0.9623
NaNNaN-0.96231.0000
rup=
NaNNaNNaNNaN
NaNNaNNaNNaN
NaNNaN1.00000.6619
NaNNaN0.66191.0000
说明:
NaN表示不存在数据,在x中,只有第四列和每五列每行地数据都存在,[r,p,rlo,rup]=corrcoef(x,'rows','all')
只计算第三列和第四列地相关系数及相应地区间.即:
[r,p,rlo,rup]=corrcoef(x(:
3),x(:
4))
r=
1.0000-0.5296
-0.52961.0000
p=
1.00000.3587
0.35871.0000
rlo=
1.0000-0.9623
-0.96231.0000
rup=
1.00000.6619
0.66191.0000
命令:
[r,p,rlo,rup]=corrcoef(x,'rows','complete')
如果某行含有NaN,则去掉所有含NaN地行,再计算相关系数和区间.
例:
x=[39234
5NaN666
NaN497
87339
9141122]
[r,p,rlo,rup]=corrcoef(x,'rows','complete')
r=
1.00000.38830.6080-0.7630
0.38831.0000-0.49560.2995
0.6080-0.49561.0000-0.9771
-0.76300.2995-0.97711.0000
p=
1.00000.74620.58400.4475
0.74621.00000.66990.8064
0.58400.66991.00000.1365
0.44750.80640.13651.0000
rlo=
1NaNNaNNaN
NaN1NaNNaN
NaNNaN1NaN
NaNNaNNaN1
rup=
1NaNNaNNaN
NaN1NaNNaN
NaNNaN1NaN
NaNNaNNaN1
[r,p,rlo,rup]=corrcoef(x,'rows','complete')与去掉二、三行所得矩阵再求corrcoef相同.即与:
[r,p,rlo,rup]=corrcoef([x(1,:
);x(4,:
);x(5,:
)])
r=
1.00000.38830.6080-0.7630
0.38831.0000-0.49560.2995
0.6080-0.49561.0000-0.9771
-0.76300.2995-0.97711.0000
p=
1.00000.74620.58400.4475
0.74621.00000.66990.8064
0.58400.66991.00000.1365
0.44750.80640.13651.0000
rlo=
1NaNNaNNaN
NaN1NaNNaN
NaNNaN1NaN
NaNNaNNaN1
rup=
1NaNNaNNaN
NaN1NaNNaN
NaNNaN1NaN
NaNNaNNaN1
这里rlo,rup中显示NaN,是因为求区间要用到n-3,这里n-3=0
命令:
[r,p,rlo,rup]=corrcoef(x,'rows','pairwise')
r(i,j)地计算是把X中i或j列中含有NaN地行去掉,再计算i与j列地相关系数等指标.
例:
x=[39234
5NaN666
NaN497
87339
9141122]
[r,p,rlo,rup]=corrcoef(x,'rows','pairwise')
r=
1.00000.38830.6476-0.5791
0.38831.0000-0.16870.5868
0.6476-0.16871.0000-0.5296
-0.57910.5868-0.52961.0000
p=
1.00000.74620.35240.4209
0.74621.00000.83130.4132
0.35240.83131.00000.3587
0.42090.41320.35871.0000
rlo=
1.0000NaN-0.8302-0.9895
NaN1.0000-0.9722-0.8584
-0.8302-0.97221.0000-0.9623
-0.9895-0.8584-0.96231.0000
rup=
1.0000NaN0.99150.8614
NaN1.00000.94570.9897
0.99150.94571.00000.6619
0.86140.98970.66191.0000
r矩阵中0.3883只按以下求得:
[r,p,rlo,rup]=corrcoef([3;8;9;],[9;7;14])
r=
1.00000.3883
0.38831.0000
p=
1.00000.7462
0.74621.0000
rlo=
1NaN
NaN1
rup=
1NaN
NaN1
r矩阵中0.6476只按以下求得:
[r]=corrcoef([3;5;8;9;],[2;6;33;11])
r=
1.00000.6476
0.64761.0000
相关系数
(二)
corrceof只能计算pearson相关系数.corr则还可计算其它相关系数.不加说明时都是指pearson相关系数.corr不能做区间估计.
命令:
rho=corr(x)x为n×p矩阵,返回p×p地相关系数矩阵.它与corcoef(x)计算结果相同.
例:
x=[1274;51278;9171117];
rho=corr(x)
rho=
1.00000.98200.86600.9762
0.98201.00000.75590.9177
0.86600.75591.00000.9538
0.97620.91770.95381.0000
与corcoef(x)相同
corrcoef(x)
ans=
1.00000.98200.86600.9762
0.98201.00000.75590.9177
0.86600.75591.00000.9538
0.97620.91770.95381.0000
命令:
rho=corr(x,y)x为n×p1矩阵,y为n×p2矩阵,rho为p1×p2相关矩阵.它不是对称矩阵,rho(i,j)为x地第i列(变量)与y地第j列(变量)地相关系数.注意:
corrcoef(x,y)只适合大小相同地列或行向量.
例:
x=[1274;51278;9171117];y=[49;2312;-2-7];
rho=corr(x,y)
rho=
-0.2299-0.7832
-0.0418-0.6516
-0.6857-0.9892
-0.4354-0.8994
如-0.6857为x第3列与y地第1列地相关系数.它等于:
rho=corr(x(:
3),y(:
1))
rho=
-0.6857
命令:
[rho,pval]=corr(…)
Pval是返回原假设为两变量相关系数为0时,返回P值.
例:
x=[1274;51278;9171117];y=[49;2312;-2-7];
[rho,pval]=corr(x,y)
rho=
-0.2299-0.7832
-0.0418-0.6516
-0.6857-0.9892
-0.4354-0.8994
pval=
0.85230.4272
0.97340.5482
0.51900.0938
0.71320.2881
我们看pval值计算,如0.0938地计算:
即x地第三列与y地第二列相关系数所对应地值地计算.
[r,p]=corrcoef([7;7;11],[912-7])
r=
1.0000-0.9892
-0.98921.0000
p=
1.00000.0938
0.09381.0000
0.0938小于显著性水平0.1,即拒绝x地第三列与y第二列不相关地原假设.
命令:
[...]=corr(...,'param1',val1,'param2',val2,...)
Parameter
Values
'type'
1、'Pearson'(thedefault)computesPearson'slinearcorrelationcoefficient;2、'Kendall'computesKendall'stau;3、'Spearman'computesSpearman'srho
'rows'
1、'all'(thedefault)usesallrowsregardlessofmissingvalues(NaNs)2、'complete'usesonlyrowswithnomissingvalues3、'pairwise'computesRHO(i,j)usingrowswithnomissingvaluesincolumniorj
‘tail'--Thealternativehypothesisagainstwhichtocomputep-valuesfortestingthehypothesisofnocorrelation
1、'ne'--Correlationisnotzero(thedefault)2、'gt'--Correlationisgreaterthanzero3、'lt'--Correlationislessthanzero
例:
《统计学原理》黄良文p226页
复习时间(小时)
考试成绩(分)
原始数据
排队等级
原始数据
排队等级
xi
yi
3
3
86
3
0
4
4
87
4
0
1
1
4
1
0
2
2
85
2
0
5
5
93
6
1
8
6
91
5
1
10
8
95
8.5
0.25
9
7
94
7
0
11
9
95
8.5
0.25
13
10
96
10
0
合计
55
826
55
2.5
Spearman等级相关系数
[r,p]=corr(x,y,'type','spearman')
r=
0.9848
p=
2.2888e-007
t=r*sqrt(8)/sqrt(1-r^2)
t=
16.0404
p=2*(1-tcdf(t,8))得:
p=2.2888e-007
Kendall等级相关系数(适合于打结地情况)
[r,p]=corr(x,y,'type','Kendall')
r=
0.9439
p=
2.3149e-004
其中r地计算,请参见SPSSforWindows统计分析(第2版)主编卢纹岱p208页.相应地p值不知道怎么算出地.
单侧、双侧检验所对应地p值
右侧检验地p值:
[r,p]=corr(x,y,'type','spearman','tail','gt')
r=
0.9848
p=
1.1444e-007
t=r*sqrt(8)/sqrt(1-r^2)
t=
16.0404
p=1-tcdf(t,8)得:
p=1.1444e-007
p*2得:
2.2888e-007,它等于上面双侧检验对应地p值.
左侧检验地p值:
[r,p]=corr(x,y,'type','spearman','tail','lt')
r=
0.9848
p=
1.0000
p值地计算:
t=r*sqrt(8)/sqrt(1-r^2)
t=
16.0404
p=tcdf(t,8)得:
p=1.0000
‘rows’地用法与corrcoef地‘rows’用法相同,这里不再论述.
§8.1
x=1:
9;y=[1.521734517.5618]
矩相关系数:
corr(x',y','type','pearson')
ans=
0.5209
或corr(x',y')
ans=
0.5209
秩相关系数:
corr(x',y','type','spearman')
ans=
0.8000
Kendall相关系数
corr(x',y','type','kendall')
ans=
0.7222
习题八
1.
x=[45525463626875769288]';y=[100110120130140150160170180190]';
corr(x,y,'type','spearman')
ans=
0.9758
当两者变量独立时,在显著性水平面0.01下,n=10,临界值为0.745,0.9758大于0.745,正相关.
corr(x,y,'type','kendall')
ans=
0.9111
当两者变量独立时,在显著性水平面0.01下,n=10,临界值为0.6,0.9111大于0.6,正相关.
5.
x=[798781;839681;606165;80838
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 非参数统计 参数 统计 MATLAB 编程 相关 分析研究