查找分位数回归模型的伪R平方

fnatzsnv  于 2023-06-19  发布在  其他
关注(0)|答案(1)|浏览(100)

我尝试为Boston数据集实现分位数回归。

library(MASS)
    
data(Boston)
    
attach(Boston)

qr_res_0.9 <- rq(medv ~ lstat + rm + crim + dis,
               tau = 0.9,
               data = Boston)

现在,模型总结的结果如下所示

summary(qr_res_0.9,se="boot")
## 
## Call: rq(formula = medv ~ lstat + rm + crim + dis, tau = 0.9, data = Boston)
## 
## tau: [1] 0.9
## 
## Coefficients:
##             Value     Std. Error t value   Pr(>|t|) 
## (Intercept) -20.75975  13.81979   -1.50218   0.13368
## lstat        -0.25857   0.22411   -1.15378   0.24914
## rm            9.01335   1.58000    5.70464   0.00000
## crim         -0.04028   0.11367   -0.35440   0.72319
## dis          -0.94489   0.29403   -3.21355   0.00140

这不包括Psuedo R平方/McFadden R平方值?我该怎么估计呢?
我试过什么?
参考Extract R^2 from quantile regression / summary()中的讨论
我已经实现了以下内容

rho <- function(u,tau=.5)u*(tau - (u < 0))
V <- sum(rho(qr_res_0.9$resid, qr_res_0.9$tau))
V
## [1] 558.4133

R平方应该在0到1之间?

50few1ms

50few1ms1#

显然,您正在尝试计算Koenker和马查多R1:
https://stats.stackexchange.com/a/129246/11849

library(MASS)
library(quantreg)

data(Boston)
#don't use `attach`

qr_res_0.9 <- rq(medv ~ lstat + rm + crim + dis,
                 tau = 0.9,
                 data = Boston)

qr_res_0.9_0 <- rq(medv ~ 1,
                 tau = 0.9,
                 data = Boston)

rho <- function(u,tau=.5)u*(tau - (u < 0))
Vhat <- sum(rho(qr_res_0.9$resid, qr_res_0.9$tau))
V0 <- sum(rho(qr_res_0.9_0$resid, qr_res_0.9_0$tau))

R1 <- 1-Vhat/V0
#[1] 0.4659297

从链接的答案:
我不认为R^2的概念可以很好地转化为分位数回归。你可以定义各种或多或少类似的量,就像这里一样,但无论你选择什么,你都不会拥有真实的R^2在OLS回归中的大部分性质。

相关问题