MMM.optimizar_presupuesto#
- MMM.optimize_budget(budget, num_periods, budget_bounds=None, response_variable='total_contribution', utility_function=<function average_response>, constraints=(), default_constraints=True, callback=False, **minimize_kwargs)[fuente]#
Optimice el presupuesto dado en función de la función de utilidad especificada durante un período de tiempo determinado.
Obsoleto desde la versión 0.0.3: Esta función optimiza la asignación de un presupuesto dado entre diferentes canales para maximizar la respuesta, considerando los efectos de adstock y saturación. Escala el presupuesto y los límites del presupuesto, realiza la optimización y genera un conjunto de datos sintético para el muestreo predictivo posterior.
La función primero escala el presupuesto y los límites del presupuesto utilizando la escala máxima del transformador de canal. Luego utiliza el
BudgetOptimizerpara asignar el presupuesto y crea un conjunto de datos sintético basado en la asignación óptima. Finalmente, realiza un muestreo predictivo posterior sobre el conjunto de datos sintético.Importante: Al generar la distribución predictiva posterior para el objetivo con el presupuesto optimizado, ¡estamos estableciendo las variables de control en cero! Esto se hace porque en muchas situaciones no tenemos todas las variables de control en el futuro (por ejemplo, control de valores atípicos, eventos especiales).
- Parámetros:
- presupuesto :
floatointpython:float o python:int El presupuesto total a ser asignado.
- num_periods
int El número de unidades de tiempo sobre las cuales se debe asignar el presupuesto.
- budget_bounds :
DataArrayrodict[str,tuple[float,float]], opcionalDataArrayr o python:dict[python:str, python:tuple[python:float, python:float]], opcional Un xarray DataArray o diccionario que especifica los límites inferiores y superiores para la asignación del presupuesto para cada canal. Si es None, no se aplican límites.
- response_variable :
str, opcionalpython:str, opcional La variable de respuesta a optimizar. El valor predeterminado es «total_contribution».
- utility_function :
UtilityFunctionType, opcionalTipoDeFunciónUtilidad, opcional La función de utilidad a maximizar. El valor predeterminado es la media de la distribución de respuestas.
- constraints
Sequence[Constraint], optional Custom constraints for the optimization. Each element must be an instance of
Constraint.- default_constraints : bool, opcionalbool, opcional
Si se debe agregar la restricción de suma predeterminada al optimizador. El valor predeterminado es True.
- callback : bool, opcionalbool, opcional
Si se debe devolver información de seguimiento de la optimización del progreso de la devolución de llamada. Cuando es Verdadero, devuelve un tercer elemento que contiene una lista de diccionarios con información de optimización en cada iteración. El valor predeterminado es Falso para mantener la compatibilidad hacia atrás.
- **minimize_kwargs
Argumentos adicionales para pasar al
BudgetOptimizer.
- presupuesto :
- Devoluciones:
az.InferenceDataLas muestras predictivas posteriores generadas a partir del conjunto de datos sintético.
- Aumentos:
ValueErrorSi la granularidad del tiempo no es compatible.
ValueErrorSi el nivel de ruido no es un número decimal.