Uruchomiłem wielomianowy model logarytmiczny w JMP i otrzymałem wyniki, które obejmowały AIC oraz wartości p-kwadrat chi dla każdego oszacowania parametru. Model ma jeden kategoryczny wynik i 7 kategorycznych zmiennych objaśniających.
Następnie dopasowałem to, co, jak sądziłem, zbuduje ten sam model w R, używając multinom
funkcji w pakiecie nnet .
Kod był w zasadzie:
fit1 <- multinom(y ~ x1+x2+...xn,data=mydata);
summary(fit1);
Oba dają jednak różne wyniki. W przypadku JMP AIC to 2923.21, a w nnet::multinom
przypadku AIC to 3116.588.
Moje pierwsze pytanie brzmi: czy jeden z modeli jest zły?
Po drugie, JMP podaje wartości p-kwadrat chi dla każdego oszacowania parametru, którego potrzebuję. Uruchamianie podsumowania na multinomie fit1
nie - daje tylko szacunki, AIC i Deviance.
Moje drugie pytanie brzmi zatem: czy istnieje sposób na uzyskanie wartości p dla modelu i oszacowań przy użyciu nnet::multinom
?
Wiem, że mlogit to kolejny pakiet R do tego i wygląda na to, że jego dane wyjściowe zawierają wartości p; jednak nie byłem w stanie uruchomić mlogit
przy użyciu moich danych. Wydaje mi się, że miałem poprawnie sformatowane dane, ale napisano, że mam niepoprawną formułę. Użyłem tej samej formuły, której użyłem multinom
, ale wygląda na to, że wymaga innego formatu przy użyciu potoku i nie rozumiem, jak to działa.
Dzięki.
Odpowiedzi:
Jestem pewien, że już znalazłeś swoje rozwiązania, ponieważ ten post jest bardzo stary, ale dla tych z nas, którzy wciąż szukają rozwiązań - znalazłem http://youtu.be/-Cp_KP9mq94 to świetne źródło instrukcji, jak uruchom wielomianowy model regresji logistycznej w R, używając pakietu mlogit. Jeśli wejdziesz na stronę akademii ekononometrii, ona ma wszystkie skrypty, dane dla R i SAS i STATA, jak sądzę, lub SPSS jeden z nich.
Który rodzaj wyjaśnia, jak / dlaczego i co zrobić, aby przekształcić dane w format „długi” w porównaniu z „szerokim”. Najprawdopodobniej masz szeroki format, który wymaga transformacji.
https://sites.google.com/site/econometricsacademy/econometrics-models/multinomial-probit-and-logit-models
źródło
Zasadniczo różnice w wartościach AIC między dwoma różnymi programami nie są do końca zaskakujące. Obliczanie prawdopodobieństw często wymaga stałej, która jest taka sama między różnymi modelami tych samych danych. Różni programiści mogą dokonywać różnych wyborów dotyczących tego, co należy pozostawić w tej stałej lub poza nią. Powinieneś się martwić, gdy różnice w wartościach AIC między dwoma modelami różnią się. Właśnie zauważyłem argument, który
multinom()
pozwala zmienić sposób, w jaki wiersze o identycznych wartościach X są zawijane, i że wpływa to na linię podstawową dewiacji, a tym samym na AIC. Możesz wypróbować różne wartości argumentu summ i przekonać się, czy to powoduje, że odchylenia się zgadzają. Nie wiemy, co robi JMP! :)Jeśli szacowane współczynniki i standardowe błędy są takie same, jesteś dobry. Jeśli współczynniki nie są takie same, nie zapominaj, że JMP może wybrać inny wynik wyjściowy do obliczenia współczynników.
multinom()
dokonujemlogit()
na przykład różnych wyborów .Uzyskanie wartości p z wyniku podsumowania () multinom () jest dość łatwe. Nie mogę odtworzyć twoich modeli, więc oto przykład ze strony pomocy na multinom ():
Zgadzam się, że znalezienie pakietu mlogit to trochę wyzwanie! Przeczytaj uważnie winiety. Oni pomagają.
źródło
Fishing
zestawu danych z multinom?Możesz także spróbować uruchomić wielomianowy logit przy użyciu pakietu glmnet. Nie jestem pewien, jak wymusić zachowanie wszystkich zmiennych, ale jestem pewien, że jest to możliwe.
źródło