楼主: wqf_cufe
554 1

[问答] 急问一道求sample variance的SAS程序题 [推广有奖]

  • 4关注
  • 16粉丝

教授

89%

还不是VIP/贵宾

-

威望
0
论坛币
4264 个
通用积分
6.2000
学术水平
10 点
热心指数
17 点
信用等级
13 点
经验
568 点
帖子
731
精华
0
在线时间
2236 小时
注册时间
2009-5-26
最后登录
2021-12-29

15论坛币
分别求下面的x1和x2的sample variance S11 AND S22. 用SAS程序COMPUTE these two sample variance.

X1:     1        2        3         3          4     5         6       8       9     11
X2:   18.95  19.00  17.95    15.54   14    12.95   8.94   7.49   6     3.99

下面是我写的程序,而且手算出来的s11与s22与sas程序相同,均为9.56和27.77,但答案显示是3.09和5.27,刚好是前者的平方根,求指教!

以下是我的程序:
proc iml;
X={1 18.95,2 19,3 17.95,3 15.54,4 14,5 12.95,6 8.94,8 7.49,9 6,11 3.99};
n=10;
print X;

meanx1=mean(X[*,1]);
meanx2=mean(X[*,2]);
varx1=((n‐1)/n)*var(X[*,1]);
varx2=((n‐1)/n)*var(X[*,2]);

jwvar1 = ((X[1,1]‐meanx1)**2 + (X[2,1]‐meanx1)**2 + (X[3,1]‐
meanx1)**2 + (X[4,1]‐meanx1)**2)+((X[5,1]‐meanx1)**2 + (X[6,1]‐meanx1)**2 + (X[7,1]‐
meanx1)**2 + (X[8,1]‐meanx1)**2)+(X[9,1]‐meanx1)**2 + (X[10,1]‐meanx1)**2)/10;
jwvar2 = ((X[1,2]‐meanx2)**2 + (X[2,2]‐meanx2)**2 + (X[3,2]‐
meanx2)**2 + (x[4,2]‐meanx2)**2)+(X[5,2]‐meanx2)**2 + (X[6,2]‐meanx2)**2 + (X[7,2]‐
meanx2)**2 + (x[8,2]‐meanx2)**2)+((X[9,2]‐meanx2)**2 + (X[10,2]‐meanx2)**2)/10;

S = cov(X);
Sn = ((n‐1)/n)*S;
R = corr(X);
x1 = X[*,1];
x2 = X[*,2];
print x1,x2;
print meanx1, meanx2;
print varx1, varx2, jwvar1, jwvar2;
print jwvar1, jwvar2;
print Sn, R;
quit;
run;

最佳答案

ziyenano 查看完整内容

/*语法有很多地方错误,就不一一写了; iml里面的var和std的用法有点奇怪,可以自己写程序计算方差,程序如下*/ proc iml; X={1 18.95,2 19,3 17.95,3 15.54,4 14,5 12.95,6 8.94,8 7.49,9 6,11 3.99}; N=10; mean=x[:,]; var=(X-repeat(mean,10,1))[##,]/N; print var; quit; /*结合means过程计算的方差,注意这里是修正的方差,分母为N-1 将计算结果乘以N-1再除以N,与上述结果是一样的*/ proc iml; X={1 18.95,2 ...
关键词:variance Sample varian sas程序 ance 程序
沙发
ziyenano 发表于 2013-1-22 13:50:29 |只看作者 |坛友微信交流群
/*语法有很多地方错误,就不一一写了;
iml里面的var和std的用法有点奇怪,可以自己写程序计算方差,程序如下*/
proc iml;
X={1 18.95,2 19,3 17.95,3 15.54,4 14,5 12.95,6 8.94,8 7.49,9 6,11 3.99};
N=10;
mean=x[:,];
var=(X-repeat(mean,10,1))[##,]/N;
print var;
quit;

/*结合means过程计算的方差,注意这里是修正的方差,分母为N-1
  将计算结果乘以N-1再除以N,与上述结果是一样的*/
proc iml;
X={1 18.95,2 19,3 17.95,3 15.54,4 14,5 12.95,6 8.94,8 7.49,9 6,11 3.99};
create ex from x;
append from x;
quit;
proc means data=ex var;
var col1 col2;
run;
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
webgu + 60 + 1 + 1 + 1 IML啊,要学。

总评分: 论坛币 + 60  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-6 03:36