[R] Fwd: effects() extractor for a quantile reqression object: error message
Gregg Powell
g@@@powe|| @end|ng |rom protonm@||@com
Fri Sep 6 16:12:53 CEST 2024
Need to kill some time, so thought I'd Opine.
Given the intent, as I understood it... to extract components from a quantile regression (rq) object similar to how one might extract effects from an lm object.
Since it seems effects() is not implemented for rq, here are some alternative approaches to achieve similar functionality or extract useful information from the quantile regression model:
1. Extracting Coefficients. Use the coef() function to extract the coefficients of the quantile regression model. This is similar to extracting the effects in a linear model.
> coef(qm.9)
This will return the estimated coefficients for the 0.9 quantile.
2. Extracting Fitted Values. To get the fitted values from the quantile regression model, use:
> fitted(qm.9)
This gives the fitted values for the quantile regression model, similar to what you'd see in an lm() model.
3. Extracting ResidualsResiduals from the quantile regression can be extracted using the resid() function:
> resid(qm.9)
This gives the residuals for the 0.9 quantile regression model, which can be a useful diagnostic for checking model fit.
4. Manually Calculating "Effects". While effects() is not available, you can manually calculate effects by examining the design matrix and the coefficients. If the term "effects" refers to the influence of different covariates in the model, these can be assessed by looking at the coefficients themselves and their impact on the fitted values.
5. Using the summary() Function. The summary() function for rq objects provides detailed information about the quantile regression fit, including coefficient estimates, standard errors, and statistical significance:
> summary(qm.9)
This can give a more comprehensive understanding of how covariates are contributing to the model.
6. Working with Design Matrices. If you need the design matrix for further custom calculations, you can extract it using:
> model.matrix(qm.9)
This returns the matrix of predictor variables, which you can then use to manually compute the "effects" of changes in the predictors.
7. Explore Partial Effects with predict(). The predict() function can help you assess how changes in predictor values affect the outcome. For instance, to predict values at specific points in the design space, you can use:
> predict(qm.9, newdata = data.frame(your_new_data))
8. Bootstrapping to Examine Variability. If you want to assess variability in the effects of predictors, you could use bootstrapping. The boot.rq() function in the quantreg package allows you to bootstrap the quantile regression coefficients, giving insight into the variability of the estimated "effects."
Example:
> boot_results <- boot.rq(y ~ X, tau = 0.9, data = your_data, R = 1000)
> summary(boot_results)
9.Interaction or Additive Effects (If Applicable). If you're trying to capture interaction or additive effects, you might need to specify interaction terms directly in your formula and then inspect the coefficients for these terms. Quantile regression will estimate these coefficients in the same manner as linear regression but specific to the quantile of interest.
In conclusion, while effects() is not available for quantile regression, the combination of coef(), fitted(), resid(), model.matrix(), and summary() provides the main components of a quantile regression model that should provide similar insights to what effects() provides for linear models.
Forgive any typos please... I'm on a mobile device.
Kind regards,
Gregg Powell
Sent from Proton Mail Android
-------- Original Message --------
On 06/09/2024 01:37, Koenker, Roger W <rkoenker using illinois.edu> wrote:
> Apologies, forgot to copy R-help on this response.
>
> Begin forwarded message:
>
>
> From: Roger Koenker <rkoenker using illinois.edu>
> Subject: Re: [R] effects() extractor for a quantile reqression object: error message
> Date: September 6, 2024 at 8:38:47 AM GMT+1
> To: "Christopher W. Ryan" <cryan using binghamton.edu>
>
> Chris,
>
> This was intended to emulate the effects component of lm() fitting, but was never implemented. Frankly, I don’t quite see on first glance how this works for lm() — it seems to be (mostly) about situations where X is not full rank (see lm.fit) and I also never bothered to implement rq for X that were not full rank.
>
> Roger
>
>
> On Sep 6, 2024, at 3:50 AM, Christopher W. Ryan via R-help <r-help using r-project.org> wrote:
>
> I'm using quantreg package version 5.98 of 24 May 2024, in R 4.4.1 on
> Linux Mint.
>
> The online documentation for quantreg says, in part, under the
> description of the rq.object, "The coefficients, residuals, and effects
> may be extracted by the generic functions of the same name, rather than
> by the $ operator."
>
> I create an rq object for the 0.9 quantile, called qm.9
>
> effects(qm.9)
>
> yields, the error message, " effects(qm.9)
> Error in UseMethod("effects") :
> no applicable method for 'effects' applied to an object of class "rq"
>
> I'm confused. Appreciate any suggestions. Thanks.
>
> --Chris Ryan
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://urldefense.com/v3/__https://stat.ethz.ch/mailman/listinfo/r-help__;!!DZ3fjg!8EOq_-vshoZYLg-FZREULmFkpvaXrZ6aw5ABLzjX4aq3XNvoDxGipcY73SPgiBQasfWdncPj7J2odYZKU3BD$
> PLEASE do read the posting guide https://urldefense.com/v3/__https://www.R-project.org/posting-guide.html__;!!DZ3fjg!8EOq_-vshoZYLg-FZREULmFkpvaXrZ6aw5ABLzjX4aq3XNvoDxGipcY73SPgiBQasfWdncPj7J2odY7Gv6_Z$
> and provide commented, minimal, self-contained, reproducible code.
>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide https://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 509 bytes
Desc: OpenPGP digital signature
URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20240906/881ff7fd/attachment.sig>
More information about the R-help
mailing list