-
Notifications
You must be signed in to change notification settings - Fork 178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
R2D2M2 prior for Saturated MMM #381
Comments
Thanks! yo you recommend this for the seasonality (Fourier modes) components? Or more generally, on the whole model? |
Are the coefficients suppose to be for all betas in the model or just for a subset like the control / or fourier? @ferrine |
For control and Fourier. Each Fourier component is normalised the same way as control. For marketing variables it would be another treatment, ideally via interactive prior predictive analysis |
Gotcha. So in this example, the And then the Think this could fit into the generalization of the gamma_control, gamma_fourier, sigma = create_r2d2_priors(
r2=Prior("Beta", mu=0.8, sigma=0.8 * 0.5),
total_sigma=Prior("LogNormal", mu=np.log(np.std(y)), sigma=0.1),
# These are the dim names in the model that will be combined
dims=["control", "fourier_mode"],
)
model_config = {
"likelihood": Prior("Normal", sigma=sigma),
"gamma_control": gamma_control,
"gamma_fourier": gamma_fourier,
}
mmm = MMM(..., model_config=model_config, ...)
Also, can you expand on the "interactive prior predictive analysis"? |
Also, do people tend to put priors on |
What is k |
Ah, I see, k is better set manually, is is problematic to infer |
This R2D2M2 prior will enable extra dims like |
Hi @AlfredoJF, Good question. The first step might not include geo, but it might be possible to extend. Maybe @ferrine knows better about this in practice. In your mind, @AlfredoJF, would the user specify the r2 by geo? Or would it be global r2? Or better yet, what prior information would you have? Do you have an example API specifying the input and output so we can understand what the user would provide? In my mind, the function just has to return sigma and various betas but adding geo becomes complex. Where does (geo, ) dim get included? All variables? sigmas? all betas? some betas? Let me know your thoughts! |
The existing MMM can be improved with variance decomposition framework, r2d2m2, which is plug and play into the existing code
Reference https://arxiv.org/abs/2208.07132
The text was updated successfully, but these errors were encountered: