ich arbeite aktuell am empirischen Teil meiner Abschlussarbeit und bin schon recht weit gekommen, bin mir aber bei einigen Fragen immer noch ein wenig unsicher. Leider ist mein Betreuer keine große Hilfe, daher dachte ich, ich frage mal die Leute vom Fach.
Ich habe einen Datensatz, der aus einer Befragung von Unternehmen besteht. Diese Unternehmen sind in Wirtschaftsclustern angesiedelt und der für mich relevante Teil ist eine Reihe von Fragen, bei denen unterschiedliche Problemkategorien (Problem1, Problem2, ...) (und separat Chancen) in ja/nein-Manier abgefragt wurden.
Meine Forschungsfrage lautet letzten Endes, ob sich
1. die Anzahl der Probleme im Zeitablauf erhöht
2. bestimmte Probleme eher bei jungen Unternehmen auftauchen
Um die 1. Frage zu bearbeiten habe ich zwei Dinge getan: Zuerst habe ich versucht, eine Poisson-Regression durchzuführen, in der ich die Summen der mit "ja" beantworteten Problemkategorien als abhängige Variable n_nacht durch eine Mischung von Zeitvariablen und kategorialen Variablen wie Branche des Unternehmens und Clusterlocation zu erklären versuche.
Code: Alles auswählen
setwd("geheimgeheimgeheim/Documents/R_BA/Daten_WD")
load("nachtdata_2.Rda")
pna <- nachtdata_2
(tab <- xtabs(~ n_nacht, data = pna))
x <- as.numeric(names(tab))
plot(x, tab, type = "h", xlab = "Anzahl an Nachteilen", ylab = "Haeufigkeit")
points(x, tab, pch=16)
mod.nacht <- glm(n_nacht ~ Clustername + Branche + Alter + Mitgliedsjahre + zus_cm + zus_gu + zus_kmu +
zus_iv +zus_fo, family = "poisson", data = pna)
summary(mod.nacht)
Der erste Block nach dem Laden der Daten soll mir einen Überblick über die Datenstruktur geben, um die Annahmen einer Poissonverteilung zu überprüfen.
Hier stellt sich auch bereits meine erste Frage: In diesem speziellen Fall (Nachteile) sieht optisch alles sehr nach einer Poisson-Verteilung aus, die Säulen sind stark nach links an die 0 verschoben. Allerdings sieht es bei den anderen Kategorien (Vorteile, Hemmnisse, nicht im Code) weniger gut aus. Und selbst an dieser Stelle, wo das Histogramm okay aussieht liefert ein Test per Chi-Quadrat, dass die Verteilung nicht Poisson folgt.
Ich habe nun nach der Methode von Student (Anmerkung von student: Hier ist der Betreiber der Seite www.poissoverteilung.de gemeint!) einen Anpassungstest geschrieben:
Code: Alles auswählen
> summary(pna$n_nacht)
0 1 2 3
220 90 68 38
Code: Alles auswählen
mue_dach <- mean(pna$n_nacht) ###Schaetzung von muedach
dgof <-2 ###Da alle Beobachtungen entweder 0,1,2 oder 3 angegebene Probleme sind habe ich 4-2 Freiheitsgrade
pna$n_nacht <-as.factor(pna$n_nacht) ###Speichern der beobachteten Werte, daten_cqt hat den Typ named Integer
daten_chi_q_t <-summary(pna$n_nacht)
exp_values_pois <-dpois(c(0,1,2,3),mue_dach)*416 ###Da es 416 Beobachtungen gibt die Multiplikation um die erwarteten Werte einer echten
###Poisson-Verteilung zu bestimmen
x_squared <-sum((daten_cqt - exp_values_pois)^2/exp_values_pois) ###Ermitteln der Pruefgroesse
x_squared < qchisq(0.95,2) #### Evaluiert leider zu FALSE
Code: Alles auswählen
> summary(mod.nacht)
Call:
glm(formula = n_nacht ~ Clustername + Alter + Mitgliedsjahre +
zus_cm + zus_gu + zus_kmu + zus_iv + zus_fo, family = "poisson",
data = pna)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.9167 -1.2225 -0.4889 0.6065 2.2518
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 2.778e-01 3.674e-01 0.756 0.4496
Clustername1 3.812e-01 4.565e-01 0.835 0.4036
Clustername2 -6.725e-01 6.306e-01 -1.066 0.2863
Clustername3 -9.109e-01 7.586e-01 -1.201 0.2299
Clustername4 -4.328e-01 3.703e-01 -1.169 0.2426
Clustername5 -9.479e-01 4.642e-01 -2.042 0.0411 *
Clustername6 -7.274e-01 6.302e-01 -1.154 0.2484
Clustername7 -7.935e-01 5.504e-01 -1.442 0.1494
Clustername8 8.898e-02 3.250e-01 0.274 0.7842
Clustername9 -4.906e-01 6.270e-01 -0.782 0.4340
Clustername10 -7.884e-01 6.183e-01 -1.275 0.2023
Clustername11 -1.648e+01 1.477e+03 -0.011 0.9911
Clustername12 1.283e-01 3.949e-01 0.325 0.7453
Clustername13 6.509e-02 1.028e+00 0.063 0.9495
Clustername14 -1.535e-01 3.224e-01 -0.476 0.6341
Clustername17 -5.529e-01 3.294e-01 -1.678 0.0933 .
Clustername18 -2.012e-02 3.912e-01 -0.051 0.9590
Clustername19 -2.937e-01 3.272e-01 -0.898 0.3695
Clustername20 -2.078e-01 3.711e-01 -0.560 0.5756
Clustername21 -2.145e-01 5.122e-01 -0.419 0.6754
Clustername22 -3.771e-01 6.235e-01 -0.605 0.5453
Clustername23 -1.652e+01 9.326e+02 -0.018 0.9859
Clustername24 -3.902e-03 3.333e-01 -0.012 0.9907
Clustername25 -8.007e-03 4.894e-01 -0.016 0.9869
Clustername26 1.802e-01 5.728e-01 0.315 0.7531
Clustername27 -5.831e-01 5.684e-01 -1.026 0.3050
Clustername28 -2.017e+00 1.027e+00 -1.965 0.0495 *
Clustername29 -1.547e-01 1.030e+00 -0.150 0.8806
Alter -6.904e-04 2.139e-03 -0.323 0.7469
Mitgliedsjahre -4.695e-03 1.024e-02 -0.458 0.6467
zus_cmnein 3.540e-01 1.977e-01 1.790 0.0734 .
zus_gunein -2.158e-01 1.558e-01 -1.385 0.1660
zus_kmunein -2.434e-01 1.564e-01 -1.556 0.1196
zus_ivnein -1.515e-01 1.944e-01 -0.779 0.4359
zus_fonein -3.295e-02 1.555e-01 -0.212 0.8322
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for poisson family taken to be 1)
Null deviance: 383.77 on 273 degrees of freedom
Residual deviance: 335.24 on 239 degrees of freedom
(142 observations deleted due to missingness)
AIC: 719.03
Number of Fisher Scoring iterations: 14
Als alternativen Ansatz habe ich versucht, das Modell als Ordinale Regression laufen zu lassen, wäre das eine legitime Alternative? Ich würde das separat aufführen, dieser Post ist bereits eine WallOfText.
Ich würde mich sehr über Tipps, Anregungen und Gedanken freuen,
LG Malte