从分位数回归/汇总()中提取R^2
我使用从分位数回归/汇总()中提取R^2,r,quantile,quantreg,R,Quantile,Quantreg,我使用quantreg包在R中运行以下分位数回归: bank <-rq(gekX~laggekVIXclose+laggekliquidityspread+lagdiffthreeMTBILL+ lagdiffslopeyieldcurve+lagdiffcreditspread+laggekSPret, tau=0.99) 我得到的结果是 Call: rq(formula = gekX ~ laggekVIXclose + laggekliquidityspread + lagdif
quantreg
包在R中运行以下分位数回归:
bank <-rq(gekX~laggekVIXclose+laggekliquidityspread+lagdiffthreeMTBILL+
lagdiffslopeyieldcurve+lagdiffcreditspread+laggekSPret, tau=0.99)
我得到的结果是
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/adjusted R^2,summary()
-命令似乎为简单的OLS回归提供了它,但在分位数回归的情况下却没有
有人知道如何提取它们吗?在分位数回归中,没有R平方或调整后的R平方。它只是伪R平方,并且在
rq
中没有报告,正如您在lm
中使用summary
时所期望的那样,但您可以在估计模型库后按如下方式计算它
rho <- function(u,tau=.5)u*(tau - (u < 0))
V <- sum(rho(bank$resid, bank$tau))
rhoKoenker和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^2成分的一半。你能解释一下生成“rho”的函数吗?为什么这里使用tau=0.5?@Enigma对延迟响应表示抱歉。默认值是使用中值(tau=0.5)作为默认值,因为这是rq()中的默认值,并且经常被忽略。这里有更多的信息。
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