Jestem naprawdę oszołomiony faktem, że Poisson GLM akceptuje liczby niecałkowite! Popatrz:
Dane (treść data.txt
):
1 2001 0.25 1
1 2002 0.5 1
1 2003 1 1
2 2001 0.25 1
2 2002 0.5 1
2 2003 1 1
Skrypt R:
t <- read.table("data.txt")
names(t) <- c('site', 'year', 'count', 'weight')
tm <- glm(count ~ 0 + as.factor(site) + as.factor(year), data = t,
family = "quasipoisson") # also works with family="poisson"
years <- 2001:2003
plot(years, exp(c(0, tail(coef(tm), length(years)-1))), type = "l")
Wynikowy wskaźnik roku jest „oczekiwany”, tj. 1-2-4
W latach 2001-2003
.
Ale jak to możliwe, że Poisson GLM przyjmuje liczby niecałkowite? Rozkład Poissona zawsze był liczbą całkowitą!
family="poisson"
, ale pamiętaj, że twój przykład nie jest Poisson GLM, ponieważ korzystasz zquasipoisson
rodziny, która i tak zależy tylko od relacji między średnią a wariancją, więc w tym W takim przypadku nie powinno być zaskoczenia przy przyjmowaniu liczb niecałkowitych.Odpowiedzi:
Oczywiście masz rację, że rozkład Poissona technicznie jest zdefiniowany tylko dla liczb całkowitych. Jednak modelowanie statystyczne to sztuka dobrych aproksymacji („ wszystkie modele są błędne ”) i zdarza się, że sensowne jest traktowanie danych niecałkowitych tak, jakby to był [w przybliżeniu] Poissona.
Na przykład, jeśli wyślesz dwóch obserwatorów w celu zarejestrowania tych samych danych zliczania, może się zdarzyć, że dwóch obserwatorów nie zawsze zgadza się co do zliczenia - jeden może powiedzieć, że coś się wydarzyło 3 razy, a drugi powiedział, że stało się to 4 razy. Miło jest mieć opcję 3,5 przy dopasowywaniu współczynników Poissona, zamiast wybierać między 3 a 4.
Obliczeniowo, silnia w Poissonie może sprawiać trudności w pracy z liczbami niecałkowitymi, ale istnieje ciągłe uogólnianie silni. Co więcej, wykonanie oszacowania maksymalnego prawdopodobieństwa dla Poissona nawet nie obejmuje funkcji czynnikowej, po uproszczeniu wyrażenia .
źródło
Wynika to z podejścia opartego na metodzie momentów, którego nauczyliśmy się w szkole, i prowadzi do uogólnionego równania szacunkowego .
@ Aaron wskazał, że faktycznie używasz quasi-Poissona w swoim kodzie. Oznacza to, że wariancja jest proporcjonalna do średniej
źródło