2016-03-23 9 views
0

Bearbeitete Frage: jetzt muss die Beschränkung des Abschnitts durch eine REG-Anweisung innerhalb eines PROC SGPANEL materialisiert werden.Wie erzwinge ich, dass die Regressionslinie durchgeht (0,1)?

The syntax is: 

PROC SGPANEL DATA=...; 
PANELBY ...; 
REG Y=... X=.../...; 
RUN; 

Ich glaube nicht, dass die RESTRICT-Anweisung hier funktioniert. Was kann ich in dieser Situation tun?

...

vorherige Frage (in zufrieden stellender Weise beantwortet):

Ich mag würde meine Regressionslinie zwingen - PROC SGPANEL mit - gehen durch (0,1) (nicht (0 , 0), dann würde ich die NOINT-Option in der MODEL-Anweisung verwenden). Wie kann ich das machen?

Ich habe eine Dummy-Variable anstelle meiner Antwortvariable y erstellt:

dummy_y = y-1

Jetzt ist meine Idee, die NOINT Option und irgendwie ersetzen die Werte auf die zu verwenden ist vertikale Achse, die (-1, 0, 1, 2) mit den Werten (0, 1, 2, 3) sind.

Nun meine Fragen sind:

1) Wie kann ich die Werte auf der vertikalen Achse manipulieren die Absicht, oben beschrieben nach?

2) Wie kann ich den Abschnitt andernfalls zwingen, eins zu sein?

Meine Syntax lautet wie folgt:

proc reg date = DS;

Modell dummy_y = x/noint;

laufen lassen;

Schätzen Sie jede Hilfe.

+0

Sie die Daten vor dem Ausführen von 'proc reg' ändern können. Die Idee einer Dummy-Variablen scheint eine vernünftige Lösung zu sein. –

+0

Danke Gordon. Ich bin mir jedoch nicht sicher, ob ich das verstehe. Ich habe die Dummy-Variable erstellt, indem ich 1 von meiner Antwort abgezogen habe, bevor ich PROC REG ausgeführt habe. Also ist der Punkt (0,0) "tatsächlich" (0,1). Nun möchte ich den Wert "0" auf der vertikalen Achse durch "1" ersetzen, "1" durch "2" und so weiter ersetzen. –

+0

@Fuente Die Koeffizienten _a_ und _b_ der Regressionslinie _y = ax + b_ werden mit der Methode der kleinsten Quadrate geschätzt. "NOINT" -Option bedeutet, dass Sie _b_ weglassen und ein lineares Modell in der Form von _y = ax_ –

Antwort

1

Ich glaube, Sie sollten Ihre zweite Option versuchen: einen Schnittpunkt verwenden, aber mit der Einschränkung, dass es sollte 1 mit der Aussage einschränken:

proc reg date=DS; 

model y=x ; 
restrict intercept=1; 

run; 
+0

Ich denke, das ist die richtige Lösung: https://support.sas.com/documentation/cdl/en/statug/ 63033/HTML/default/viewer.htm # statug_reg_sect020.htm. –

+0

Ich kannte die RESTRICT-Anweisung nicht. Es scheint nützlich zu sein. Aber sollte ich nicht einfach meine ursprüngliche Antwortvariable y verwenden und dann den Abschnitt mit RESTRICT auf 1 setzen? Das ist der Dummy wird schließlich nicht benötigt? –

+0

In der Tat, das wollte ich zeigen. Ich habe meine Antwort aktualisiert. –

Verwandte Themen