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_df
pd.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 :
listdefórmulacadenaspython: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
- depvar
str El nombre de la variable dependiente en el choice_df.
- covariables :
listdestrpython: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.
- choice_df
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.
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.
Create coefficients for alternative-specific covariates.
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.
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.
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_configConfiguración de modelo predeterminada.
default_sampler_configConfiguración de muestreador predeterminada.
fit_resultObtenga el resultado de ajuste posterior fit_result.
idGenerar un valor hash único para el modelo.
output_varLa variable de salida del modelo.
posteriorposterior_predictivepredictionspriorprior_predictiveversionidatasampler_configmodel_config