Pregunta de aproximación de mínimos cuadrados


11

Estoy tomando un curso sobre computación científica, y acabamos de repasar la aproximación de mínimos cuadrados. Mi pregunta es específicamente acerca de la aproximación usando polinomios. Entiendo que si tiene n + 1 puntos de datos, puede encontrar un polinomio único de grado n que describa todos estos puntos. Pero también puedo ver por qué esto no siempre es ideal. Puede obtener mucho ruido entre los puntos de datos con este enfoque. Supongo que es bueno obtener un polinomio de menor grado que calcule sus datos lo suficientemente bien.

Mi pregunta es: ¿cómo decide en la práctica qué grado de polinomio va a utilizar? ¿Existe una regla general o depende únicamente del problema en cuestión? ¿Tenemos que tener en cuenta varias compensaciones al decidir entre más o menos grados? ¿O estoy malentendido algo aquí?

Gracias por adelantado.


2
Creo que, en la práctica, las personas usan cosas como la interpolación de splines en.wikipedia.org/wiki/Spline_interpolation para que se usen polys de bajo orden, pero encajan bien entre sí en el dominio general. De esta manera, uno no tiene que adivinar un orden polinómico general.
Nasser

Gracias por el enlace. Todavía no hemos revisado las splines, así que esta es una lectura interesante.
Uday Pramod

¿Qué es exactamente lo que quieres hacer? ¿Estás tratando de interpolar los puntos o ajustar los datos dados? Por ejemplo, es inútil interpolar datos que consisten en una distribución normal con ruido. Para el primero, la respuesta de Nasser es buena. Para este último, la función de ajuste depende únicamente del problema en cuestión y, en muchos casos, no es polinomial.
hauntergeist

Puede que le interesen las respuestas de esta pregunta en validación cruzada .
Bort

Respuestas:


18

El aspecto más importante de la interpolación y el ajuste de curvas es comprender por qué los ajustes de polinomios de alto orden pueden ser un problema y cuáles son las otras opciones y luego puede comprender cuándo son / no son una buena opción.

Algunos problemas con polinomios de alto orden:

  • Los polinomios son funciones naturalmente oscilatorias. A medida que aumenta el orden del polinomio, aumenta el número de oscilaciones y estas oscilaciones se vuelven más severas. Estoy simplificando aquí, la posibilidad de raíces múltiples e imaginarias lo hace un poco más complejo, pero el punto es el mismo.

  • Los polinomios se aproximan a +/- infinito a una velocidad igual al orden polinómico cuando x va a +/- infinito. Esto a menudo no es un comportamiento deseado.

  • Calcular coeficientes polinómicos para polinomios de alto orden es típicamente un problema mal condicionado. Esto significa que pequeños errores (como redondear en su computadora) pueden crear grandes cambios en la respuesta. El sistema lineal que debe resolverse involucra una matriz de Vandermonde que puede estar mal condicionada fácilmente.

Creo que quizás el corazón de este problema es la distinción entre ajuste de curvas e interpolación .

La interpolación se utiliza cuando cree que sus datos son muy precisos, por lo que desea que su función coincida exactamente con los puntos de datos. Cuando necesita valores entre sus puntos de datos, generalmente es mejor usar una función suave que coincida con la tendencia local de los datos. Las splines cúbicas o de Hermite a menudo son una buena opción para este tipo de problema, ya que son mucho menos sensibles a los cambios o errores no locales (es decir, en puntos de datos alejados de un punto dado) y son menos oscilatorios que un polinomio. Considere el siguiente conjunto de datos:

x = 1   2   3   4   5   6   7   8   9  10
y = 1   1 1.1   1   1   1   1   1   1   1

Interpolación
Un ajuste polinómico tiene oscilaciones mucho más grandes, especialmente cerca de los bordes del conjunto de datos, que una spline de Hermite.

Por otro lado, la aproximación de mínimos cuadrados es un ajuste de curvatécnica. El ajuste de curvas se utiliza cuando tiene una idea de la funcionalidad esperada de sus datos, pero no necesita que su función pase exactamente por todos los puntos de datos. Esto es típico cuando los datos pueden contener errores de medición u otras imprecisiones o cuando desea extraer la tendencia general de los datos. La aproximación de mínimos cuadrados se introduce con mayor frecuencia en un curso mediante el uso de polinomios para el ajuste de la curva porque esto da como resultado un sistema lineal que es relativamente simple de resolver utilizando las técnicas que probablemente aprendió anteriormente en su curso. Sin embargo, las técnicas de mínimos cuadrados son mucho más generales que solo ajustes polinómicos y se pueden usar para ajustar cualquier función deseada a un conjunto de datos. Por ejemplo, si espera una tendencia de crecimiento exponencial en su conjunto de datos,

Finalmente, elegir la función correcta que se ajuste a sus datos es tan importante como realizar correctamente la interpolación o los cálculos de mínimos cuadrados. Hacerlo incluso permite la posibilidad de extrapolación (cautelosa). Considere la siguiente situación. Datos dados de la población (en millones de personas) para los EE. UU. Desde 2000-2010:

Year:  2000   2001   2002   2003   2004   2005   2006   2007   2008   2010
Pop.: 284.97 287.63 290.11 292.81 295.52 298.38 301.23 304.09 306.77 309.35

El uso de un ajuste de mínimos cuadrados linealizados exponencial N(t)=A*exp(B*t)o un interpolante polinomial de décimo orden da los siguientes resultados:
Parcela de población

El crecimiento de la población de Estados Unidos no es exponencial, pero te dejaré ser el juez del mejor ajuste.


1
Un punto que quisiera hacer con su gráfico de la población de EE. UU., Desde la memoria, un buen ajuste en el dominio no significa que se extrapolará bien. En ese sentido, puede ser engañoso mostrar los grandes errores polinómicos fuera de la región donde tiene datos.
Daryl

@Daryl De acuerdo, por eso enfaticé que la extrapolación debe hacerse con cautela y que elegir una función apropiada es crucial en ese caso.
Doug Lipinski

@DougLipinski Gracias por la perspicaz respuesta. ¿Puedes explicar qué quieres decir con mínimos cuadrados linealizados en oposición a los mínimos cuadrados?
bela83

@ bela83 Respondiendo adecuadamente eso sería demasiado largo para un comentario. Creo que sería una muy buena pregunta nueva si quieres hacerla.
Doug Lipinski

@DougLipinski ¡Lo intentaré!
bela83

2

Muy poco científico, pero una buena regla general es que los polinomios de tercer grado suelen ser un buen comienzo, y en la práctica nunca he visto a nadie usar más de un sexto grado para obtener buenos resultados.

El polinomio "ideal" sería el de menor orden que represente los datos silenciosos lo suficientemente bien como para su propósito.

Si sus datos son lo suficientemente pequeños como para permitirlos (por lo general lo son), simplemente puede intentar ajustar con polinomios de orden superior hasta que comience a ver oscilaciones, que tienden a ser el signo de "sobreajuste".

Una alternativa sería una spline de suavizado , pero depende mucho de la aplicación. Los splines y splines de suavizado solo son buenos para la interpolación. Para los datos ruidosos, tiendo a preferir los ajustes polinómicos a las splines de suavizado, pero los datos con los que trabajo suelen estar bien aproximados por los polinomios.


1

Un enfoque decentemente efectivo que he usado con la aproximación polinómica es calcular los polinomios de mínimos cuadrados para varios grados (p. Ej., Del 1 al 10) y luego elegir la curva que minimiza el error al cuadrado medio en los puntos intermedios (cuando ordenado por x) puntos en su conjunto de datos. Esto ayuda a descartar curvas con oscilaciones demasiado severas.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.