-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
ENH/BUG: fixed scale in RLM, float scale_est #9211
Comments
one possibility The alternative I thought of initially Aside: Can we get rid of the another possibility |
I'm adding Note:
What we could do is add this option to make RLM optionally a proper MM estimator with some 1st step However, I think this gets too messy, with many required options (as e.g. in robustbase lmrob.control) and we have circular model calls (e.g. S-estimator call RLM, and MM estimator calls S-estimator.) So keep RLM as is and use it as a helper model for the RobustMM, RobustS, RobustDetS, RobustDetMM, ... RobustXxx, or RLMXxx. In that case we can deprecate One possible refactoring would be to make scale_est a RLM update |
after the fixed scale options in #9210, we still have a problem with cheap fix: set scale_est to "fixed" if update_scale is False and start_scale is not None. alternative: try to streamline the scale option, we have no several of those, scale_est, init, update_scale and start_scale However, we might still want to be able to use start_scale with other scale_est methods, e.g. to avoid initial mad scale. For now, I'm adding the "cheap fix" in #9227 |
I thought we have an option already to have fixed scale in RLM, e.g. for MM-estimation with preliminary scale estimate.
However, I cannot find a way to use the fit options for it.
I don't find a direct issue for it, nor a PR. (So I don't know why I had gotten the impression that it works.)
The work around I found is
setting the scale attribute directly and use options that scale is not estimated or updated
as verification that this works
I get the same parameter estimate as robustbase
res_ss = lmrob.S(res_s$x, hbk[["Y"]], control = lmrob.control(nRes = 20))
if I use the fixed scale (and start_params) from R in RLM.
(However, I'm not getting the same results as the robust base S-estimator if I simultaneously update the scale with biweight rho)
I'm not sure yet which option we want to use to fix the scale
init
docstring does not match the code, it is only use for initial scale estimate, but does not affect start params.(context: I'm trying to see whether we can reuse RLM as S-estimator for given "good" start_params. related to issue #9171 and PR #9210)
The text was updated successfully, but these errors were encountered: