3 votos

¿Existe una forma de calcular el R-cuadrado en OLS sin calcular los coeficientes?

El trasfondo de mi pregunta es que para, por ejemplo, la prueba de heteroscedasticidad de White o la prueba de autocorrelación de Breusch-Godfrey (LM), generalmente sólo nos interesa el R-cuadrado de la regresión "auxiliar". Sin embargo, la única forma de calcular dicho R-cuadrado que conozco implica derivar los coeficientes, etc. Esto puede consumir mucho tiempo debido al gran número de regresores y, por lo tanto, a la gran dimensión de la matriz que hay que invertir (en el caso de la prueba de White, la regresión de los residuos al cuadrado sobre las variables independientes, sus cuadrados y los productos cruzados; el número de regresores es, por lo tanto, una función cuadrática del número de variables independientes).

¿Existe una "forma alternativa" de calcular (o quizás aproximar) la R-cuadrada?

(Sé que el problema podría evitarse utilizando pruebas diferentes, por ejemplo, Breusch-Pagan en lugar de White para la heteroscedasticidad, Durbin-Watson en lugar de Breusch-Godfrey. Sin embargo, me interesa esta cuestión tanto por diversión como porque las pruebas alternativas mencionadas pueden ser inferiores a las mencionadas al principio).

11voto

Gordon Smyth Puntos 170

No, dada una regresión múltiple, no hay forma de calcular el R-cuadrado evitando la mayor parte de los otros cálculos. Ciertamente, se puede evitar el cálculo de los propios coeficientes, pero el trabajo principal del cálculo sigue siendo necesario.

Sin embargo, hay que tener en cuenta que nunca se invierte ninguna matriz durante una regresión lineal si el cálculo se realiza correctamente. Hay muchas respuestas en este sitio que lo explican, por ejemplo Suma de cuadrados residuales en la regresión ponderada

Aquí está lo que podría ser el mínimo cálculo posible para obtener R-cuadrado. Hay que ortogonalizar de alguna manera $y$ para las covariables de la regresión, y la descomposición QR es el método más utilizado para hacerlo. Supongamos que tenemos una $y$ vector de 10 observaciones:

    > y <- rnorm(10)

y un $X$ matriz con 2 predictores:

    > x1 <- rnorm(10)
    > x2 <- rnorm(10)

La forma más rápida de obtener el R-cuadrado sería la siguiente Primero la media correcta:

    > y.c <- y-mean(y)
    > x1.c <- x1-mean(x1)
    > x2.c <- x2-mean(x2)

A continuación, calcule una descomposición matricial QR para $X$ y $y$ juntos:

    > QR <- qr( cbind(x1.c, x2.c, y.c) )

Entonces R-cuadrado es uno menos la proporción de la suma de los cuadrados que aún queda:

    > Rsquared <- 1 - QR$qr[3,3]^2 / sum(y.c^2)
    > Rsquared
          y.c
    0.3266491

Podemos confirmar que esto es correcto:

    > fit <- lm(y ~ x1+x2)
    > summary(fit)

    Call:
    lm(formula = y ~ x1 + x2)

    Residuals:
         Min       1Q   Median       3Q      Max 
    -2.44213 -0.47947  0.08121  0.89085  1.54395 

    Coefficients:
                Estimate Std. Error t value Pr(>|t|)
    (Intercept)   0.5032     0.4761   1.057    0.326
    x1            0.5330     0.4118   1.294    0.237
    x2           -0.6153     0.4215  -1.460    0.188

    Residual standard error: 1.323 on 7 degrees of freedom
    Multiple R-squared:  0.3266,    Adjusted R-squared:  0.1343 
    F-statistic: 1.698 on 2 and 7 DF,  p-value: 0.2505

Por cierto, si no quiere molestarse en de-signar las variables x, entonces puede calcular la descomposición QR utilizando toda la matriz de diseño incluyendo el intercepto:

    > QR <- qr( cbind(1, x1, x2, y) )
    > Rsquared <- 1 - QR$qr[4,4]^2 / sum(y.c^2)

Esto da el mismo resultado porque la descomposición QR ortogonaliza cada columna sucesivamente con respecto a las columnas anteriores y la de-significación simplemente ortogonaliza todas las columnas con respecto al vector constante.

1voto

Aaditya Bagga Puntos 1031

No, porque la derivación para una regresión OLS es el problema de minimización de la suma de los residuos de regresión al cuadrado. Dado que R-cuadrado es monótona con respecto a SS-reg, el problema de optimización puede reescribirse como la maximización de R-cuadrado y el Lagrangiano dará los mismos primeros órdenes.

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