2017-09-04 5 views
0

Ich verwende Proc GLM, um ein grundlegendes Fixed-Effects-Modell anzupassen, und ich möchte die Varianz/Kovarianz-Matrix erhalten. Ich weiß, das ist sehr ost zu tun, wenn Sie ein Modell mit proc reg, aber das Modell, das ich passe, hat eine separate Neigung für jedes Mitglied einer Klasse (über 50 Mitglieder der Klasse) und so will ich nicht Code-Dummy-Variablen für alle von ihnen.Varianz-Kovarianz-Matrix von Proc GLM

Gibt es eine Möglichkeit, die Varianz-Kovarianz-Matrix aus einer Anpassung mit Proc Glm zu erhalten.

Hier ist ein Beispiel mit erfundenen Daten und meinem Code. Ich möchte eine Varianz-Kovarianz-Matrix der Schätzungen erhalten. Ich habe Interesse an der Kovarianzmatrix der Schätzungen Zeit, x2 und x3

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; 

Ich erhalte eine Parameterschätzung für jede Kategorie (diese sind im Wesentlichen Ärgernis Parameter) und dann.

Dank

Antwort

0

Sie müssen in eine Datei hinzuzufügen: (. I auf Siebdruck in Zweck deaktiviert, aber ich fühle mich frei, es zu ermöglichen, wie Sie benötigen)

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

zu Resultierende:

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

Bearbeiten: Aktualisierte die Ausgabeanweisung.

Weitere Informationen über die auf Schlüsselwörtern sehen https://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_glm_sect020.htm

Hoffentlich ist das, was Sie wollen.

+0

Das erstellt nur einen identischen Datensatz, anstatt eine Varianz-Kovarianz-Matrix anzugeben. –

+0

@RobertMontgomery Whops. Tatsächlich. Ich denke, die Syntax ist outPut out = zz Covratio = Var_name. Ich werde die Antwort aktualisieren. – pinegulf