[英]Extract R^2 from quantile regression / summary()
我使用quantreg
包在R中运行以下分位数回归:
bank <-rq(gekX~laggekVIXclose+laggekliquidityspread+lagdiffthreeMTBILL+
lagdiffslopeyieldcurve+lagdiffcreditspread+laggekSPret, tau=0.99)
并通过提取系数和摘要统计
bank$coefficients
summary(bank)
我得到的结果是
Call: rq(formula = gekX ~ laggekVIXclose + laggekliquidityspread +
lagdiffthreeMTBILL + lagdiffslopeyieldcurve + lagdiffcreditspread +
laggekSPret, tau = 0.99)
tau: [1] 0.99
Coefficients:
Value Std. Error t value Pr(>|t|)
(Intercept) -0.03005 0.01018 -2.95124 0.00319
laggekVIXclose 0.00471 0.00069 6.81515 0.00000
laggekliquidityspread -0.01295 0.01619 -0.79976 0.42392
lagdiffthreeMTBILL -0.12273 0.12016 -1.02136 0.30717
lagdiffslopeyieldcurve -0.13100 0.06457 -2.02876 0.04258
lagdiffcreditspread -0.21198 0.15659 -1.35377 0.17592
laggekSPret -0.01205 0.46559 -0.02588 0.97936
但是,我想知道R ^ 2 /调整后的R ^ 2 - summary()
命令似乎可以为简单的OLS回归提供,但不是在分位数回归的情况下。
有人知道,如何提取它们?
在分位数回归中,您没有R平方或调整后的R平方。 它只是伪R平方并且没有像你在lm
使用summary
时所期望的那样在rq
报告,但是你可以在估计模型库之后如下计算它。
rho <- function(u,tau=.5)u*(tau - (u < 0))
V <- sum(rho(bank$resid, bank$tau))
这是“quantreg”包的作者在这里提供的答案
Koenker和Machado的1999年JASA论文提出的伪R ^ 2测量通过比较感兴趣模型的加权偏差之和与仅出现截距的模型中的相同和来测量拟合度。
这是R中的一个例子:
library(quantreg)
data(engel)
fit0 <- rq(foodexp~1,tau=0.9,data=engel)
fit1 <- rq(foodexp~income,tau=0.9,data=engel)
rho <- function(u,tau=.5)u*(tau - (u < 0))
R1 <- 1 - fit1$rho/fit0$rho
另一个答案中的代码只给出了该分数的分子。
在这些情况下,简单的方法是首先找到预测并使用R中的cor()函数来查找伪R ^ 2值以测量拟合的良好性。
pred<-predict(fitmodel,df) cor(df$response, pred)^2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.