Aufgabe 3

aspettl — Jun 27, 2013, 2:37 PM

# Daten einlesen
daten <- read.table("motorins.dat", header=T)
attach(daten)

# a) verallg. lin. Modell: Poissonverteilung mit natürlicher Linkfunktion
modell <- glm(Schaeden ~ 1+Kilometer+Zone+Bonus+Marke+Versicherte, family = poisson(link="log"))
summary(modell)

Call:
glm(formula = Schaeden ~ 1 + Kilometer + Zone + Bonus + Marke + 
    Versicherte, family = poisson(link = "log"))

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-62.33   -6.12   -3.26   -0.05   63.79  

Coefficients:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept)  2.66e+00   1.64e-02   162.2   <2e-16 ***
Kilometer   -2.69e-01   2.41e-03  -111.5   <2e-16 ***
Zone        -2.52e-01   1.74e-03  -144.3   <2e-16 ***
Bonus        7.86e-02   1.66e-03    47.5   <2e-16 ***
Marke        3.77e-01   1.66e-03   226.9   <2e-16 ***
Versicherte  2.84e-05   9.53e-08   297.8   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 435505  on 2181  degrees of freedom
Residual deviance: 178602  on 2176  degrees of freedom
AIC: 186252

Number of Fisher Scoring iterations: 6
# Output-Interpretation:
# 
# Das Modell ist
#     log lambda = 2.656 - 0.2692 * x_2 - 0.2516 * x_3 + ... + 0.00002837 * x_6
# wobei lambda der Parameter (und Erwartungswert) der Poisson-Verteilung
# für die Zielvariable "Schaeden" ist.
# 
# Alle erklärenden Variablen haben Einfluss auf die Zielvariable "Schaeden",
# da die Hypothesen, dass die zugehörigen Koeffizienten gleich Null sind,
# sehr stark signifikant verworfen werden (p-Wert < 2*10^-16)
# 
# Optional:
# - Der AIC-Wert wird zum Vergleich von Modellen verwendet (die auch
#   eine unterschiedliche Anzahl an Parametern haben), kleinere AIC-Werte
#   sind besser. (Da hier in der Aufgabe nur ein Modell, kein Vergleich.)
# - Die "Fisher-Scoring-Iterationen" sind die Anzahl der Iterationen im
#   modifizierten Newton-Verfahren, das für die numerische Bestimmung der
#   ML-Schätzer verwendet.

# b) Test, ob keine der erklärenden Variablen Einfluss auf die Schäden hat,
#    d.h. H_0: beta_2 = beta_3 = ... = beta_6 = 0
modell1 <- glm(Schaeden ~ 1, family = poisson(link="log"))
modell2 <- glm(Schaeden ~ 1+Kilometer+Zone+Bonus+Marke+Versicherte, family = poisson(link="log"))
# Likelihood-Ratio-Test über anova-Befehl durchführen
# (das reduzierte Modell steht üblicherweise vorne):
anova(modell1, modell2, test="Chisq")
Analysis of Deviance Table

Model 1: Schaeden ~ 1
Model 2: Schaeden ~ 1 + Kilometer + Zone + Bonus + Marke + Versicherte
  Resid. Df Resid. Dev Df Deviance Pr(>Chi)    
1      2181     435505                         
2      2176     178602  5   256903   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 
# H_0 wird verworfen, da p-Wert ungefähr 0, d.h. mindestens eine der erklärenden Variablen
# hat Einfluss auf Schäden

# c) Test, ob erklärende Variable "Zone" keinen Einfluss auf die Schäden hat,
#    d.h. H_0: beta_3 = 0
modell1 <- glm(Schaeden ~ 1+Kilometer+Bonus+Marke+Versicherte, family = poisson(link="log"))
modell2 <- glm(Schaeden ~ 1+Kilometer+Zone+Bonus+Marke+Versicherte, family = poisson(link="log"))
anova(modell1, modell2, test="Chisq")
Analysis of Deviance Table

Model 1: Schaeden ~ 1 + Kilometer + Bonus + Marke + Versicherte
Model 2: Schaeden ~ 1 + Kilometer + Zone + Bonus + Marke + Versicherte
  Resid. Df Resid. Dev Df Deviance Pr(>Chi)    
1      2177     201057                         
2      2176     178602  1    22455   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 
# H_0 wird verworfen, da p-Wert ungefähr 0, d.h. die Zone hat Einfluss auf Schäden