Modell ausführen

Wenn Sie das Modell ausführen, fügen Sie die Modellspezifikation hinzu und führen dann die Befehle aus, um Stichproben aus der Prior- und Posterior-Verteilung zu ziehen.

Markow-Chain-Monte-Carlo-Algorithmen (MCMC) werden verwendet, um Stichproben aus der Posterior-Verteilung zu ziehen. Meridian verwendet die No-U-Turn-Methode zur Stichprobenerhebung mit Schrittgröße und Kernel-Adaptation.

So führen Sie das Modell aus:

  1. Fügen Sie die Modellspezifikation hinzu.

    Beispiel:

    model_spec = spec.ModelSpec(
        prior=prior_distribution.PriorDistribution(),
        media_effects_dist='log_normal',
        hill_before_adstock=False,
        max_lag=8,
        unique_sigma_for_each_geo=False,
        media_prior_type='roi',
        roi_calibration_period=None,
        rf_prior_type='coefficient',
        rf_roi_calibration_period=None,
        organic_media_prior_type='contribution',
        organic_rf_prior_type='contribution',
        non_media_treatments_prior_type='contribution',
        knots=None,
        baseline_geo=None,
        holdout_id=None,
        control_population_scaling_id=None,
    )
    
  2. Führen Sie die folgenden Befehle aus, um Stichproben aus der Prior- und Posterior-Verteilung zu ziehen. Konfigurieren Sie die Parameter nach Bedarf:

    meridian = model.Meridian(input_data=data, model_spec=model_spec)
    meridian.sample_prior(500)
    meridian.sample_posterior(n_chains=7, n_adapt=500, n_burnin=500, n_keep=1000)
    
    Parameter Beschreibung
    n_chains Die Anzahl der Ketten, die parallel gezogen werden sollen. Um die Arbeitsspeicherauslastung zu reduzieren, können Sie eine Liste von Ganzzahlen verwenden, um sequenzielle Aufrufe für die MCMC-Stichprobenerhebung zu ermöglichen. Bei einer Liste entspricht jedes Element in der Sequenz dem n_chains-Argument für einen Aufruf von windowed_adaptive_nuts.
    n_adapt Die Anzahl der MCMC-Ziehungen pro Kette, bei denen Schrittweite und Kernel angepasst werden. Diese Ziehungen sind immer ausgeschlossen.
    n_burnin Eine zusätzliche Anzahl von MCMC-Ziehungen pro Kette, die ausgeschlossen werden sollen, nachdem Schrittweite und Kernel festgelegt wurden. Diese zusätzlichen Ziehungen können erforderlich sein, um sicherzustellen, dass alle Ketten die stationäre Verteilung erreichen, nachdem die Adaption abgeschlossen ist. In der Praxis stellen wir jedoch oft fest, dass die Ketten die stationäre Verteilung bereits während der Adaption erreichen und dass n_burnin=0 ausreicht.
    n_keep Die Anzahl der MCMC-Ziehungen pro Kette, die für die Modellanalyse und die Ergebnisse beibehalten werden sollen.

Führen Sie als Nächstes Diagnosen für die Modellierung aus, um die Konvergenz zu bewerten, die Verteilungen zu prüfen und die Modellanpassung zu beurteilen.