楼主: yukai08008
2102 2

[学习分享] 矩阵思维3_IML计算基本统计量_Andy的原创帖14 [推广有奖]

  • 2关注
  • 17粉丝

讲师

2%

还不是VIP/贵宾

-

威望
0
论坛币
2176 个
通用积分
3.0600
学术水平
10 点
热心指数
7 点
信用等级
7 点
经验
5915 点
帖子
120
精华
0
在线时间
556 小时
注册时间
2012-11-28
最后登录
2022-4-11

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
IML计算有三个用处:
1、验证SAS计算统计量计算过程
2、建模是对于多个变量的处理(探索、哑变量)
3、更适用于算法
----以下是使用sashelp中的iris数据,使用IML计算了样本均值、样本方差、协方差矩阵和样本系数相关矩阵等----
验证则使用了means过程和corr过程。

/*1 载入iris数据*/

data iris;

setsashelp.iris;

run;

/*2 读入矩阵-存储矩阵*/

proc iml;

use iris;

read all var _num_ into ir;

close iris;

store ir;

quit;

/*3 载入矩阵*/

proc iml;

load  ir;

/*计算样本均值*/

ir_m=ir[:,];

/*计算x-avg(x):猜测sas是以向量为单位操作的*/

ir_t=ir-ir_m;

/*计算平方*/

ir_svar=ir_t[##,];

/*计算样本方差*/

ir_res=ir_svar[+,];

/*巧妙一点的方法来计算非缺失变量的个数*/

/*ir_row=nrow(ir);*/

ir_r1=ir/ir;

/*为了和proc means 验证,减掉一个自由度,在大样本的时候差异不大*/

ir_row=ir_r1[+,]-1;

/*均方差体现*/

ir_square=sqrt(ir_res/ir_row);

/*print ir_res ir_row  ir_square;*/

/*ir_t是每列与均值的差,存储这个结果来计算协方差*/

store ir_tir_square;

quit;

/*4 计算样本协方差*/

proc iml;

load ir_t ;

row=nrow(ir_t);

col=ncol(ir_t);

ir_cov=j(4,4,0);

do i=1 to col;

do j=1 to col;

tem=ir_t[,i]#ir_t[,j];

ir_cov[i,j]=tem[+,]/(row-1);

end;

end;

store ir_cov;

quit;

/*5 计算协方差矩阵*/

proc iml;

load ir_covir_square;

dim=ncol(ir_cov);

ir_idx=j(dim,dim,0);

do i=1 to dim;

do j=1 to dim;

ir_idx[i,j]=ir_cov[i,j]/(ir_square[,i]*ir_square[,j]);

end;

end;

print ir_idx;

quit;

[size=21.3333px]验证:

ods graphics on;

proc corr data=iris(keep= _numeric_) plots=matrix(histogram);

run;


ods graphics off;

结果1:散点图矩阵

MatrixPlot.png

结果二:corr过程统计量

相关系数矩阵

结果三:IML计算出的相关系数矩阵

计算结果


二维码

扫码加我 拉你入群

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

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

关键词:基本统计 Andy 统计量 histogram Graphics 统计

沙发
sas9.4 发表于 2016-7-2 15:49:07 |只看作者 |坛友微信交流群
可否计算 各个组内的均值方差或其他统计量 ?   类似于 group by  Species  这样的

使用道具

藤椅
yukai08008 在职认证  发表于 2016-7-4 15:26:48 |只看作者 |坛友微信交流群
sas9.4 发表于 2016-7-2 15:49
可否计算 各个组内的均值方差或其他统计量 ?   类似于 group by  Species  这样的
应该是可以的,有空我会再用矩阵算其他统计量的。

使用道具

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

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

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

GMT+8, 2024-4-25 13:47