MMM.construir_modelo#

MMM.build_model(X, y, **kwargs)[fuente]#

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

El modelo incorpora canales, variables de control y componentes de Fourier, aplicando transformaciones de adstock y saturación a los datos del canal. El modelo final se construye con múltiples factores que contribuyen a la variable de respuesta.

Parámetros:
Xpd.DataFrame

Los datos de entrada para el modelo, que deben incluir columnas para canales, variables de control (si corresponde) y componentes de Fourier (si corresponde).

yUnión[pd.Series, np.ndarray]

La variable objetivo/respuesta para el modelado.

**kwargsdict

Argumentos adicionales de palabras clave que pueden ser requeridos por los métodos o utilidades subyacentes.

Ejemplos

Inicializar el modelo con configuración personalizada

from pymc_marketing.mmm import (
    GeometricAdstock,
    LogisticSaturation
    MMM,
)
from pymc_extras.prior import Prior

custom_config = {
    "intercept": Prior("Normal", mu=0, sigma=2),
    "saturation_beta": Prior("Gamma", mu=1, sigma=3),
    "saturation_lambda": Prior("Beta", alpha=3, beta=1),
    "adstock_alpha": Prior("Beta", alpha=1, beta=3),
    "likelihood": Prior("Normal", sigma=Prior("HalfNormal", sigma=2)),
    "gamma_control": Prior("Normal", mu=0, sigma=2, dims="control"),
    "gamma_fourier": Prior("Laplace", mu=0, b=1, dims="fourier_mode"),
}

model = MMM(
    date_column="date_week",
    channel_columns=["x1", "x2"],
    adstock=GeometricAdstock(l_max=8),
    saturation=LogisticSaturation(),
    control_columns=[
        "event_1",
        "event_2",
        "t",
    ],
    yearly_seasonality=2,
    model_config=custom_config,
)