R cuadrado en regresión cuantil

21

Estoy usando la regresión cuantil para encontrar predictores del percentil 90 de mis datos. Estoy haciendo esto en R usando el quantregpaquete. ¿Cómo puedo determinar para la regresión cuantil que indicará cuánta variabilidad están explicando las variables predictoras?r2

Lo que realmente quiero saber: "¿Algún método que pueda usar para encontrar cuánta variabilidad se está explicando?". Los niveles de significación de los valores de P está disponible en la salida del comando: summary(rq(formula,tau,data)). ¿Cómo puedo obtener bondad de ajuste?

rnso
fuente
77
R2 no es relevante para la regresión cuantil.
whuber
@whuber: ¿Algún método alternativo que pueda usar para encontrar cuánta variabilidad se explica?
rnso
2
¡Sería bueno hacer eso en el cuerpo de su pregunta, en lugar de enterrarlo en un comentario! La "variabilidad explicada" (medida en términos de variaciones, de todos modos) es esencialmente un concepto de mínimos cuadrados; quizás lo que quiere es una medida apropiada de significación estadística o posiblemente bondad de ajuste.
whuber
Para cualquier figura de mérito, debe considerar lo que sería un buen rendimiento, lo que sería un rendimiento deficiente y lo que sería irrelevante. Por ejemplo, no es una crítica del percentil 90 si ese es un mal predictor del percentil 10. Su punto de referencia podría ser lo que pueda usar si no estuviera usando la regresión cuantil. Si sus predictores son continuos, eso podría ser difícil de definir.
Nick Cox
1
@whuber: lo he agregado en el cuerpo de la pregunta. El nivel de significancia por valor P está disponible en el resumen (rq (fórmula, tau, datos)) de salida. ¿Cómo puedo obtener bondad de ajuste?
rnso

Respuestas:

23

Koenker y Machado [ 1 ] describen R 1 , una medida local de bondad de ajuste en el cuantil particular ( τ ).[1]R1τ

Sea V(τ)=minbρτ(yixib)

Deje β ( τ ) y ~ β ( τ ) sean los coeficientes estimados para el modelo completo, y un modelo restringido, y dejar que V y ~ V sean las correspondientes V términos.β^(τ)β~(τ)V^V~V

Definen la bondad de ajuste criterio .R1(τ)=1V^V~

Koenker da el código para aquí ,V

rho <- function(u,tau=.5)u*(tau - (u < 0))
V <- sum(rho(f$resid, f$tau))

Así que si calculamos para un modelo con un sólo intersección ( ~ V - o en el fragmento de código de más abajo) y luego un modelo sin restricciones ( V ), podemos calcular una que es - al menos teóricamente - algo así como los habituales R 2 .VV~V0V^R1 <- 1-Vhat/V0R2

Editar: en su caso, por supuesto, el segundo argumento, que se colocaría en el lugar f$taude la llamada en la segunda línea de código, será el valor tauque haya utilizado. El valor en la primera línea simplemente establece el valor predeterminado.

'Explicar la varianza sobre la media' realmente no es lo que estás haciendo con la regresión cuantil, por lo que no debes esperar tener una medida realmente equivalente.

No creo que el concepto de traduzca bien en regresión cuantil. Se pueden definir diferentes cantidades más o menos análogos, como en este caso, pero no importa lo que elija, usted no tendrá la mayor parte de las propiedades de bienes R 2 tiene en regresión por mínimos cuadrados. Debe tener claro qué propiedades necesita y cuáles no; en algunos casos, es posible tener una medida que haga lo que desea.R2R2

-

Koenker, R y Machado, J (1999), Bondad de ajuste y procesos de inferencia relacionados para la regresión cuantil, Journal of the American Statistical Association,94: 448, 1296-1310[1]

Glen_b -Reinstate a Monica
fuente
¿Debería tau = 0.9 ser más que 0.5?
Dimitriy V. Masterov
Sí, debería, pero si proporciona el segundo argumento correcto (como se hace en la segunda línea que cité anteriormente), así es como funciona. El valor de 0.5 en la primera línea es simplemente un argumento predeterminado si no especifica taucuándo llama a la función. Lo aclararé en el post.
Glen_b -Reinstate Monica
@Glen_b Gracias por la explicación. A menos que esté haciendo algo estúpido, V parece ser la suma de las desviaciones ponderadas sobre el cuantil estimado, en lugar de un pseudo- . R2
Dimitriy V. Masterov
@ Dimitriy Uh, tienes razón, dejé algo afuera. Arreglaré esto en breve.
Glen_b -Reinstate Monica
@ Dimitriy Creo que lo he arreglado ahora.
Glen_b -Reinstate Monica
19

La medida pseudo- sugerida por Koenker y Machado (1999) en JASA mide la bondad de ajuste al comparar la suma de las desviaciones ponderadas para el modelo de interés con la misma suma de un modelo en el que solo aparece la intersección. Se calcula comoR2

R1(τ)=1yiy^iτ|yiy^i|+yi<y^i(1τ)|yiy^i|yiy¯τ|yiy¯|+yi<y¯i(1τ)|yiy¯|,

y^i=ατ+βτx is the fitted τth quantile for observation i, and y¯=βτ is the fitted value from the intercept-only model.

R1(τ) should lie in [0,1], where 1 would correspond to a perfect fit since the numerator which consists of the weighted sum of deviations would be zero. It a local measure of fit for QRM since it depends on τ, unlike the global R2 from OLS. That is arguably the source of the warnings about using it: if you model fits in the tail, there's not guarantee that it fits well anywhere else. This approach could also be used to compare nested models.

Here's an example in 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

This could probably be accomplished more elegantly.

Dimitriy V. Masterov
fuente
Your formula does not display well. After the minus sign in: R_1(\tau) = 1 - 􀀀 the last character is some kind of mess. Could you check that? Maybe you pasted some non-standard character instead of using Tex.
Tim
@Tim I don't see anything strange, either in the tex or on the screen.
Dimitriy V. Masterov
It looks like this on both linux and windows: snag.gy/ZAp5T.jpg
Tim
@Tim That box doesn't correspond to anything, so it can be ignored. I will try to edit it out later from another machine.
Dimitriy V. Masterov