Executar o modelo

Ao gerar o modelo, adicione a especificação dele e execute os comandos para criar amostras das distribuições a priori e a posteriori.

Os algoritmos de Monte Carlo via cadeias de Markov (MCMC) são usados para amostras da distribuição a posteriori. O Meridian usa o método de amostragem No-U-Turn com adaptação de kernel e taxa de aprendizado.

Para gerar o modelo:

  1. Adicione a especificação.

    Exemplo:

    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. Execute estes comandos para criar amostras das distribuições a priori e a posteriori. Configure os parâmetros conforme necessário:

    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)
    
    Parâmetro Descrição
    n_chains O número de cadeias de amostra em paralelo. Para reduzir o consumo de memória, use uma lista de números inteiros para permitir chamadas de amostragem sequenciais de MCMC. No caso de uma lista, cada elemento na sequência corresponde ao argumento n_chains de uma chamada para windowed_adaptive_nuts.
    n_adapt O número de extrações de MCMC por cadeia, com adaptação da taxa de aprendizado e do kernel. Essas extrações são sempre excluídas.
    n_burnin Um número adicional de extrações de MCMC por cadeia a serem excluídas após a correção da taxa de aprendizado e do kernel. Essas outras extrações podem ser necessárias para garantir que todas as cadeias atinjam a distribuição estacionária após a adaptação. Na prática, muitas vezes descobrimos que as cadeias atingem essa distribuição durante a adaptação e que n_burnin=0 é suficiente.
    n_keep O número de extrações de MCMC por cadeia a serem mantidas para a análise e os resultados do modelo.

Em seguida, execute diagnósticos da modelagem para avaliar a convergência e o ajuste do modelo, além de verificar as distribuições.