R - Poisson-Regression

Bei der Poisson-Regression handelt es sich um Regressionsmodelle, bei denen die Antwortvariable in Form von Zählungen und nicht in Form von Bruchzahlen vorliegt. Zum Beispiel die Anzahl der Geburten oder die Anzahl der Siege in einer Fußballspielserie. Auch die Werte der Antwortvariablen folgen einer Poisson-Verteilung.

Die allgemeine mathematische Gleichung für die Poisson-Regression lautet -

log(y) = a + b1x1 + b2x2 + bnxn.....

Es folgt die Beschreibung der verwendeten Parameter -

  • y ist die Antwortvariable.

  • a und b sind die numerischen Koeffizienten.

  • x ist die Prädiktorvariable.

Die zum Erstellen des Poisson-Regressionsmodells verwendete Funktion ist die glm() Funktion.

Syntax

Die grundlegende Syntax für glm() Funktion in der Poisson-Regression ist -

glm(formula,data,family)

Es folgt die Beschreibung der in den obigen Funktionen verwendeten Parameter -

  • formula ist das Symbol für die Beziehung zwischen den Variablen.

  • data ist der Datensatz, der die Werte dieser Variablen angibt.

  • familyist ein R-Objekt, um die Details des Modells anzugeben. Der Wert ist "Poisson" für die logistische Regression.

Beispiel

Wir haben den eingebauten Datensatz "Warpbreaks", der die Auswirkung des Wolltyps (A oder B) und der Spannung (niedrig, mittel oder hoch) auf die Anzahl der Warpbrüche pro Webstuhl beschreibt. Betrachten wir "Pausen" als Antwortvariable, die die Anzahl der Pausen angibt. Der Wolltyp und die Spannung werden als Prädiktorvariablen verwendet.

Input Data

input <- warpbreaks
print(head(input))

Wenn wir den obigen Code ausführen, wird das folgende Ergebnis erzeugt:

breaks   wool  tension
1     26       A     L
2     30       A     L
3     54       A     L
4     25       A     L
5     70       A     L
6     52       A     L

Regressionsmodell erstellen

output <-glm(formula = breaks ~ wool+tension, data = warpbreaks,
   family = poisson)
print(summary(output))

Wenn wir den obigen Code ausführen, wird das folgende Ergebnis erzeugt:

Call:
glm(formula = breaks ~ wool + tension, family = poisson, data = warpbreaks)

Deviance Residuals: 
    Min       1Q     Median       3Q      Max  
  -3.6871  -1.6503  -0.4269     1.1902   4.2616  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept)  3.69196    0.04541  81.302  < 2e-16 ***
woolB       -0.20599    0.05157  -3.994 6.49e-05 ***
tensionM    -0.32132    0.06027  -5.332 9.73e-08 ***
tensionH    -0.51849    0.06396  -8.107 5.21e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 297.37  on 53  degrees of freedom
Residual deviance: 210.39  on 50  degrees of freedom
AIC: 493.06

Number of Fisher Scoring iterations: 4

In der Zusammenfassung suchen wir nach einem p-Wert in der letzten Spalte von weniger als 0,05, um einen Einfluss der Prädiktorvariablen auf die Antwortvariable zu berücksichtigen. Wie zu sehen ist, hat der Wolltyp B mit Spannungstyp M und H Einfluss auf die Anzahl der Brüche.