MMM.agregar_costo_por_calibración_de_objetivo#
- MMM.add_cost_per_target_calibration(data, calibration_data, name_prefix='cpt_calibration')[fuente]#
Calibrate cost-per-target using an observed Normal likelihood.
This computes cost-per-target as
mean(spend) / mean(contribution)over the date dimension and adds an observedNormallikelihood for each calibration row:Normal(mu=cpt_mean, sigma=sigma, observed=target)- Parámetros:
- datos :
pd.DataFramepd.DataFrame DataFrame similar a una característica con columnas que coinciden con el entrenamiento
X, pero con valores de canal que representan el gasto (unidades originales). Debe incluir la mismafechay cualquier columna dedimsdel modelo.- calibration_data
pd.DataFrame - DataFrame con filas que especifican los objetivos de calibración. Debe incluir:
channel: nombre del canal enself.channel_columnscost_per_target: valor CPT deseadosigma: desviación aceptada; mayor => penalización más débil
y una columna por dimensión en
self.dims.- cpt_variable_name
str Nombre para el costo por objetivo Determinista en el modelo.
- name_prefix
str Prefijo a utilizar para los nombres potenciales generados.
- datos :
Ejemplos
Construya un modelo y calibra CPT para los seleccionados (dims, canal):
# spend data in original scale with the same structure as X spend_df = X.copy() # e.g., if X contains impressions, replace with monetary spend # spend_df[channels] = ... calibration_df = pd.DataFrame( { "channel": ["C1", "C2"], "geo": ["US", "US"], # dims columns as needed "cost_per_target": [30.0, 45.0], "sigma": [2.0, 3.0], } ) mmm.add_cost_per_target_calibration( data=spend_df, calibration_data=calibration_df, name_prefix="cpt_calibration", )