《非参数统计》与MATLAB编程相关分析研究.docx

上传人:b****4 文档编号:27530234 上传时间:2023-07-02 格式:DOCX 页数:21 大小:44.16KB
下载 相关 举报
《非参数统计》与MATLAB编程相关分析研究.docx_第1页
第1页 / 共21页
《非参数统计》与MATLAB编程相关分析研究.docx_第2页
第2页 / 共21页
《非参数统计》与MATLAB编程相关分析研究.docx_第3页
第3页 / 共21页
《非参数统计》与MATLAB编程相关分析研究.docx_第4页
第4页 / 共21页
《非参数统计》与MATLAB编程相关分析研究.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

《非参数统计》与MATLAB编程相关分析研究.docx

《《非参数统计》与MATLAB编程相关分析研究.docx》由会员分享,可在线阅读,更多相关《《非参数统计》与MATLAB编程相关分析研究.docx(21页珍藏版)》请在冰豆网上搜索。

《非参数统计》与MATLAB编程相关分析研究.docx

《非参数统计》与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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 远程网络教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1