Modellergebnisse mit „selected_geos“ und „selected_times“ filtern

Bei der Analyse Ihres angepassten Meridian-Modells können Sie mit den Klassen Analyzer, Visualizer und BudgetOptimizer die Analyse auf bestimmte geografische Regionen oder Zeiträume beschränken. Mit diesen Argumenten können Sie Messwerte wie ROI oder inkrementelles Ergebnis berechnen, Visualisierungen erstellen und das Budget auf Grundlage von Teilmengen Ihrer Eingabedaten optimieren.

Verwenden Sie das Argument selected_geos, um den Umfang auf geografische Einheiten zu beschränken. Verwenden Sie das Argument selected_times, um die Klassen Analyzer und Visualizer auf Zeiträume zu beschränken. Wenn Sie das Zeitfenster für BudgetOptimizer definieren möchten, verwenden Sie die Argumente start_date und end_date (normalerweise im Stringformat yyyy-mm-dd).

Standardmäßig sind alle geografischen Einheiten und alle Zeiträume enthalten. Mit den booleschen Optionen aggregate_times und aggregate_geos, die in einigen Methoden verfügbar sind, können Sie die Ergebnisse entweder nach Zeit und geografischer Einheit segmentieren oder die ausgewählten Zeiträume und geografischen Einheiten aggregieren.

Beispielcode

In diesem Abschnitt werden mehrere hypothetische Szenarien für die Verwendung von selected_geos und selected_times vorgestellt.

Szenario 1: Zusammenfassende Messwerte für einen bestimmten Zeitraum berechnen

# Scenario 1: Calculate summary metrics for Q4 2024 only, aggregated across geos.

from meridian.analysis import analyzer
from meridian.model import model

mmm = model.Meridian(...)
mmm.sample_posterior(...)
analyzer_instance = analyzer.Analyzer(mmm)

selected_q4_times = [
    '2024-10-01',
    '2024-10-08',
    '2024-10-15',
    '2024-10-22',
    '2024-10-29',
    '2024-11-05',
    '2024-11-12',
    '2024-11-19',
    '2024-11-26',
    '2024-12-03',
    '2024-12-10',
    '2024-12-17',
    '2024-12-24',
    '2024-12-31',
]

q4_national_summary = analyzer_instance.summary_metrics(
    selected_times=selected_q4_times,
)

Szenario 2: Inkrementelles Ergebnis für zwei hypothetische geografische Einheiten berechnen

# Scenario 2: Calculate incremental outcome for 2 hypothetical geos, 'Geo_A', 'Geo_B' broken down weekly.

from meridian.analysis import analyzer
from meridian.model import model

mmm = model.Meridian(...)
mmm.sample_posterior(...)
analyzer_instance = analyzer.Analyzer(mmm)

# Note: Incremental Outcome can be aggregated by time or shown weekly.
geo_a_weekly_impact = analyzer_instance.incremental_outcome(
    selected_geos=['Geo_A', 'Geo_B'],
    aggregate_geos=False,  # Keep the geo dimension separate.
    aggregate_times=False,  # Show incremental outcome week-by-week.
)

Szenario 3: Modellanpassungsdiagramm filtern

# Scenario 3: Filtering Model Fit Plot
# You can restrict the ModelFit.plot_model_fit() visualization to a specific
# region and ensure results are shown at that detailed geo level.
# This example assumes weekly aggregation.

from meridian.model import model
from meridian.analysis import visualizer

mmm = model.Meridian(...)
mmm.sample_posterior(...)
# Assume 'mmm' is fitted
model_fit = visualizer.ModelFit(mmm)

model_fit_chart = model_fit.plot_model_fit(
    selected_geos=['Geo_A'],
    # Plotting January 2025
    selected_times=[
        '2025-01-01',
        '2025-01-08',
        '2025-01-15',
        '2025-01-22',
        '2025-01-29',
    ],
    # Display Geo_A's plot separately (relevant for multi-geo models)
    show_geo_level=True,
    include_baseline=True,
)