Wie ein gewichteter least-squares-in r für heteroscedastic Daten?
Ich bin mit einer regression, die auf Daten der Volkszählung, wo meine abhängige variable ist die Lebenserwartung, und ich habe acht unabhängigen Variablen. Die Daten aggregiert werden Städte, so habe ich viele tausend Beobachtungen.
Mein Modell ist etwas heteroscedastic obwohl. Ich möchte zum ausführen einer gewichteten least-squares, wo jede Beobachtung ist gewichtet nach der Bevölkerung der Stadt. In diesem Fall würde es bedeuten, dass ich möchte, zur Gewichtung der Beobachtungen mit dem Kehrwert der Quadratwurzel der Bevölkerung. Es ist mir unklar, jedoch, was wäre die beste syntax. Derzeit habe ich:
Model=lm(…,weights=(1/population))
Ist das richtig? Oder sollte es sein:
Model=lm(…,weights=(1/sqrt(population)))
(Fand ich diese Frage hier: Weighted-Least-Squares - R aber nicht klären, wie R interpretiert die GEWICHTE argument.)
Ich denke, das ist die Wurzel des Frage - gibt es R interpretieren Sie die GEWICHTE argument weiter?
InformationsquelleAutor Lucas De Abreu Maia | 2013-08-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Frage zu beantworten, Lucas, ich denke, Sie wollen weights=(1/Bevölkerung). R parametrisiert die GEWICHTE Umgekehrt proportional zu den Abweichungen, so dass die Angabe der GEWICHTE diesen Weg beträgt unter der Annahme, dass die Varianz der Fehler-term ist proportional zu der Bevölkerung der Stadt, die eine Allgemeine Annahme, die in dieser Einstellung.
Aber überprüfen Sie die Annahme! Wenn die Varianz der Fehler-Begriff ist in der Tat proportional zu der Größe der Bevölkerung, dann teilt man jedes Restrisiko durch die Quadratwurzel des entsprechenden sample-Größe, die Residuen sollten, haben Konstante Varianz. Denken Sie daran, die Aufteilung eine zufällige variable durch eine Konstante Ergebnisse in der Varianz dividiert durch das Quadrat der Konstanten.
Hier ist, wie können Sie das überprüfen: Erhalten Residuen aus der regression von
Dann teilen Sie die Residuen durch die Quadrat-Wurzeln der Bevölkerung Abweichungen:
Dann vergleichen Sie die stichprobenvarianz zwischen den Residuen entsprechend der unteren Hälfte der Bevölkerung in den Größen:
der Stichprobe Varianz zwischen den Residuen entsprechend der oberen Hälfte der Bevölkerung in den Größen:
Wenn diese beiden zahlen,
variance1
undvariance2
ähnlich sind, dann sind Sie etwas richtig machen. Wenn Sie sind drastisch unterschiedlich sind, dann vielleicht Ihre Annahme verletzt wird.InformationsquelleAutor Scott Powers
Vom
?lm
: "GEWICHTE: ein optionaler Vektor von gewichten verwendet werden, in den passenden Prozess. Sollte NULL sein oder einen numerischen Vektor. Wenn nicht-NULL, weighted least squares verwendet wird, mit gewichtenweights
(das heißt, die Minimierung der Summe(B*e^2)); sonst gewöhnliche kleinste Quadrate verwendet wird." R nicht jede weitere interpretation der GEWICHTE argument.Also, wenn das, was Sie wollen, zu minimieren ist die Summe der (quadrierten Abstand von jedem Punkt der fit-Linie * 1/sqrt(population), dann möchte man
...weights=(1/sqrt(population))
. Wenn Sie möchten, minimieren die Summe der quadrierten Abstand von jedem Punkt der fit-Linie * 1/Bevölkerung), dann möchte man...weights=1/population
.Welche von denen am besten geeignet ist... das ist eine Frage für CrossValidated!
InformationsquelleAutor Drew Steen