Loading [MathJax]/jax/element/mml/optable/BasicLatin.js

27 votos

R-cuadrado en la regresión cuantílica

Estoy utilizando la regresión cuantílica para encontrar predictores del percentil 90 de mis datos. Estoy haciendo esto en R utilizando el quantreg paquete. ¿Cómo puedo determinar r2 para la regresión cuantílica que indicará qué parte de la variabilidad está siendo explicada por las variables predictoras?

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

7 votos

R2 no es relevante para la regresión cuantílica.

0 votos

@whuber : ¿Algún método alternativo que pueda utilizar para saber qué parte de la variabilidad se está explicando?

2 votos

¡Eso sería una buena cosa para preguntar en el cuerpo de su pregunta, en lugar de enterrarlo en un comentario! La "variabilidad explicada" (medida en términos de varianzas, de todos modos) es esencialmente un concepto de mínimos cuadrados; quizás lo que usted quiere es una medida apropiada de significación estadística o posiblemente de bondad de ajuste.

28voto

AdamSane Puntos 1825

Koenker y Machado [1] describir R1 una medida local de la bondad del ajuste en el ( τ ) cuantil.

Dejemos que V(τ)=min

Dejemos que \hat{\beta}(\tau) y \tilde{\beta}(\tau) son las estimaciones de los coeficientes para el modelo completo, y un modelo restringido, y sea \hat{V} y \tilde{V} sea el correspondiente V términos.

Definen el criterio de bondad de ajuste R^1(\tau) = 1-\frac{\hat{V}}{\tilde{V} } .

Koenker da el código para V ici ,

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

Así que si calculamos V para un modelo con una intercepción ( \tilde{V} - o V0 en el siguiente fragmento de código) y luego un modelo no restringido ( \hat{V} ), podemos calcular un R1 <- 1-Vhat/V0 que es - al menos teóricamente - algo así como el habitual R^2 .

Edición: En su caso, por supuesto, el segundo argumento, que se pondría donde f$tau en la llamada de la segunda línea de código, será el valor de tau que usaste. El valor de la primera línea simplemente establece el valor por defecto.

Explicar la varianza en torno a la media" no es realmente lo que se hace con la regresión cuantílica, por lo que no se debería esperar tener una medida realmente equivalente.

No creo que el concepto de R^2 se traduce bien en la regresión cuantílica. Se pueden definir varias cantidades más o menos análogas, como aquí, pero no importa lo que elijas, no tendrás la mayoría de las propiedades reales R^2 tiene en la regresión OLS. Debe tener claro qué propiedades necesita y cuáles no: en algunos casos puede ser posible tener una medida que haga lo que usted quiere.

--

[1] Koenker, R y Machado, J (1999),
Bondad de ajuste y procesos de inferencia relacionados para la regresión cuantil,
Revista de la Asociación Americana de Estadística, 94 :448, 1296-1310

0 votos

¿Debería ser tau=0,9 en lugar de 0,5?

0 votos

Sí, debería, pero si proporcionas el segundo argumento correcto (como se hace en la segunda línea que he citado arriba), así funciona. El valor de 0,5 en la primera línea es simplemente un argumento por defecto si no se especifica tau cuando se llama a la función. Lo aclararé en el post.

0 votos

@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- R^2 .

25voto

Neal Puntos 316

El pseudo- R^2 medida sugerida por Koenker y Machado (1999) en JASA mide la bondad del ajuste comparando la suma de desviaciones ponderadas para el modelo de interés con la misma suma de un modelo en el que sólo aparece el intercepto. Se calcula como

R_1(\tau) = 1 - \frac{\sum_{y_i \ge \hat y_i} \tau \cdot \vert y_i-\hat y_i \vert +\sum_{y_i<\hat y_i} (1-\tau) \cdot \vert y_i-\hat y_i \vert}{\sum_{y_i \ge \bar y} \tau \cdot \vert y_i-\bar y \vert +\sum_{y_i<\bar y_i} (1-\tau) \cdot \vert y_i-\bar y \vert},

donde \hat y_i =\alpha_{\tau}+\beta_{\tau}x es el ajuste \tau cuantil de la observación i y \bar y=\beta_{\tau} es el valor ajustado del modelo de sólo intercepción.

R_1(\tau) debe estar en [0,1] donde 1 correspondería a un ajuste perfecto ya que el numerador que consiste en la suma ponderada de las desviaciones sería cero. Es un local medida de ajuste para el QRM ya que depende de \tau a diferencia del global R^2 de OLS. Podría decirse que ese es el origen de las advertencias sobre su uso: si el modelo se ajusta en la cola, no hay garantía de que se ajuste bien en cualquier otra parte. Este enfoque también podría utilizarse para comparar modelos anidados.

Aquí hay un ejemplo en 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

Probablemente esto podría lograrse de forma más elegante.

0 votos

Su fórmula no se muestra bien. Después del signo menos en: R_1(\tau) = 1 - el último personaje es una especie de lío. ¿Podrías comprobarlo? Tal vez has pegado algún carácter no estándar en lugar de usar Tex.

0 votos

@Tim no veo nada extraño, ni en el tex ni en la pantalla.

0 votos

Se ve así tanto en linux como en windows: snag.gy/ZAp5T.jpg

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X