Ir al contenido principal

Diagrama de temas

    • 7.3 Evaluar modelos de regresión

      • Funciones de costo utilizadas para evaluar modelos de regresión


        Hay varias funciones de costo que puede utilizar para evaluar el rendimiento de los modelos de regresión. Algunas de las más comunes incluyen las siguientes:

        Error cuadrático medio (MSE)
        Error absoluto medio (MAE)
        Coeficiente de determinación (R2)

        Cada una de estas funciones genera una "puntuación" que puede utilizar para guiar sus esfuerzos de ajuste. Por ejemplo, puede buscar una puntuación más baja o más alta (dependiendo de la función) entre varios modelos relacionados para ver cuál se desempeña mejor de acuerdo con esa métrica. Sin embargo, al igual que las métricas de clasificación, no hay una salida de puntuación objetivamente "buena" por ninguna de estas métricas de regresión. Las puntuaciones dependen en gran medida de la naturaleza de los datos, incluido el rango de valores de la etiqueta. Por lo tanto, es importante considerar las puntuaciones de costos como un método de comparación, no como una forma de determinar el rendimiento absoluto de los modelos de regresión.


      • Error cuadrático medio (MSE)


        La función de costo más simple y a menudo más eficaz en la regresión es el error cuadrático medio (MSE). Una vez que se calcula el error (diferencia) entre el valor estimado y el valor real, ese error se calcula al cuadrado. A continuación, se toma el promedio de estos errores al cuadrado. La razón para cuadrar el error es porque los errores pueden ser positivos o negativos; simplemente tomando el promedio de estos valores, el promedio tenderá hacia 0, lo que no sería muy útil. Cuadrar los errores antes de tomar el promedio los hace todos positivos.

        Esto se puede expresar como:


        Donde:

        n es el tamaño del conjunto de entrenamiento, es decir, el número total de ejemplos.
        yi es el valor real de una variable.
        ŷi es el valor estimado de la variable.
        J(θ) es la función de costo en sí.

        Usted puede también tomar la raíz cuadrada del MSE para conseguir la raíz del error cuadrático medio (RMSE). RMSE es para MSE como la desviación estándar es para la varianza: hace que los resultados sean más interpretables al ponerlos en la misma escala que el valor de etiqueta que el modelo está estimando.

      • Error absoluto medio (MAE)

        Una alternativa para calcular la función de costo es el error absoluto medio (MAE), que calcula la diferencia media en valores (el valor absoluto entre y e ŷ) sin tener en cuenta el signo (es decir, positivo o negativo) de esos valores. Una ventaja de MAE sobre MSE es que MSE tiende a minimizar los errores que son mucho menos de 1, mientras que también exagera los errores que son mucho mayores de 1; MAE no es tan susceptible a esto. Sin embargo, MSE se prefiere a menudo porque es diferenciable (una derivada existe para todos los valores en la función) y hace juego lo que la ecuación linear está minimizando.

        MAE se puede expresar como:


        Error relativo

        Las dos funciones de error media mencionadas anteriormente son más útiles cuando se comparan modelos cuyos valores estimados están en la misma escala. Si está ajustando un modelo basado en el mismo conjunto de datos, es probable que este sea el caso. Sin embargo, puede haber circunstancias en las que desee comparar el rendimiento de los modelos de regresión que estiman valores en diferentes escalas. Aquí es donde los equivalentes relativos de cada función de costo son útiles. El error relativo al cuadrado (RSE) y el error absoluto relativo (RAE), ambos resultados de salida que puede utilizar para este tipo de comparación.

      • Coeficiente de determinación

        El coeficiente de determinación, también conocido como , es una medida estadística que indica cuánto de la varianza de una variable dependiente es explicable por un modelo estadístico. En otras palabras, es la relación entre la variación explicada y la variación total.

        R2 se utiliza comúnmente como un método de puntuación para evaluar el rendimiento de un modelo de regresión. R2 suele estar entre 0 y 1. Si la línea de regresión fuera capaz de pasar perfectamente por cada punto de datos, el R2 sería 1; por otro lado, si la línea no pasa a través de más puntos, R2 disminuye, ya que se vuelve cada vez menos capaz de explicar la varianza. Por ejemplo, un R2 de 0,76 indica que el 76 % de la varianza en la variable objetivo (es decir, la etiqueta que está tratando de estimar) es explicable por el modelo. El otro 24 % no puede ser explicado por el modelo.

        Aunque R2 suele ser positivo, también puede ser negativo. Esto sucede cuando el modelo realmente tiene un rendimiento peor que la línea de base (es decir, el azar), que puede ser el resultado de que el modelo aprenda los patrones incorrectos en los datos. A pesar de usar en sus cálculos operaciones para obtener el cuadrado, la definición más común de R2 resta esas operaciones de 1, que es lo que puede conducir a una salida negativa.

        Es importante tener en cuenta que un valor alto de R2 no siempre implica un modelo más hábil y viceversa. Un modelo con un valor bajo de R2 puede tener una mejor potencia de estimación que un modelo con un valor de R2 alto. Incluso si el R2 cambia drásticamente de un modelo a otro, el error de estimación puede seguir siendo exactamente el mismo. Esto se debe a que una fuerte conexión entre variables no siempre implica que una variable tenga una fuerte causalidad con otra. Por lo tanto, en general es preferible minimizar una función de costo como MSE, en lugar de intentar optimizar R2.

        Nota: No confunda el coeficiente de determinación (R2) con el coeficiente de correlación (R). Como era de esperar, el primero toma el segundo y lo multiplica por sí mismo. Mientras que las medidas de R2 explicaron la varianza, R mide las relaciones lineales entre las variables.

        Información adicional

        Para obtener más información sobre las funciones de costo utilizadas para evaluar modelos de regresión, consulte este sitio.

      • Evaluación de modelos de regresión


        Archivo de datos

        /home/student/ITSAI/Regression/data/boston_newdata.csv

        Antes de empezar

        Regression-Boston.ipynb está abierto en Jupyter Notebook.
        Nota: Si cerró Jupyter Notebook desde que completó la actividad anterior, deberá reiniciar Jupyter Notebook y volver a abrir el archivo. Para asegurarse de que todos los objetos y la salida de Python están en el estado correcto para comenzar esta actividad:

        Seleccione Kernel→Reiniciar & y Borrar salida.
        Seleccione Reiniciar y borrar todas las salidas.
        Desplácese hacia abajo y seleccione la celda con la etiqueta Comparar métricas de evaluación para cada modelo.
        Seleccione Celda→ Ejecutar todo lo anterior.

        Escenario

        Ahora que regularizó los modelos de regresión, desea evaluar su rendimiento. Utilizará tres métricas diferentes para evaluar los modelos. Una vez que haya evaluado los modelos, deberá elegir el que mejor funcione y lo usará para realizar predicciones sobre nuevos datos que el modelo aún no vio.


        -------------------------------------------------------------------------------------------------------------------------------------------------------------

        1. Compare las métricas de evaluación para cada modelo.
        1. Desplácese hacia abajo y vea la celda titulada Comparar las métricas de evaluación para cada modelo y examine la lista de código que aparece debajo de ella.

        Este código comparará las puntuaciones de R2 de los cuatro modelos que creó en el tema anterior.

        2. Ejecute la celda de código.

        3. Examine el resultado.

        La puntuación de R2 se muestra para cada modelo. Cuanto mayor sea la puntuación de R2, mejor. La tabla se ordena por la puntuación de R2 más alta. El modelo de lazo tiene la puntuación más alta, pero los modelos de red elástica y cresta están cerca.

        4. En la siguiente celda de código, examine el código.

        Este código comparará las puntuaciones de error absoluto medio (EAM) de los cuatro modelos.

        5. Ejecute la celda de código.

        6. Examine el resultado.

        La puntuación EAM se muestra para cada modelo. Para EAM, las puntuaciones más bajas son mejores. El modelo de lazo tiene la puntuación más baja, pero el modelo de red elástica está cerca.

        7. En la siguiente celda de código, examine el código.

        Este código comparará las puntuaciones de error cuadrático medio (ECM) de los cuatro modelos.

        8. Ejecute la celda de código.

        9. Examine el resultado.

        La puntuación ECM se muestra para cada modelo. Como con EAM, las puntuaciones más bajas de ECM son mejores. El modelo de lazo, nuevamente, vuelve a tener la puntuación más baja.

        ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        2. Realice predicciones sobre los nuevos datos con el modelo de lazo.
        1. Desplácese hacia abajo y vea la celda titulada Realizar predicciones en los nuevos datos con el modelo de lazo y examine la lista de código debajo de ella.

        Este código cargará el archivo boston_newdata.csv en un archivo DataFrame.

        2. Ejecute la celda de código.

        3. Examine el resultado.

        50 registros se cargan desde boston_newdata.csv. Recuerde que se trata de un conjunto de datos nuevos, independiente de los conjuntos de entrenamiento y validación. Este conjunto no incluye valores de etiqueta (target).

        4. En la siguiente celda de código, examine el código.

        Este código utilizará los nuevos datos y el modelo de lazo para predecir el objetivo (el valor medio en miles de dólares) para cada casa.

        5. Ejecute la celda de código.

        6. Examine el resultado.

        El modelo de lazo predijo el valor medio de cada casa en miles de dólares.

        ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        3. Diagrame una línea de mejor opción para las nuevas predicciones de datos.
        1. Desplácese hacia abajo y vea la celda titulada Diagramar una línea de mejor opción para las nuevas predicciones de datos y examine la lista de código que se muestra debajo de ella.

        Este código diagramará una línea de mejor opción comparando LSTAT (porcentaje de hogares de bajos ingresos) con las predicciones del valor medio de las viviendas en los nuevos datos.

        2. Ejecute la celda de código.

        3. Examine el resultado.

        Como era de esperar, el porcentaje de hogares de bajos ingresos se correlaciona negativamente con el valor de una casa según lo predicho por el modelo. En otras palabras, el modelo predijo que las áreas con muchos hogares de bajos ingresos suelen tener casas menos valiosas y viceversa.

        -------------------------------------------------------------------------------------------------------------------------------------------------------------

        4. Cierre este kernel de Jupyter Notebook y la máquina virtual.
        1. En Firefox, seleccione la pestaña Regression-Boston.ipynb.
        2. En el menú, seleccione Kernel→Cerrar.
        3. En el cuadro  de diálogo ¿Cerrar kernel?, seleccione Cerrar.
        4. Cierre Firefox.
        5. Cierre la ventana Terminal que ejecuta el programa Jupyter Notebook.
        6. En el menú VirtualBox VM en la parte superior de la pantalla, seleccione Equipo→Apagar ACPI y, si es necesario, seleccione Apagar. Compruebe que la ventana de la VM se cierre.
        7. Cierre la ventana Oracle VM VirtualBox Manager.