statsmodels.discrete.discrete_model.MNLogit

class statsmodels.discrete.discrete_model.MNLogit(endog, exog, check_rank=True, **kwargs)[source]

Multinomial Logit Model

Parameters:
endogarray_like

endog is an 1-d vector of the endogenous response. endog can contain strings, ints, or floats or may be a pandas Categorical Series. Note that if it contains strings, every distinct string will be a category. No stripping of whitespace is done.

exogarray_like

A nobs x k array where nobs is the number of observations and k is the number of regressors. An intercept is not included by default and should be added by the user. See statsmodels.tools.add_constant.

missingstr

Available options are ‘none’, ‘drop’, and ‘raise’. If ‘none’, no nan checking is done. If ‘drop’, any observations with nans are dropped. If ‘raise’, an error is raised. Default is ‘none’.

check_rankbool

Check exog rank to determine model degrees of freedom. Default is True. Setting to False reduces model initialization time when exog.shape[1] is large.

Notes

See developer notes for further information on MNLogit internals.

Attributes:
endogndarray

A reference to the endogenous response variable

exogndarray

A reference to the exogenous design.

Jfloat

The number of choices for the endogenous variable. Note that this is zero-indexed.

Kfloat

The actual number of parameters for the exogenous design. Includes the constant if the design has one.

namesdict

A dictionary mapping the column number in wendog to the variables in endog.

wendogndarray

An n x j array where j is the number of unique categories in endog. Each column of j is a dummy variable indicating the category of each observation. See names for a dictionary mapping each column to its category.

Methods

cdf(X)

Multinomial logit cumulative distribution function.

cov_params_func_l1(likelihood_model, xopt, ...)

Computes cov_params on a reduced parameter space corresponding to the nonzero parameters resulting from the l1 regularized fit.

fit([start_params, method, maxiter, ...])

Fit the model using maximum likelihood.

fit_constrained(constraints[, start_params])

fit_constraint that returns a results instance

fit_regularized([start_params, method, ...])

Fit the model using a regularized maximum likelihood.

from_formula(formula, data[, subset, drop_cols])

Create a Model from a formula and dataframe.

get_distribution(params[, exog, offset])

get frozen instance of distribution

hessian(params)

Multinomial logit Hessian matrix of the log-likelihood

information(params)

Fisher information matrix of model.

initialize()

Preprocesses the data for MNLogit.

loglike(params)

Log-likelihood of the multinomial logit model.

loglike_and_score(params)

Returns log likelihood and score, efficiently reusing calculations.

loglikeobs(params)

Log-likelihood of the multinomial logit model for each observation.

pdf(eXB)

NotImplemented

predict(params[, exog, which, linear])

Predict response variable of a model given exogenous variables.

score(params)

Score matrix for multinomial logit model log-likelihood

score_obs(params)

Jacobian matrix for multinomial logit model log-likelihood

Properties

endog_names

Names of endogenous variables.

exog_names

Names of exogenous variables.


Last update: Dec 14, 2023