-
Notifications
You must be signed in to change notification settings - Fork 350
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
feat: RSSD penalty for 0 media effects media (parameter) #680
Conversation
enabling penalisation of model decomp with 0 media effects.
R/R/model.R
Outdated
@@ -42,6 +42,8 @@ | |||
#' "unconstrained". By default, if intercept is negative, Robyn will drop intercept | |||
#' and refit the model. Consider changing intercept_sign to "unconstrained" when | |||
#' there are \code{context_vars} with large positive values. | |||
#' @param rssd_0eff Logical. When TRUE, the objective function DECOMP.RSSD will |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- I'd change
rssd_0eff
with a less complex parameter name, maybe something likerssd_penalty
orrssd_zero_effect
or ... something without digits - We use "Boolean" instead of "Logical" across the documentation.
- Shouldn't this parameter live in the error calculation rather than here? We can pass the parameter via ... instead.
- Should we be more explicit on how we penalize?
- Should we apply this on
robyn_refresh()
as well? - This is a quite relevant change - we should adapt the documentation on the site as well to reflect the change.
CC @gufengzhou
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- then rssd_zero_penalty
- ok
- No, it's part of the objective function, not just a score for output. or where do you suggest?
- It's actually quite clear IMO. Given the same RSSD score, a model with 50% 0-coef will get penalized by RSSD * 1.5 (larger error), while another model with no 0-coef gets unpenalized with RSSD *1
- For refresh, I'm not sure at the moment, because the RSSD for refresh is calculated from the net new refresh datapoints, with the purpose to have beta coefs reflecting bigger spend changes --> If I stop spending on channel A for a week, ideally this should be reflected or not penalized. I'm not sure about this yet.
- Yes we should!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, pending only:
- Update site with this new parameter information (even though I've added your example to the internal parameter documentation).
- Agree on refresh default value.
QQ: why would a user set rssd_zero_penalty = FALSE
? Is it necesary we enable it as a parameter?
No description provided.