全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1882 3
2009-05-03
这个程序是关于 Applied Multivariate Statistics with SAS Software的。(链接: http://ftp.sas.com/samples/A56903

大家主要给我解释一下其中的(Cube Root Transoformation)在这里是什么意思,是说这个多变量正态检验是建立在此基础上的或是利用这个转换来检测的吗?

options ls=64 ps=45 nodate nonumber;
title1 'Output 1.3';
title2 'Testing Multivariate Normality (Cube Root Transoformation)';

data D1;
infile 'cork.dat';
input t1 t2 t3 t4 ;
/*
t1=north, t2=east, t3=south, t4=west
n is the number of observations
p is the number of variables
*/
data D2(keep=t1 t2 t3 t4 n p);
set D1;
n=28;
p=4;
run;
data D3(keep=n p);
set D2;
if _n_ > 1 then delete;
run;
proc princomp data=D2 cov std out=D4 noprint;
var t1-t4;
data D5(keep=n1 dsq n p);
set D4;
n1=_n_;
dsq=uss(of prin1-prin4);
run;
data D6(keep=dsq1 n1 );
set  D5;
dsq1=dsq**((1.0/3.0)-(0.11/p));
run;

proc iml;
use D3;
read all var {n p};
u=j(n,1,1);
use D6;
do k=1 to n;
setin D6 point 0;
sum1=0;
sum2=0;
do data;
read next var{dsq1 n1} ;
if n1 = k then dsq1=0;
sum1=sum1+dsq1**2;
sum2=sum2+dsq1;
end;
u[k]=(sum1-((sum2**2)/(n-1)))**(1.0/3);
end;
varnames={y};
create tyy from u (|colname=varnames|);
append from u;
close tyy;
run;
quit;

data D7;
set D6; set tyy;
run;
proc corr data=D7 noprint outp=D8;
var dsq1;
with y;
run;
data D9;
set D8;
if _TYPE_ ^='CORR' then delete;
run;
data D10(keep=zp r tnp pvalue);
set D9(rename=(dsq1=r));
set D3;
zp=0.5*log((1+r)/(1-r));
b1p=3-1.67/p+0.52/(p**2);
a1p=-1.0/p-0.52*p;
a2p=0.8*p**2;
mnp=(a1p/n)-(a2p/(n**2));
b2p=1.8*p-9.75/(p**2);
ssq1=b1p/n-b2p/(n**2);
snp=ssq1**0.5;
tnp=abs(abs(zp-mnp)/snp);
pvalue=2*(1-probnorm(tnp));
run;
proc print data=D10;
run;

[此贴子已经被作者于2009-5-3 5:22:01编辑过]

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2009-5-3 16:21:00
没人帮我解释一下吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-5-4 08:24:00

"Testing Multivariate Normality (Cube Root Transoformation)在这里是什么意思,是说这个多变量正态检验是建立在此基础上的或是利用这个转换来检测的吗?"

多元正态的测试不不是建立在3次方转换的基础上的,Cube Root Transoformation的意思是说这个程序是经过了3次方转换的,在检验正态性的时候,如数据不是正态分布时,需要数据转换,多元的也是,3次方只是这里程序的方法,根据你的数据这个部分可以更改的,也许需要对数或分数或正弦或cox-box等转换.

大部分采集的数据由于样本含量的问题,只用检验标准可能都不是正态的,但有时也不是很严格,一般峰值和尾值在(-1,1)就可以认为近似正态
我是这样理解的,不知道对你是否有帮助!!!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-5-4 14:59:00
谢谢你
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群