MNLogit#

class pymc_marketing.customer_choice.mnl_logit.MNLogit(choice_df, utility_equations, depvar, covariates, model_config=None, sampler_config=None)[fuente]#

Clase de Logit Multinomial.

Clase para realizar un análisis logit multinomial con la intención específica de determinar los efectos de los atributos del producto en la preferencia del consumidor.

Parámetros:
choice_dfpd.DataFrame

Un DataFrame amplio donde cada fila es un escenario de elección. Los atributos específicos del producto se almacenan en columnas, y la variable dependiente identifica el producto elegido.

utility_equations : list de fórmula cadenaspython:lista de cadenas de fórmulas

Una lista de fórmulas que especifican cómo modelar la utilidad de cada alternativa de producto. Las fórmulas deben estar en notación de estilo Wilkinson y permitir que el producto objetivo se especifique como una función de los atributos específicos de la alternativa y los atributos específicos del individuo: target_product ~ target_attribute1 + target_attribute2 | individual_attribute

depvarstr

El nombre de la variable dependiente en el choice_df.

covariables : list de strpython:lista de python:str

Nombres de covariables (por ejemplo, [“X1”, “X2”]).

model_config : dict, opcionalpython:dict, opcional

Configuración del modelo. Si es None, se utiliza la configuración predeterminada.

sampler_config : dict, opcionalpython:dict, opcional

Configuración del muestreador. Si es None, se utiliza la configuración predeterminada.

Notas

Ejemplo:#

El formato de choice_df:

Depvar

alt_1_X1

alt_1_X2

alt_2_X1

alt_2_X2

alt_1

2.4

4.5

5.4

6.7

alt_2

3.5

6.7

2.3

8.9

Ejemplo de lista utility_equations:

utility_equations = [
    "alt_1 ~ X1_alt1 + X2_alt1 | income",
    "alt_2 ~ X1_alt2 + X2_alt2 | income",
    "alt_3 ~ X1_alt3 + X2_alt3 | income",
]

Métodos

MNLogit.__init__(choice_df, ...[, ...])

Inicializar la configuración del modelo y la configuración del muestreador para el modelo.

MNLogit.apply_intervention(new_choice_df[, ...])

Aplique uno de los dos tipos de intervención.

MNLogit.attrs_to_init_kwargs(attrs)

Convierte la configuración del modelo y la configuración del muestreador de los atributos a argumentos de palabra clave.

MNLogit.build_from_idata(idata)

Build model from loaded InferenceData.

MNLogit.build_model(**kwargs)

Build model using stored choice_df and utility_equations.

MNLogit.calculate_share_change(idata, new_idata)

Calcular la diferencia en la cuota de mercado debido a la intervención en el mercado.

MNLogit.create_idata_attrs()

Create attributes for InferenceData.

MNLogit.fit([choice_df, utility_equations, ...])

Fit the discrete choice model.

MNLogit.graphviz(**kwargs)

Obtenga la representación graphviz del modelo.

MNLogit.idata_to_init_kwargs(idata)

Cree la configuración del modelo y la configuración del muestreador a partir de InferenceData como argumentos de palabra clave.

MNLogit.load(fname[, check])

Cree una instancia de ModelBuilder a partir de un archivo.

MNLogit.load_from_idata(idata[, check])

Cree una instancia de ModelBuilder a partir de un objeto InferenceData.

MNLogit.make_alt_coefs()

Create coefficients for alternative-specific covariates.

MNLogit.make_choice_prob(U)

Compute choice probabilities via softmax transformation.

MNLogit.make_fixed_coefs(X_fixed, n_obs, n_alts)

Create alternative-varying coefficients for fixed (non-varying) covariates.

MNLogit.make_intercepts()

Create alternative-specific intercepts with reference alternative set to zero.

MNLogit.make_model(X, F, y)

Construir modelo.

MNLogit.make_utility(X_data, alphas, betas, F)

Compute systematic utility for each alternative.

MNLogit.parse_formula(df, fórmula, depvar)

Analice la estructura de tres partes de una especificación de fórmula.

MNLogit.plot_change(change_df[, título, figsize])

Cambio de trama inducido por una intervención en el mercado.

MNLogit.prepare_X_matrix(df, ...)

Prepare la matriz X para las ecuaciones de utilidad.

MNLogit.preprocess_model_data(choice_df, ...)

Preprocesar las entradas de iniciación del modelo en un formato que pueda ser utilizado por el modelo PyMC.

MNLogit.sample([...])

Muestrea todas las cosas.

MNLogit.sample_posterior_predictive([...])

Sample from posterior predictive distribution.

MNLogit.sample_prior_predictive([choice_df, ...])

Sample from prior predictive distribution.

MNLogit.save(fname, **kwargs)

Guarde los datos de inferencia del modelo en un archivo.

MNLogit.set_idata_attrs([idata])

Establecer atributos en un objeto InferenceData.

MNLogit.table(**model_table_kwargs)

Obtenga la tabla resumen del modelo.

Atributos

default_model_config

Configuración de modelo predeterminada.

default_sampler_config

Configuración de muestreador predeterminada.

fit_result

Obtenga el resultado de ajuste posterior fit_result.

id

Generar un valor hash único para el modelo.

output_var

La variable de salida del modelo.

posterior

posterior_predictive

predictions

prior

prior_predictive

version

idata

sampler_config

model_config