Recientemente hice una pequeña aplicación de navegador que puedes usar para jugar con estas ideas: Scatterplot Smoothers (*).
Aquí hay algunos datos que inventé, con un ajuste polinómico de bajo grado
0.60,850,85
Para deshacernos del sesgo, podemos aumentar el grado de la curva a tres, pero el problema persiste, la curva cúbica sigue siendo demasiado rígida.
Entonces continuamos aumentando el grado, pero ahora incurrimos en el problema opuesto
Esta curva rastrea los datos demasiado de cerca, y tiene una tendencia a volar en direcciones no tan bien confirmadas por patrones generales en los datos. Aquí es donde entra en juego la regularización. Con la misma curva de grado (diez) y alguna regularización bien elegida
¡Nos quedamos realmente bien!
Vale la pena centrarse un poco en un aspecto bien elegido anteriormente. Cuando ajusta polinomios a los datos, tiene un conjunto discreto de opciones de grado. Si una curva de grado tres no está ajustada y una curva de grado cuatro está sobreajustada, no tiene a dónde ir en el medio. La regularización resuelve este problema, ya que le brinda un rango continuo de parámetros de complejidad para jugar.
¿Cómo se dice "Tenemos un buen ajuste!". Para mí, todos se ven iguales, es decir, poco concluyentes. ¿Qué racional estás usando para decidir qué es un buen y un mal ajuste?
Punto justo.
La suposición que estoy haciendo aquí es que un modelo bien ajustado no debe tener un patrón discernible en los residuos. Ahora, no estoy trazando los residuos, por lo que debes hacer un poco de trabajo al mirar las imágenes, pero deberías poder usar tu imaginación.
En la primera imagen, con la curva cuadrática ajustada a los datos, puedo ver el siguiente patrón en los residuos
- De 0.0 a 0.3 están colocados de manera uniforme por encima y por debajo de la curva.
- De 0.3 a aproximadamente 0.55 todos los puntos de datos están por encima de la curva.
- De 0.55 a aproximadamente 0.85 todos los puntos de datos están debajo de la curva.
- A partir de 0.85, todos están por encima de la curva nuevamente.
Me referiría a estos comportamientos como sesgo local , hay regiones donde la curva no se aproxima bien a la media condicional de los datos.
Compare esto con el último ajuste, con la spline cúbica. No puedo seleccionar ninguna región a simple vista donde el ajuste no parezca que se ejecuta precisamente a través del centro de masa de los puntos de datos. Esto es generalmente (aunque de manera imprecisa) lo que quiero decir con un buen ajuste.
2
- Su comportamiento en los límites de sus datos puede ser muy caótico, incluso con la regularización.
- No son locales en ningún sentido. Cambiar sus datos en un lugar puede afectar significativamente el ajuste en un lugar muy diferente.
En cambio, en una situación como la que usted describe, recomiendo utilizar splines cúbicos naturales junto con la regularización, que ofrecen el mejor compromiso entre flexibilidad y estabilidad. Puede verlo usted mismo ajustando algunas splines en la aplicación.
(*) Creo que esto solo funciona en Chrome y Firefox debido al uso de algunas características modernas de JavaScript (y la holgazanería general para solucionarlo en safari y, por ejemplo). El código fuente está aquí , si está interesado.