SAS简单的矩阵运算和变量的协方差矩阵

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SAS/IML矩阵功能简介

SAS/IML是SAS提供的一个可以进行矩阵运算编程的工具,详细使用请参见有关资料或系统帮助(Help | Extended Help | SAS System Help: Main Menu | Help for SAS Products | SAS/IML)。下面给出SAS/IML常用命令:

●proc iml 调用SAS/IML矩阵运算编程的工具;

●用+、-、*符号表示矩阵的加减乘;

●用||表示矩阵左右连接,用//表示矩阵上下连接;

●用#表示用某个常数分别乘以矩阵中的每个元素3#x;

●用/表示用某个常数分别去除矩阵中的每个元素x/3;

●用##矩阵中的每个元素进行乘方运算x##2;

●用g=inv(x)表示g是x的逆;

●用e=eigval(x) 表示e是x特征值;

●用d=eigvec(x) 表示d是x特征向量;

●用h=det(x) 表示h是x行列式;

●用t=trace(x) 表示t是x的迹;

●用rank=round(trace(ginv(x)*x)) 表示rank是x的秩;

G = GINV(A) 表示求A的广义逆矩阵,如果G = GINV(A),那么AGA = A,GAG =

G,(AG)' = AG和(GA)' = GA;

●用下面的程序表示求矩阵x的某个子矩阵

proc iml;

x={123,

456,

789};

m=x[2:3,1:3]; (矩阵m是x的第2行到第3行和第1列到第3列构成的子矩阵)

print m;

●用下面的程序求由几个子矩阵构成一个矩阵⎡⎤

⎢⎥

⎢⎥

⎢⎥

⎣⎦

A

B

C

proc iml; a={2 2, 4 4} ;

b={6 6,

8 8} ;

c=block(a,b);

print c;

2 2 0 04 4 0 00 0 6 60 0 8 8⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦

c

● 用a=I(k)求k 阶单位矩阵a=I(k) 111k ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣

⎦I = ● 用b=j(k)求每个元素均为“1”的k 阶矩阵

111111111k

⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦J 。

用CORR 过程计算相关系数和偏相关系数

相关系数可以反映变量两两之间的线性相关,偏相关系数反映在某些变量给定的条件下,两个变量之间的相关关系的密切程度。程序示例: data a; input x1-x7@@; cards;

数据行省略 ; proc corr cov nosimple noprob; var x1-x7; proc corr cov; var x1;

with x3;

partial x7;

run;

proc corr:计算相关系数;

cov 给出协方差矩阵;

nosimple 不计算简单的描述统计量,省略时给出描述统计量;

noprob 不做相关系数检验,仅仅计算相关系数的值

var 变量名分析变量的名字

with 变量名关系变量

partial 变量名条件变量

输出分为两个部分,第一部分是各变量的简单统计量,第二部分是三个变量两两之间的相关系数矩阵。

相关文档
最新文档