Я запустил полиномиальную модель логита в JMP и получил результаты, которые включали AIC, а также х-квадратные p-значения для каждой оценки параметра. Модель имеет один категорический результат и 7 категориальных объяснительных переменных.
Затем я соответствую тому, что, как я думал, построю ту же модель в R, используя multinom
функцию из пакета nnet .
Код был в основном:
fit1 <- multinom(y ~ x1+x2+...xn,data=mydata);
summary(fit1);
Тем не менее, эти два дают разные результаты. С JMP AIC составляет 2923,21, а с nnet::multinom
AIC - 3116,588.
Итак, мой первый вопрос : одна из моделей не так?
Во-вторых, JMP выдает значения хи-квадрат для каждой оценки параметра, которая мне нужна. Беглого резюме по мультиному fit1
нет - он просто дает оценки AIC и Deviance.
Мой второй вопрос , таким образом: есть ли способ получить p-значения для модели и оценки при использовании nnet::multinom
?
Я знаю, что mlogit - это еще один пакет R для этого, и похоже, что его вывод включает в себя p-значения; Однако я не смог запустить mlogit
с использованием моих данных. Я думаю, что я правильно отформатировал данные, но там говорилось, что у меня неверная формула. Я использовал ту же формулу, что и для меня multinom
, но, похоже, для нее требуется другой формат с использованием канала, и я не понимаю, как это работает.
Благодарю.
Ответы:
Я уверен, что вы уже нашли свои решения, поскольку этот пост очень старый, но для тех из нас, кто все еще ищет решения, я обнаружил, что http://youtu.be/-Cp_KP9mq94 - отличный источник инструкций о том, как запустить модель многочленной логистической регрессии в R, используя пакет mlogit. Если вы зайдете на сайт Академии эконометрики, у нее есть все сценарии, данные для R и SAS и STATA, я думаю, или SPSS, один из них.
Какой вид объясняет, как / почему и что делать с преобразованием ваших данных в формат «длинный» или «широкий». Скорее всего у вас широкий формат, который требует трансформации.
https://sites.google.com/site/econometricsacademy/econometrics-models/multinomial-probit-and-logit-models
источник
В целом, различия в значениях AIC между двумя различными частями программного обеспечения не являются полностью удивительными. Расчет вероятностей часто включает в себя постоянную, которая одинакова для разных моделей одних и тех же данных. Разные разработчики могут по-разному выбирать, что оставить в этой константе или нет. Когда вам следует беспокоиться, это когда различия в значениях AIC между двумя моделями различаются. На самом деле я только что заметил аргумент,
multinom()
позволяющий вам изменить способ сворачивания строк с одинаковыми значениями X, и это влияет на базовую линию отклонения и, следовательно, на AIC. Вы можете попробовать разные значения аргумента summ и посмотреть, согласны ли эти отклонения. Мы не знаем, что делает JMP! :)Если оценочные коэффициенты и стандартные ошибки одинаковы, то все хорошо. Если коэффициенты не одинаковы, не забывайте, что JMP может выбрать другой исходный исход для расчета коэффициентов.
multinom()
например, делает разные выборыmlogit()
.Получить p-значения из итогового () результата multinom () довольно легко. Я не могу воспроизвести ваши модели, поэтому вот пример со страницы справки на multinom ():
Я согласен, что выяснить пакет mlogit - это сложная задача! Читайте виньетки, внимательно. Они помогают.
источник
Fishing
набора данных с multinom?Вы также можете попробовать запустить многочленный логит с помощью пакета glmnet. Я не уверен, как заставить все переменные, но я уверен, что это возможно.
источник