Loguj transformację w GLM i dopasuj model
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
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ą.