Warum schneiden gewöhnliche kleinste Quadrate besser ab als die Poisson-Regression?


18

Ich versuche, eine Regression zu erstellen, um die Anzahl der Morde in jedem Bezirk einer Stadt zu erklären. Obwohl ich weiß, dass meine Daten einer Poisson-Verteilung entsprechen, habe ich versucht, eine OLS wie diese anzupassen:

log(y+1)=α+βX+ϵ

Dann habe ich (natürlich!) Auch eine Poisson-Regression versucht. Das Problem ist, dass ich bessere Ergebnisse in der OLS-Regression habe: Das Pseudo- R2 ist höher (0,71 vs 0,57) und das RMSE auch (3,8 vs 8,88. Standardisiert, um die gleiche Einheit zu haben).

Warum? Es ist normal? Was ist falsch an der Verwendung des OLS, egal wie die Verteilung der Daten ist?

Bearbeiten Den Vorschlägen von kjetil b halvorsen und anderen folgend, habe ich die Daten durch zwei Modelle angepasst: OLS und Negative Binomial GLM (NB). Ich habe mit allen Funktionen begonnen, die ich habe, und dann rekursiv nacheinander die Funktionen entfernt, die nicht von Bedeutung waren. OLS ist

crimearea=α+βX+ϵ

mit Gewichten = .area

summary(w <- lm(sqrt(num/area) ~  RNR_nres_non_daily + RNR_nres_daily + hType_mix_std + area_filtr + num_community_places+ num_intersect + pop_rat_num + employed + emp_rat_pop + nden_daily + nden_non_daily+ bld_rat_area + bor_rat_area + mdist_highways+ mdist_parks, data=p, weights=area))

error2 <- p$num - (predict(w, newdata=p[,-1:-2], type="response")**2)*p$area

rmse(error2)
[1] 80.64783

Die NB prognostiziert die Anzahl der Straftaten, wobei das Gebiet des Distrikts als Offset angegeben wird.

summary(m3 <- glm.nb(num ~  LUM5_single  + RNR_nres + mdist_daily + mdist_non_daily+ hType_mix_std + ratio_daily_nondaily_area + area_filtr + num_community_places  + employed  + nden_daily + nden_non_daily+ bld_rat_area + bor_rat_area + mdist_smallparks + mdist_highways+ mdist_parks + offset(log(area)), data=p, maxit = 1000))

error <- p$num - predict(m3, newdata=p[,-1:-2], type="response")

rmse(error)
[1] 121.8714

OLS-Residuen:

Bildbeschreibung hier eingeben

NB Reste

Bildbeschreibung hier eingeben

Also ist der RMSE im OLS niedriger, aber es scheint, dass die Residuen nicht so normal sind ...


Können Sie weitere Details posten? Wie sind die Daten beschaffen? das heißt, was zählt die Antwortvariable? Was sind die erklärenden Variablen?
kjetil b halvorsen

@kjetilbhalvorsen Die abhängige Variable ist die Anzahl der Morde pro Bezirk (112 Bezirke). Die unabhängigen sind die strukturellen Merkmale der Stadt (Straßenkreuzungen, POIs usw.)
Marcodena

2
Wenn ich dieses Modell mit einer Poisson-Regression anpassen würde, würde ich log (districtsize) als Offset einfügen, um zu berücksichtigen, dass die Distrikte nicht alle die gleiche Größe haben. Es sei denn, sie sind.
mdewey

1
R2pseudoR2RMSER2pseudoR2

1
R2z=log(y+1)R2y

Antworten:


16

Ich vermute, dass ein Teil des Problems in Ihrer Wahl der Leistungsmetrik liegt. Wenn Sie die Testleistung mit RMSE messen, entspricht das Training des Modells zur Minimierung der MSE dem Testkriterium und gibt einen Hinweis darauf, was als wichtig erachtet wird. Möglicherweise stellen Sie fest, dass das Poisson-Modell (wie zu erwarten) besser funktioniert, wenn Sie die Testleistung anhand der negativen Log-Wahrscheinlichkeit des Testsatzes mithilfe einer Poisson-Wahrscheinlichkeit messen. Dies mag im Vergleich zu den anderen aufgeworfenen Fragen ein geringfügiges Problem sein, aber es könnte eine nützliche Überprüfung der geistigen Gesundheit sein.


1
+1. Wenn das Ziel des OP die Vorhersage war, könnte es tatsächlich einen Grund dafür geben, stattdessen ein OLS-Modell zu verwenden! Dennoch kann / sollte die klassische fehlerbasierte Inferenz, die sich aus OLS ergibt, nicht in GLMs angewendet werden. Man könnte studentisierte Residuen untersuchen, oder eine bessere Option wäre der Vergleich von Modellen mit AIC.
AdamO

11

Erstens würde ich bei solchen Daten eine Überdispersion erwarten (wenn Sie nicht wissen, was das ist, lesen Sie /stats//search?q=what+is+overdispersion%3F ).

log(DistrictSize)Nr. homicidesDistrict Size

Ein weiteres Problem ist die Transformation, die Sie bei der linearen Regression verwendet haben. Die übliche Varianzstabilisierungstransformation, die mit Zähldaten verwendet wird, ist die Quadratwurzel, nicht der Logarithmus.

Yi/xiYiPoisson(λxi)

EYixiλVYixixi1
xiYi/xilog(Yi/xi+1)
    EDIT

Beachten Sie bezüglich Ihrer zusätzlichen Analyse im Beitrag, dass rms nicht direkt zwischen den beiden Modellen verglichen werden kann, da unterschiedliche Antworten verwendet werden! Um einen direkten Vergleich durchzuführen, müssen Sie die vorhergesagten Werte auf die ursprüngliche Skala zurücktransformieren. Dann können Sie selbst rms berechnen und sehen. Beachten Sie jedoch, dass nach der Rücktransformation erhaltene Vorhersagen aufgrund von Nichtlinearitäten verzerrt sein können. Eine Anpassung der rücktransformierten Vorhersagen könnte sie daher nützlicher machen. In einigen Fällen könnte dies theoretisch berechnet werden, oder Sie könnten nur einen Bootstrap verwenden.


Ich habe die Modelle so eingebaut, wie Sie es vorgeschlagen haben, obwohl ich die Resonanz hinter dem gewichteten OLS nicht wirklich verstanden habe. Was denkst du?
Marcodena


2

Es ist wahr, dass Ihre Daten nicht normal verteilt sind (was vermutlich der Grund ist, warum Sie auch eine Poisson-Regression durchgeführt haben), aber Ihre Daten sind wahrscheinlich auch keine Poisson-Verteilung. Die Poisson-Verteilung geht davon aus, dass der Mittelwert und die Varianz gleich sind, was wahrscheinlich nicht der Fall ist (wie in anderen Antworten erwähnt - Sie können diese Diskrepanz erfassen und in das Modell integrieren). Da Ihre Daten für beide Modelle nicht perfekt geeignet sind, ist es sinnvoll, dass OLS möglicherweise eine bessere Leistung erbringt.

Eine andere zu beachtende Sache ist, dass die gewöhnlichen Schätzungen der kleinsten Quadrate robust gegenüber Nicht-Normalität sind, weshalb Sie möglicherweise ein vernünftiges Modell erhalten. Das Gauß-Markov-Theorem besagt, dass die OLS-Koeffizientenschätzer die besten linearen unverzerrten Schätzer (BLUE) (ausgedrückt als mittlerer quadratischer Fehler) unter den folgenden Annahmen sind:

  • Die Fehler haben einen Mittelwert von Null
  • Die Beobachtungen sind nicht korreliert
  • Die Fehler haben eine konstante Varianz

Es gibt hier keine Normalitätsannahme, daher können Ihre Daten für dieses Modell durchaus sinnvoll sein! Nachdem dies gesagt wurde, würde ich ein Poisson-Modell mit einem Überdispersionsparameter untersuchen, und Sie sollten bessere Ergebnisse erzielen.


@TynnaDoStat danke! Ich habe jetzt zwei Modelle eingebaut, eines mit Dispersionsparameter. Was denkst du?
Marcodena

2
Varianz = Mittelwert für eine Poisson- Verteilung wird oft als problematische Annahme für die Poisson- Regression herangezogen , aber der Punkt ist nicht so schwierig, wie es hier impliziert ist. Trotz des Namens ist die Hauptidee der Poisson-Regression die einer Log-Link-Funktion. Annahmen über die bedingte Verteilung sind bei weitem nicht so wichtig. Wenn nicht alle Annahmen zutreffen, ist es wahrscheinlich, dass die Standardfehler deaktiviert sind, es sei denn, Sie passen sie an, aber die Anpassung ist häufig sinnvoll.
Nick Cox

2
In der Tat kann die Poisson-Regression für nicht negative gemessene Antworten sinnvoll sein, bei denen Varianz und Mittelwert nicht einmal die gleichen Dimensionen haben. Siehe zB blog.stata.com/2011/08/22/…
Nick Cox
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.