8 votos

Selección del mejor modelo basado en el lineal, cuadrática y cúbica de ajuste de los datos

Tengo un código de Java que realiza una regresión lineal en un conjunto de datos mediante Gauss-Jordan eliminación. Se calcula lineal, cuadrática y cúbica de funciones utilizando el método de mínimos cuadrados.

Mi problema es elegir una función de las tres que mejor los modelos de mis datos. Este es, por supuesto, sin que el trazado de la curva. Así que digamos que tengo un conjunto de datos {x:1,2,3,4} {y:3,8,910}, y me da una lineal, cuadrática y cúbica de la función mediante el método de mínimos cuadrados.

¿Cómo elegir la función es el modelo correcto para mis datos?

18voto

Rob Allen Puntos 486

El término general para lo que están pidiendo es sobre el modelo de selección. Usted tiene un conjunto de modelos posibles, en este caso algo como $$ \begin{aligned} y&=\beta_1x + \beta_0\\ y&=\beta_2x^2 + \beta_1x + \beta_0 \\ y&=\beta_3x^3 + \beta_2x^2 + \beta_1x + \beta_0 \\ \end{aligned}$$ y desea determinar cual de estos modelos es más parsimoniosa con sus datos. Generalmente nos preocupe acerca de la parsimonia en lugar de mejor ajuste (he.e, mayor $R^2$) desde un modelo complejo, que podría "ajuste" a los datos. Por ejemplo, imagine que su sincronización de datos es generada por un algoritmo cuadrático, pero hay un poco de ruido en el tiempo (aleatorio de paginación por el sistema operativo, reloj inexactitud, los rayos cósmicos, lo que sea). El modelo cuadrático todavía podría encajar bastante bien, pero no va a ser perfecto. Sin embargo, podemos encontrar un (muy alto nivel) polinomio que pasa a través de cada punto de datos. Este modelo se ajusta a la perfección, pero será terrible en hacer previsiones futuras y, obviamente, no coincide con el fenómeno subyacente. Queremos equilibrar la complejidad del modelo con el modelo del poder explicativo. ¿Cómo se hace esto?

Hay muchas opciones. Hace poco me topé con esta revisión por parte de Calabacín, que podría ser una buena visión de conjunto. Un enfoque consiste en calcular algo así como el AIC (Akaike Information Criterion), que se ajusta a cada modelo de la probabilidad de que tome el número de parámetros en cuenta. Estos a menudo son relativamente fáciles de calcular. Por ejemplo, la AIC es: $$ AIC = 2k -2ln(L) $$ donde L es la probabilidad de que los datos dado el modelo y k es el número de parámetros (por ejemplo, 2 para lineal, 3 cuadráticas, etc). Calcular este criterio para cada modelo, a continuación, elija el modelo con menor AIC.

Otro enfoque es el uso de la validación cruzada (o algo así) para mostrar que ninguno de sus modelos están sobre-ajuste. Entonces, usted puede seleccionar el mejor modelo de ajuste.

Parece que el caso general. Sin embargo, como @Michelle se señaló anteriormente, usted probablemente no quiere hacer de selección de modelo en absoluto si usted sabe algo acerca de la subyacente phenomemon. En este caso, si usted tiene el código o saber el algoritmo subyacente, sólo debe de seguimiento a través de ella para determinar el algoritmo de orden.

Además, tenga en cuenta que el Big-O el fin de que el algoritmo no está técnicamente se define en términos de la mejor forma a la observada el tiempo de ejecución; se trata más bien de una limitación de la propiedad. Usted podría factible tener un algoritmo con un gran componente lineal y un pequeño componente cuadrática a su tiempo de ejecución, algo así como $$t(N) = 0.0000001n^2 + 999999999n$$ Yo apuesto a que en tiempo de ejecución-vs-tamaño de entrada de la parcela para la que sería bastante lineal-mirando por encima de los rangos que usted es probable para probar, pero creo que el algoritmo técnicamente considerada $O(n^2)$

6voto

dan90266 Puntos 609

Modelo de selección tendrá como resultado una estimación de la varianza residual que está sesgada baja. Este sesgo en todos los demás aspectos de la inferencia y la inflar $R^2$. La estimación insesgada de $\sigma^2$ tiene en el denominador $n - p - 1$ donde $p$ es el número de pre-especificados de los parámetros de exclusión de la intersección. No está claro que el modelo de selección será de ayuda. Uno sólo puede utilizar una regresión spline con la configuración predeterminada del nudo lugares (generalmente basados en los cuantiles de la predictor de distribución), eligiendo el número de nudos basado en lo que la complejidad, el tamaño efectivo de la muestra. El R rms paquete facilita esto, y notas del curso en http://biostat.mc.vanderbilt.edu/rms será de ayuda. La eliminación de la "no significativo" términos hará daño a la inferencia. El uso de AIC a veces puede ser contraproducente si el modelado no es muy estructurado. Yo uso AIC para que me diga el número óptimo $k$ de los nudos para un gran número de predictores si puedo restringir cada predictor tener $k$ nudos. Esta estructura minimiza el daño causado por la incertidumbre del modelo.

1voto

patfla Puntos 1

No estoy 100% seguro, pero si el modelo es tiempo para ordenar los datos que usted probablemente debería incluir un $x\log(x)$ o algo así (tal vez su $x^2\log(x)$) como creo que este término aparece en el tiempo teórico de la complejidad de los cálculos para la clasificación de datos.

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