2017-09-04 250 views
0

我使用Proc GLM來擬合一個基本的固定效應模型,我想得到方差/協方差矩陣。我知道如果你使用proc reg的模型,這是非常重要的,但是我適合的模型對每個班級的成員(超過50名班級成員)有一個單獨的坡度,因此我不想爲它們編碼虛擬變量。Proc GLM的方差協方差矩陣

有沒有什麼辦法通過proc glm從擬閤中得到方差協方差矩陣。

下面是一個組成數據和我的代碼的例子。我想獲得估計值的方差 - 協方差矩陣。

data example; 
    input price cat time x2 x3; 
    cards; 
    5000 1 1 5.4 50 
    6000 1 2 6 45 
    3000 1 3 7  60 
    4000 2 1 5 50 
    4500 2 2 5.4 75 
    4786 3 1 6 33 
    6500 3 2 5.8 36 
    1010 3 3 4 41 
;;;; 
run; 


proc glm data=example PLOTS(UNPACK)=DIAGNOSTIC; 
    class cat; 
    model price= cat time x2 x3/ noint solution; 
run; 

我得到每個類別的參數估計值(這些人基本上是多餘參數),然後我感興趣的估算時間,X2和X3的協方差矩陣。

感謝

回答

0

你需要輸出添加到文件:(我在目的絲網印刷被禁用,但隨時爲您需要啓用它)

proc glm data=example noprint; 
    class cat; 
    model price= cat time x2 x3/noint solution ; 
    **output out= from_glm COVRATIO = Cov ;** 
run; quit; 

所得到:

price cat time x2 x3 COV 
5000 1 1 5.4 50 597.2565 
6000 1 2 6 45 8.312725 
3000 1 3 7 60 0.0493 
.... 

編輯:更新了輸出語句。

更多關於關鍵字看到https://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_glm_sect020.htm

希望這是你追求的。

+0

這只是創建一個相同的數據集,而不是給出方差 - 協方差矩陣。 –

+0

@RobertMontgomery Whops。確實。我認爲語法是outPut out = zz Covratio = Var_name。我會更新答案。 – pinegulf