tvp#
Multiplicador de Proceso Gaussiano Variable en el Tiempo para Modelado de Mezcla de Marketing (MMM).
Diseñado para modelar efectos variables en el tiempo en modelos de mezcla de marketing (MMM).
Este módulo proporciona un multiplicador de Proceso Gaussiano (GP) que varía en el tiempo, utilizando la aproximación del Proceso Gaussiano en Espacio de Hilbert (HSGP).
Ejemplos#
Cree un modelo básico de PyMC utilizando el multiplicador GP variable en el tiempo:
import numpy as np
import pymc as pm
import pandas as pd
from pymc_marketing.hsgp_kwargs import HSGPKwargs
from pymc_marketing.mmm.tvp import (
create_time_varying_gp_multiplier,
infer_time_index,
)
# Generate example data
np.random.seed(0)
dates = pd.Series(pd.date_range(start="2020-01-01", periods=365))
sales = np.random.normal(100, 10, size=len(dates))
# Infer time index
time_index = infer_time_index(dates, dates, time_resolution=5)
# Define model configuration
hsgp_kwargs = HSGPKwargs(
m=200,
L=None,
eta_lam=1,
ls_mu=10,
ls_sigma=5,
cov_func=None,
)
coords = {"time": dates}
with pm.Model(coords=coords) as model:
# Shared time index variable
time_index_shared = pm.Data("time_index", time_index)
# Base parameter
base_sales = pm.Normal("base_sales", mu=100, sigma=10)
# Time-varying GP multiplier
varying_coefficient = create_time_varying_gp_multiplier(
name="sales",
dims="time",
time_index=time_index_shared,
time_index_mid=int(len(dates) / 2),
time_resolution=5,
hsgp_kwargs=hsgp_kwargs,
)
# Final sales parameter
sales_estimated = base_sales * varying_coefficient
# Likelihood
pm.Normal("obs", mu=sales_estimated, sigma=10, observed=sales)
# Sample from the model
with model:
trace = pm.sample()
# Plot results
import matplotlib.pyplot as plt
pm.plot_trace(trace, var_names=["base_sales"])
plt.show()
Funciones
|
Create a SoftPlusHSGP instance from either HSGPKwargs or dict config. |
|
Cree un multiplicador de Proceso Gaussiano que varíe en el tiempo. |
|
Infiera el índice de tiempo dado un nuevo conjunto de datos. |
|
Check if a dictionary uses HSGPKwargs-style keys. |
|
Prior variable en el tiempo, basado en el Proceso Gaussiano del Espacio de Hilbert (HSGP). |