Przewiduj poissony GLM z przesunięciem

9

Wiem, że to prawdopodobnie podstawowe pytanie ... Ale nie wydaje mi się, aby znaleźć odpowiedź.

Dopasowuję GLM do rodziny Poisson, a następnie próbowałem przyjrzeć się prognozom, jednak wydaje się, że uwzględniono przesunięcie:

model_glm=glm(cases~rhs(data$year,2003)+lhs(data$year,2003),
offset=(log(population)), data=data, subset=28:36, family=poisson())

predict (model_glm, type="response")

Dostaję skrzynki, a nie stawki ...

Próbowałem też

model_glm=glm(cases~rhs(data$year,2003)+lhs(data$year,2003)+
offset(log(population)), data=data, subset=28:36, family=poisson())

z tymi samymi wynikami. Jednak gdy przewiduję z GAM, używając mgcv, przewidywania uwzględniają przesunięcie (otrzymuję stawki).

Czegoś mi brakuje?

Sandra
źródło
1
Nie zamieszczaj postów tutaj i na listach r-pomocy ... a jeśli zamierzasz publikować posty na forum stackoverflow / stackexchange, myślę, że SO byłoby lepsze (jest to pytanie techniczne R, a nie statystyki ...)
Ben Bolker,

Odpowiedzi:

12

Prawidłowe jest otrzymywanie spraw zamiast stawek, ponieważ przewidujesz przypadki. Jeśli chcesz uzyskać stawki, powinieneś użyć metody przewidywania w nowym zestawie danych, w którym wszystkie kolumny są równe danym, ale kolumna populacji identycznie równa 1, więc log (populaton) = 0. W takim przypadku otrzymasz liczbę przypadków jednej jednostki populacji, tj. Wskaźnik.

Giorgio Spedicato
źródło
1
Dziękuję za odpowiedź. Nie wydaje mi się dziwne przewidywanie przypadków, po prostu pomyślałem, że czegoś mi brakuje, aby ustawić przewidywanie stawek (przypadków / populacji). Ponieważ w GAM nie musiałem dodawać nic więcej, aby to przewidzieć (przypadki / populacja).
Sandra