MMM#

class pymc_marketing.mmm.multidimensional.MMM(*, date_column=FieldInfo(annotation=NoneType, required=True, description='Column name of the date variable.'), channel_columns=FieldInfo(annotation=NoneType, required=True, description='Column names of the media channel variables.', metadata=[MinLen(min_length=1)]), target_column=FieldInfo(annotation=NoneType, required=False, default='y', description='The name of the target column.'), adstock=FieldInfo(annotation=NoneType, required=True, description='Type of adstock transformation to apply.'), saturation=FieldInfo(annotation=NoneType, required=True, description='The saturation transformation to apply to the channel data.'), time_varying_intercept=False, time_varying_media=False, dims=FieldInfo(annotation=NoneType, required=False, default=None, description='Additional dimensions for the model.'), scaling=FieldInfo(annotation=NoneType, required=False, default=None, description='Scaling configuration for the model.'), model_config=FieldInfo(annotation=NoneType, required=False, default=None, description='Configuration settings for the model.'), sampler_config=FieldInfo(annotation=NoneType, required=False, default=None, description='Configuration settings for the sampler.'), control_columns=None, yearly_seasonality=None, adstock_first=True, dag=FieldInfo(annotation=NoneType, required=False, default=None, description='Optional DAG provided as a string Dot format for causal identification.'), treatment_nodes=FieldInfo(annotation=NoneType, required=False, default=None, description='Column names of the variables of interest to identify causal effects on outcome.'), outcome_node=FieldInfo(annotation=NoneType, required=False, default=None, description='Name of the outcome variable.'))[fuente]#

Clase del Modelo de Mezcla de Marketing para estimar el impacto de los canales de marketing en una variable objetivo.

Esta clase implementa la funcionalidad principal de un Modelo de Mezcla de Marketing (MMM), permitiendo la especificación de varios canales de marketing, transformaciones de adstock, efectos de saturación y parámetros que varían en el tiempo. Proporciona métodos para ajustar el modelo a los datos, realizar predicciones y visualizar los resultados.

Atributos:
date_columnstr

El nombre de la columna que representa la fecha en el conjunto de datos.

channel_columnslist[str]

A list of column names representing the marketing channels.

target_columnstr, optional

The name of the column representing the target variable in the dataset. Defaults to y.

adstock : TransformaciónAdstockTransformaciónAdstock

La transformación de adstock que se aplicará a los datos del canal.

saturación : SaturationTransformationTransformación de Saturación

La transformación de saturación que se aplicará a los datos del canal.

intercepto_variable_en_el_tiempo : boolbool

Si se debe utilizar un intercepto variable en el tiempo en el modelo.

media_variable_en_el_tiempo : boolbool

Si se deben utilizar efectos variables en el tiempo para los canales de medios.

dimstuple | None

Additional batch-dimensions for the model. One categorical-like column with the name of each batch dimension should be present in the dataset. This is used to identify which batch-dimension(s) are associated with each row of data. Data must be rectangular these batch dimensions (i.e., same dates and length for each combination)

escalado : Escalado | dict | NoneEscalado | python:dict | python:None

Métodos de escalado que se utilizarán para la variable objetivo y los canales de marketing. Por defecto, se utiliza escalado máximo para ambos.

model_configdict | None

Configuración de los ajustes para el modelo.

sampler_configdict | None

Configuración de los ajustes para el muestreador.

control_columnslist[str] | None

Una lista de variables de control para incluir en el modelo.

estacionalidad_anual : int | Noneint | None

El número de estacionalidades anuales a incluir en el modelo.

adstock_first : boolbool

Si aplicar transformaciones de adstock antes de la saturación.

Métodos

MMM.__init__(*[, date_column, ...])

Defina el método constructor.

MMM.add_cost_per_target_calibration(datos, ...)

Calibre el costo por objetivo utilizando restricciones a través de pm.Potential.

MMM.add_events(df_events, prefijo, efecto)

Agregue efectos de evento al modelo.

MMM.add_lift_test_measurements(df_lift_test)

Agregue pruebas de elevación al modelo.

MMM.add_original_scale_contribution_variable(var)

Agregue una variable pm.Deterministic al modelo que multiplica por el escalador.

MMM.approximate_fit(X[, y, barra_de_progreso, ...])

Ajuste un modelo utilizando Inferencia Variacional y devuelva InferenceData.

MMM.attrs_to_init_kwargs(attrs)

Convierte los atributos idata a los kwargs de inicialización del modelo.

MMM.build_from_idata(idata)

Reconstruya el modelo a partir de un objeto InferenceData.

MMM.build_model(X, y, **kwargs)

Construya un modelo probabilístico utilizando PyMC para el modelado de mezcla de marketing.

MMM.create_fit_data(X, y)

Cree un conjunto de datos adecuado alineado en fecha y dimensiones presentes.

MMM.create_idata_attrs()

Devuelva los atributos idata para el modelo.

MMM.fit(X[, y, barra_de_progreso, semilla_aleatoria])

Ajuste un modelo utilizando los datos pasados como parámetro.

MMM.forward_pass(x, dims)

Transformar la entrada del canal en las contribuciones objetivo de cada canal.

MMM.get_scales_as_xarray()

Devuelva los factores de escalado guardados como DataArrays de xarray.

MMM.graphviz(**kwargs)

Obtenga la representación graphviz del modelo.

MMM.idata_to_init_kwargs(idata)

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

MMM.load(fname[, check])

Cree una instancia de ModelBuilder a partir de un archivo.

MMM.load_from_idata(idata[, check])

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

MMM.post_sample_model_transformation()

Transformación del modelo posterior a la muestra para almacenar el estado de HSGP a partir del ajuste.

MMM.predict([X, extend_idata])

Utilice un modelo para predecir en datos no vistos y devuelva la predicción puntual de todas las muestras.

MMM.predict_posterior([X, extend_idata, ...])

Generar muestras predictivas posteriores en datos no vistos.

MMM.predict_proba([X, extend_idata, combined])

Alias para predict_posterior, por consistencia con los estimadores probabilísticos de scikit-learn.

MMM.sample_adstock_curve([amount, ...])

Sample adstock curves from posterior parameters.

MMM.sample_posterior_predictive([X, ...])

Muestra de la distribución predictiva posterior del modelo.

MMM.sample_prior_predictive([X, y, muestras, ...])

Muestra de la distribución predictiva previa del modelo.

MMM.sample_saturation_curve([max_value, ...])

Sample saturation curves from posterior parameters.

MMM.save(fname, **kwargs)

Guarde los datos de inferencia del modelo en un archivo.

MMM.set_idata_attrs([idata])

Establecer atributos en un objeto InferenceData.

MMM.table(**model_table_kwargs)

Obtenga la tabla resumen del modelo.

Atributos

data

Get data wrapper for InferenceData access and manipulation.

default_model_config

Defina la configuración del modelo predeterminado.

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

plot

Utilice el MMMPlotSuite para graficar los resultados.

plot_interactive

Access interactive Plotly plotting functionality.

posterior

posterior_predictive

predictions

prior

prior_predictive

sensitivity

Acceda a la funcionalidad de análisis de sensibilidad.

summary

Access summary DataFrame generation functionality.

version

idata

sampler_config

model_config