2013-07-01 14 views
5

Ich möchte eine Regression von y~x (nur 1 abhängige und 1 unabhängige Variable) machen, aber ich habe Heteroskedastizität. Die Variabilität von y nimmt zu, wenn x zunimmt. Um damit umzugehen, möchte ich gewichtete kleinste Quadrate durch die "gls()" Funktion in R verwenden. Aber ich muss zugeben, dass ich nicht verstehe, wie man es benutzt. Ich muss eine Varianzfunktion auf das Argument "Gewichte" der Funktion gls anwenden. Aber ich wähle nicht welches und wie man es benutzt. Könnten Sie mir bitte etwas Hilfe geben?Gewichtete kleinste Quadrate - R

Danke.

Antwort

5

Hier ist ein Beispiel für die Poisson-Zählung wie Daten, bei denen die Variation proportional zum Mittelwert ist (das klingt wie du hast).

Sie verwenden das recipricol als Gewicht, da Sie die Werte multiplizieren werden. Sie passen es an, um auf Poisson-Zähldaten zu achten, weil die Varianz Einheiten quadriert. Sie können etwas tun wie:

Um es einfach durch den X-Wert skalieren und sehen, was besser funktioniert.

+0

Wie kann ich beurteilen, ob es besser funktioniert? Der vom Bartlett-Test zurückgegebene Wert ist derselbe mit und ohne das Argument "Gewichte". Hier ist mein Code: a2 = read.table ("total37.txt", header = TRUE) m1 = lm (Res ~ MODEF, a2, Gewichte = 1/a2 $ MODEF^2) m2 = lm (Res ~ MODEF, a2) bartlett.test (Residuen (m1) ~ a2 $ MODEF)) Bartlett-Test Daten: Residuen (m1) und a2 $ MODEF Bartletts K-squared = 35,2706, df = 11, p Wert = 0.0002236 bartlett.test (Residuen (m2) ~ a2 $ MODEF)) Bartlett-Test Daten: Residuen (m2) und a2 $ MODEF Bartletts K-squared = 35,2706, df = 11, p-Wert = 0,0002236 – user1671537