正在摸索这个😵 简单地记记作业的操作流程
Q1:已知一组观测值,现在希望:对x升序排序,得到x的等级向量orderx,对y亦然。
%具体有多少观测点,是在一开始建立workfile时就已经定下来的,这里以5个为例
data x %创建数组x,输入数据
stort x %对数组x进行升序排序
data orderx %创建x的等级向量,并输入1,2,3,4,5
data y %创建数组y,输入数据
stort y %对数组y进行升序排序
data ordery %创建y的等级向量,并输入1,2,3,4,5
%再把orderx 和 ordery 以group的方式打开,会神奇地发现,是与原观测点对应的等级数对
Q2:计算spearman等级相关系数
已知一组观测点,做线性回归,计算得残差序列resid ,也就是.
现在需要对残差序列resid的绝对值取等级,对x的值取等级,接着求这两个等级序列的差,并对所得差序列的各个分量平方加和。
方法一:自己动手
data x %输入观测值(x,y),共29个
data y
ls y c x %初步建立线性回归,得到残差序列resid
sort x %对x的值进行排序
data orderx %创建x的等级序列orderx,在该序列中输入1、2、...、29。
sort abs(resid) %对残差序列resid,按照其绝对值进行排序,升序。
data orderesid %创建resid的等级序列orderesid,在该新建序列中输入1、2、...、29。
data d3 %创建新的数组d3
d3 = (orderesid-orderx)^2 %计算差的平方
scalar a = @sum(d3) %求和
计算得a,代入spearman等级相关系数的公式,即可。
方法二:
首先,创建新数组abse,用来存放残差序列resid的绝对值,点击workfile中的【genr】,输入abse=@abs(resid)
;
接着,以·group·的方式打开·x·和·abse·,点击【view】-[covariance analysis],打开对话框,选择method为【spearman rank…】,
即可,返回结果如下:
即为0.427586.