【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.

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