在 GitHub 上查看源代码
|
优化后的预算分配情况。
meridian.analysis.optimizer.OptimizationResults(
meridian: meridian.model.model.Meridian,
analyzer: meridian.analysis.analyzer.Analyzer,
use_posterior: bool,
use_optimal_frequency: bool,
spend_ratio: np.ndarray,
spend_bounds: tuple[np.ndarray, np.ndarray],
_nonoptimized_data: xr.Dataset,
_nonoptimized_data_with_optimal_freq: xr.Dataset,
_optimized_data: xr.Dataset,
_optimization_grid: xr.Dataset
)
这是一个 dataclass 对象,包含来自 BudgetOptimizer 的数据集输出。这些数据集包括:
nonoptimized_data:未优化的预算指标(基于历史频次)。nonoptimized_data_with_optimal_freq:基于最佳频次的未优化预算指标。optimized_data:优化后的预算指标。optimization_grid:用于优化的网格信息。
指标(数据变量)包括:投资回报率、边际投资回报率、增量效果、CPIK。
此外,其中还存储了一些中间值和对来源拟合模型以及分析器的引用。这些对于直观呈现和调试非常有用。
方法
get_response_curves
get_response_curves() -> xr.Dataset
根据预算优化方案计算响应曲线。
此方法是 Analyzer.response_curves() 的封装容器,用于设置以下实参,以与返回此结果的 BudgetOptimizer.optimize() 调用中指定的预算优化方案保持一致。具体而言:
spend_multiplier与离散优化网格一致,会考虑网格步长和任何渠道级限制范围。selected_times、by_reach和use_optimal_frequency与BudgetOptimizer.optimize()中设置的值一致。
| 返回结果 | |
|---|---|
由 Analyzer.response_curves() 根据返回此结果的 BudgetOptimizer.optimize() 调用中指定的预算优化方案返回的数据集。 |
output_optimization_summary
output_optimization_summary(
filename: str, filepath: str
)
生成并保存 HTML 优化摘要输出。
plot_budget_allocation
plot_budget_allocation(
optimized: bool = True
) -> alt.Chart
绘制一个饼图,显示为每个渠道分配的支出。
| 实参 | |
|---|---|
optimized
|
如果为 True,则显示优化后的支出。如果为 False,则显示未优化的支出。
|
| 返回结果 | |
|---|---|
| 显示各渠道支出的 Altair 饼图。 |
plot_incremental_outcome_delta
plot_incremental_outcome_delta() -> alt.Chart
绘制一个瀑布图,显示增量效果的变化。
plot_response_curves
plot_response_curves(
n_top_channels: (int | None) = None
) -> alt.Chart
绘制每个渠道的响应曲线,其中包含支出限制。
| 实参 | |
|---|---|
n_top_channels
|
要包含的支出最高的渠道数量(可选)。默认包含所有渠道。 |
| 返回结果 | |
|---|---|
| 显示响应曲线和优化详细信息的 Altair 图。 |
plot_spend_delta
plot_spend_delta() -> alt.Chart
绘制一个条形图,显示各渠道的优化后支出变化。
__eq__
__eq__(
other
)
返回 self==value。
在 GitHub 上查看源代码