【Eviews】排序问题,以计算spearman等级相关系数为例

正在摸索这个😵 简单地记记作业的操作流程
Q1:已知一组观测值(xi,yi)(x_{i},y_{i}),现在希望:对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等级相关系数
已知一组观测点(xi,yi),i=1,2,...,n(x_{i},y_{i}) ,i=1,2,...,n,做线性回归,计算得残差序列resid ,也就是ei,i=1,2,...,ne_{i},i=1,2,...,n.
现在需要对残差序列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等级相关系数的公式r=16an3nr = 1-\frac{6a}{n^{3}-n},即可。

方法二:
首先,创建新数组abse,用来存放残差序列resid的绝对值,点击workfile中的【genr】,输入abse=@abs(resid)
接着,以·group·的方式打开·x·和·abse·,点击【view】-[covariance analysis],打开对话框,选择method为【spearman rank…】,
在这里插入图片描述
即可,返回结果如下:
在这里插入图片描述
即为0.427586.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章