Regresión Logit multinomial / condicional, ¿Por qué StatsModel falla en el ejemplo del paquete mlogit?

Estoy tratando de reproducir un ejemplo de una regresión logit multinomial del paquete mlogit en R.

data("Fishing", package = "mlogit") Fish <- mlogit.data(Fishing, varying = c(2:9), shape = "wide", choice = "mode") #a pure "conditional" model summary(mlogit(mode ~ price + catch, data = Fish)) 

Para reproducir este ejemplo con la función statsmodel MNLogit, exporto el conjunto de datos de pesca como un archivo csv y hago lo siguiente

 import pandas import statsmodels.api as st #load data df = pandas.read_csv("Fishing.csv") x = df.drop('mode', axis = 1) y = df['mode'] mdl = st.MNLogit(y, x) mdl_fit = mdl.fit() 

Recibo el siguiente error

 LinAlgError: Singular matrix 

He intentado averiguar cómo reorganizar el conjunto de datos originales Pesca, ya que sé que el paquete mlogit reorganiza los datos antes de ajustarlos, pero no puedo imaginar cómo cambiar eso en statsmodel. Cualquier ayuda sería muy apreciada.

MNLogit en statsmodels implementa una versión diferente de logit multinomial. AFAICS, corresponde a nnet multinom en R https://stats.stackexchange.com/questions/186344/r-interpreting-the-multinom-output-using-the-iris-dataset/188426

En este caso, los parámetros difieren entre las opciones pero no las variables explicativas. En la versión de elección múltiple de CLogit, o la versión de mlogit en R, las variables explicativas difieren entre las opciones, pero los parámetros son independientes de la opción.

CLogit y otras versiones logit multinomiales están esperando solicitudes de extracción de modelos de estadísticas, y actualmente no están disponibles en la twig principal.