sampler_config= {"progressbar": True}
tvp_normal_config = {'intercept': {'dist': 'Normal', 'kwargs': {'mu': 0, 'sigma': 2}},
'beta_channel': {'dist': 'LogNormal',
'kwargs': {'mu': np.array([2, 1]), 'sigma': np.array([2.1775326 , 1.14026088])}},
'alpha': {'dist': 'Beta', 'kwargs': {'alpha': 1, 'beta': 3}},
'lam': {'dist': 'Gamma', 'kwargs': {'alpha': 3, 'beta': 1}},
'likelihood': {'dist': 'Normal',
'kwargs': {'sigma': {'dist': 'HalfNormal', 'kwargs': {'sigma': 2}}}},
'gamma_control': {'dist': 'Normal', 'kwargs': {'mu': 0, 'sigma': 2}},
'gamma_fourier': {'dist': 'Laplace', 'kwargs': {'mu': 0, 'b': 1}}}
custom_beta_channel_prior = {
'beta_channel': {
'dist': 'InverseGamma',
'mu': prior_mu_array,
'sigma': 0.3,
'kwargs': {'mu': 0, 'sigma': 2},
'dims': ('channel',)
}
}
custom_lam_prior = {
'lam': {
'dist': 'Gamma',
'mu': scaled_lam_array,
'sigma': 1,
'kwargs': {'mu': 0, 'sigma': 2},
'dims': ('channel',)
}
}
# Merge the configurations
model6_config = {
**tvp_normal_config,
**custom_beta_channel_prior,
**custom_lam_prior
}
with pm.Model() as model_6:
mmm_6 = DelayedSaturatedMMM(
model_config = model6_config,
sampler_config = sampler_configuration,
date_column="wc_sun",
channel_columns=media_variables,
control_columns=[
'm_affiliates_commiss',
'week_1_of_month',
]
,
adstock_max_lag=4,
yearly_seasonality=10
)
with pm.Model() as model_6:
trace_6 = mmm_6.fit(X=X_train_sorted,
y=y_train_sorted['kpi_volume'],
target_accept=0.8,
chains=2)
with model_6:
trace_6 = pm.sample_posterior_predictive(trace_6, extend_inferencedata=True)
Welcome!
Could you make your example runnable? There are several variables that donât exist (e.g., prior_mu_array
, scaled_lam_array
, sampler_configuration
, media_variables
, etc.). Then someone might be able to help you out!
prior_mu_array
eml_Cost 0.000113
PaidSearch_Cost 0.259171
PaidSocial_Cost 0.075319
Display_Cost 0.165396
scaled_lam_array
eml_Cost 2.000000
PaidSearch_Cost 2.911076
PaidSocial_Cost 2.351029
Display_Cost 3.000000
Sampler_configuration ={âprogressbarâ: True}
Variables
[âeml_SENTâ,
âDisplay_Impressionsâ,
âPaidSearch_Impressionsâ,
âPaidSocial_Impressionsâ]
Iâm not sure how to run these. Can I get a runnable version?
1 Like