Saltar al contenido principal
Library homepage
 
LibreTexts Español

15.4: Cuantificación del ajuste del modelo de regresión

  • Page ID
    151930
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Entonces ahora sabemos estimar los coeficientes de un modelo de regresión lineal. El problema es que aún no sabemos si este modelo de regresión es bueno. Por ejemplo, el modelo de regressión.1 afirma que cada hora de sueño mejorará bastante mi estado de ánimo, pero podría ser simplemente basura. Recuerda, el modelo de regresión solo produce una predicción\(\ \hat{Y_i}\) sobre cómo es mi estado de ánimo: mi estado de ánimo real es Y i. Si estos dos están muy cerca, entonces el modelo de regresión ha hecho un buen trabajo. Si son muy diferentes, entonces ha hecho un mal trabajo.

    Valor R 2

    Una vez más, envolvamos un poco de matemáticas alrededor de esto. En primer lugar, tenemos la suma de los residuos cuadrados:

    \(\ SS_{res} = \sum_i(Y_i - \hat{Y_i})^2\)

    que esperaríamos que fuera bastante pequeña. Específicamente, lo que nos gustaría es que sea muy pequeña en comparación con la variabilidad total en la variable de resultado,

    \(\ SS_{tot} = \sum_i(Y_i - \bar{Y})^2\)

    Mientras estamos aquí, calculemos estos valores en R. En primer lugar, para que mis comandos R se vean un poco más similares a las ecuaciones matemáticas, crearé las variables X e Y:

    X <- parenthood$dan.sleep  # the predictor
    Y <- parenthood$dan.grump  # the outcome

    Ahora que hemos hecho esto, calculemos\(\ \hat{Y}\) los valores y los almacenemos en una variable llamada y.Pred. Para el modelo simple que usa un solo predictor, regression.1, haríamos lo siguiente:

    Y.pred <- -8.94 * X  +  125.97

    Bien, ahora que tenemos una variable que almacena las predicciones del modelo de regresión de lo gruñón que estaré en un día determinado, calculemos nuestra suma de residuos cuadrados. Lo haríamos usando el siguiente comando:

    SS.resid <- sum( (Y - Y.pred)^2 )
    print( SS.resid )
    ## [1] 1838.722

    Maravilloso. Un gran número que no significa mucho. Aún así, forjemos audazmente hacia adelante de todos modos, y calculemos también la suma total de cuadrados. Eso también es bastante simple:

    SS.tot <- sum( (Y - mean(Y))^2 )
    print( SS.tot )
    
    ## [1] 9998.59

    Hm. Bueno, es un número mucho mayor que el anterior, así que esto sugiere que nuestro modelo de regresión estaba haciendo buenas predicciones. Pero no es muy interpretable.

    Quizás podamos arreglar esto. Lo que nos gustaría hacer es convertir estos dos números bastante sin sentido en un número. Un número agradable e interpretable, que sin ningún motivo en particular llamaremos R 2. Lo que nos gustaría es que el valor de R2 sea igual a 1 si el modelo de regresión no comete errores en la predicción de los datos. Es decir, si resulta que los errores residuales son cero —es decir, si SS res =0— entonces esperamos R 2 =1. De igual manera, si el modelo es completamente inútil, nos gustaría que R2 fuera igual a 0. ¿Qué quiero decir con “inútil”? Tentador como es exigir que el modelo de regresión salga de la casa, se corte el pelo y consiga un trabajo real, probablemente voy a tener que escoger una definición más práctica: en este caso, todo lo que quiero decir es que la suma residual de cuadrados no es menor que la suma total de cuadrados, SS res =SS tot . Espera, ¿por qué no hacemos exactamente eso? La fórmula que nos proporciona un valor de R 2 es bastante simple de anotar,

    \(\ R^2 ={ 1 -{ SS_{res} \over SS_{tot} }}\)

    e igualmente sencillo de calcular en R:

    R.squared <- 1 - (SS.resid / SS.tot)
    print( R.squared )
    ## [1] 0.8161018

    El valor R 2, a veces llamado coeficiente de determinación 216 tiene una interpretación simple: es la proporción de la varianza en la variable de resultado la que puede ser contabilizada por el predictor. Entonces en este caso, el hecho de que hayamos obtenido R2 =.816 significa que el predictor (mi.sueño) explica 81.6% de la varianza en el resultado (mi.gruñón).

    Naturalmente, en realidad no necesitas escribir todos estos comandos tú mismo si quieres obtener el valor de R2 para tu modelo de regresión. Como veremos más adelante en la Sección 15.5.3, todo lo que necesitas hacer es usar la función summary (). No obstante, pongamos eso a un lado por el momento. Hay otra propiedad de R 2 que quiero señalar.

    relación entre regresión y correlación

    En este punto podemos repasar mi afirmación anterior de que la regresión, en esta forma muy sencilla que he discutido hasta ahora, es básicamente lo mismo que una correlación. Anteriormente, se utilizó el símbolo r para denotar una correlación de Pearson. ¿Podría haber alguna relación entre el valor del coeficiente de correlación r y el valor R2 de la regresión lineal? Por supuesto que hay: la correlación cuadrada r 2 es idéntica al valor de R2 para una regresión lineal con un solo predictor. Para ilustrar esto, aquí está la correlación cuadrada:

    r <- cor(X, Y)  # calculate the correlation
    print( r^2 )    # print the squared correlation
    ## [1] 0.8161027

    Sí, mismo número. En otras palabras, ejecutar una correlación de Pearson es más o menos equivalente a ejecutar un modelo de regresión lineal que utiliza solo una variable predictora.

    valor R 2 ajustado

    Una última cosa a señalar antes de seguir adelante. Es bastante común que las personas reporten una medida ligeramente diferente del desempeño del modelo, conocida como “R 2 ajustada”. La motivación detrás de calcular el valor R 2 ajustado es la observación de que agregar más predictores al modelo siempre llamará al valor de R2 para aumentar (o al menos no disminuir). El valor R 2 ajustado introduce un ligero cambio en el cálculo, de la siguiente manera. Para un modelo de regresión con K predictores, ajuste a un conjunto de datos que contiene N observaciones, el R 2 ajustado es:

    \(\operatorname{adj} . R^{2}=1-\left(\dfrac{\mathrm{SS}_{r e s}}{\mathrm{SS}_{t o t}} \times \dfrac{N-1}{N-K-1}\right)\)

    Este ajuste es un intento de tomar en cuenta los grados de libertad. La gran ventaja del valor R 2 ajustado es que cuando agregas más predictores al modelo, el valor ajustado de R2 solo aumentará si las nuevas variables mejoran el rendimiento del modelo más de lo que esperarías por casualidad. La gran desventaja es que el valor R 2 ajustado no se puede interpretar de la manera elegante que R 2 puede. R 2 tiene una interpretación simple como la proporción de varianza en la variable de resultado que se explica por el modelo de regresión; que yo sepa, no existe interpretación equivalente para R 2 ajustada.

    Una pregunta obvia entonces, es si debes reportar R 2 o ajustar R 2. Esto es probablemente una cuestión de preferencia personal. Si te importa más la interpretabilidad, entonces R 2 es mejor. Si te importa más corregir por sesgo, entonces R 2 ajustado es probablemente mejor. Hablando solo por mí, prefiero R 2: mi sensación es que es más importante poder interpretar tu medida del rendimiento del modelo. Además, como veremos en la Sección 15.5, si te preocupa que la mejora en R2 que obtienes al agregar un predictor es solo por casualidad y no porque sea un mejor modelo, bueno, tenemos pruebas de hipótesis para eso.


    This page titled 15.4: Cuantificación del ajuste del modelo de regresión is shared under a CC BY-SA 4.0 license and was authored, remixed, and/or curated by Danielle Navarro via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.