Loguj transformację w GLM i dopasuj model

Sep 10 2020

Czy w przypadku ujemnego dwumianu GLM możemy zapisać transformację dziennika w następujący sposób?

library(MASS)
nb.fit <- glm.nb(y~log(X1)+log(X2)+X3+X4+log(X5),maxit=1000, data=df)
chisq.p.value <- pchisq(deviance(nb.fit ), df.residual(nb.fit), lower = F)
chisq.p.value

Tutaj X3i X4mają bardzo niskie wartości w porównaniu do X1, X2i X5. Yjest odpowiedzią zliczania z niezwykle dużą zmiennością bez odpowiedzi zerowych. Jak mogę sprawdzić, czy mój model dobrze pasuje do danych?

Skoro chisq.p.value = 0.22078(p> 0,05), czy możemy powiedzieć, że nasz model dobrze pasuje do danych?

Odpowiedzi

1 gung-ReinstateMonica Sep 12 2020 at 03:40

Twoje początkowe pytanie jest niejednoznaczne. Myślę, że pytasz, czy użycie dziennika w formule modelu powiela funkcję łączenia. Jeśli tak, odpowiedź brzmi: nie . Funkcja łączenia (która w tym przypadku jest logiem) jest transformacją przewidywanej średniej, a nie zmiennych towarzyszących. Chociaż napisana w innym kontekście, pomocne może być przeczytanie mojej odpowiedzi na pytanie: Różnica między modelami logit i probit . Możesz również zapytać, czy dozwolone jest stosowanie transformacji lub w szczególności transformacji logarytmicznych zmiennych predykcyjnych. Jeśli tak, odpowiedź brzmi tak , nie ma problemu z używaniem logów X-ów. Jeśli chodzi o ich interpretacje, możesz przeczytać: Interpretacja predyktora przekształconego logarytmicznie i / lub odpowiedzi. Na koniec, jeśli pytasz, czy Rpozwala ci użyć log()funkcji w argumencie formuły do ​​standardowej funkcji modelu, odpowiedź brzmi również tak (w końcu po prostu to zrobiłeś i zadziałało).

Nie można porównać nieprzetworzonych wartości oszacowanych współczynników dla zmiennych nietransformowanych i transformowanych logarytmicznie. Nie mają na myśli tego samego (patrz link powyżej). Ponadto generalnie nie należy porównywać współczynników dla różnych zmiennych, ponieważ zwykle są one w niewspółmiernych jednostkach.

Wreszcie, test, który przeprowadzasz ręcznie na końcu, nie jest testem dopasowania w sensie, o którym myślisz. Zamiast tego jest to test modelu jako całości (patrz: Testowanie modelu GLM przy użyciu wartości zerowych i odchyleń modelu ). Fakt, że nie jest to znaczące, oznacza, że ​​model nie ma zbyt wielu informacji na temat odpowiedzi. (Nie oznacza to jednak, że jest to złe dopasowanie!) Aby przetestować dobroć dopasowania, należy porównać dopasowany model z modelem nasyconym (por., Testuj model regresji logistycznej przy użyciu odchylenia resztowego i stopni swobody ). Ogólnie rzecz biorąc, uważam, że najlepszym sposobem oceny dopasowania jest wykreślenie danych z modelem i nałożeniem dopasowania LOWESS i sprawdzenie, jak się porównują.