¿Qué funciones usa en R para ajustar una curva a sus datos y probar qué tan bien encaja esa curva? ¿Qué resultados se consideran buenos?Funciones de bondad de ajuste en R
Respuesta
Solo la primera parte de esa pregunta puede llenar libros completos. Sólo algunas opciones rápidos:
lm()
para los modelos lineales estándarglm()
para los modelos lineales generalizados (por ejemplo, para la regresión logística)rlm()
de MASS paquete para robustos modelos linealeslmrob()
de robustbase paquete para robusto modelos linealesloess()
para modelos no lineales/no paramétricos
Luego, hay modelos específicos de dominio, como p. series temporales, microeconometría, efectos mixtos y mucho más. Varias vistas de tareas como, por ejemplo, Econometrics discutir esto con más detalle. En cuanto a la bondad de ajuste, también es algo que uno puede gastar fácilmente todo un libro discutiendo.
¿Alguna recomendación para libros o buenos sitios web sobre la bondad del ajuste? –
La función nls()
(http://sekhon.berkeley.edu/stats/html/nls.html) es bastante estándar para el ajuste de curvas de mínimos cuadrados no lineales. Chi al cuadrado (la suma de los residuos al cuadrado) es la métrica que se optimiza en ese caso, pero no está normalizada, por lo que no se puede usar fácilmente para determinar qué tan bueno es el ajuste. Lo principal que debe asegurarse es que sus residuos se distribuyan normalmente. Lamentablemente, no estoy seguro de una forma automática de hacerlo.
El sitio de R rápida tiene un buen resumen razonable de las funciones básicas utilizadas para el ajuste de modelos y las pruebas de los ataques, junto con la muestra de código R:
Los caballos de batalla de curva canónica de ajuste en R son lm()
, glm()
y nls()
. Para mí, la bondad de ajuste es un subproblema en el problema más grande de la selección del modelo. De hecho, usar la bondad de ajuste incorrectamente (por ejemplo, mediante regresión por pasos) puede dar lugar a un modelo muy mal especificado (ver el libro de Harrell sobre "Estrategias de modelado de regresión"). En lugar de discutir el tema desde cero, recomiendo el libro de Harrell para lm
y glm
. La Biblia de Venables y Ripley es escueta, pero aún vale la pena leerla. "Extender el modelo lineal con R" de Faraway es completo y legible. nls no está cubierto en estas fuentes, pero "Regresión no lineal con R" de Ritz & Streibig llena el espacio y es muy práctica.
Lo principal que debe asegurarse es que sus residuos son normalmente distribuidos. Lamentablemente, no estoy seguro de que sea una forma automática de hacerlo.
qqnorm()
probablemente podría modificarse para encontrar la correlación entre los cuantiles de la muestra y los cuantiles teóricos. Esencialmente, esto sería solo una interpretación numérica de la gráfica de cuantiles normal. Quizás proporcionar varios valores del coeficiente de correlación para diferentes rangos de cuantiles podría ser útil.Por ejemplo, si el coeficiente de correlación es cercano a 1 para el 97% del medio de los datos y mucho más bajo en las colas, esto nos dice que la distribución de los residuos es aproximadamente normal, con algo extraño en las colas.
'shapiro.test()' también podría ser adecuado – DaveRGP
Mejor mantener simple, y ver si los métodos lineales funcionan "bien enuff". Usted puede juzgar su bondad de ajuste GENERALMENTE mirando el estadístico R cuadrado AND F, juntos, nunca se separan. Agregar variables a su modelo que no tengan relación con su variable dependiente puede aumentar R2, por lo que también debe considerar la estadística F.
También debe comparar su modelo con otros modelos anidados o más simples. Haga esto usando la prueba de log liklihood ratio, siempre y cuando las variables dependientes sean las mismas.
La prueba de Jarque-Bera es buena para probar la normalidad de la distribución residual.
- 1. Pruebas de bondad de ajuste en SciPy
- 2. Ajuste de una distribución de poisson inflada cero en R
- 3. Ajuste de curvas en R utilizando nls
- 4. Distribuciones de montaje, bondad de ajuste, valor de p. ¿Es posible hacer esto con Scipy (Python)?
- 5. R - alias de funciones
- 6. Composición de funciones en R (y funciones de alto nivel)
- 7. Convenciones de comentarios de funciones en R
- 8. Nombres de funciones de protección en R
- 9. Ajuste de una distribución Weibull de 3 parámetros en R
- 10. ocultando funciones personales en R
- 11. ¿Pequeñas funciones útiles en R?
- 12. Uso de punto/período en funciones R
- 13. Optimización restringida de funciones personalizadas en R
- 14. Uso Drupal7 AJAX bondad programación
- 15. R: Funciones enmascaradas
- 16. R: ¿Cómo crear un vector de funciones?
- 17. Pasar funciones en R como argumentos .Forran
- 18. Funciones de listado con indicador de depuración establecido en R
- 19. funciones de clasificación en el análisis discriminante lineal en R
- 20. Acceda a todos los argumentos de funciones en R
- 21. Recomendaciones para la depuración "dinámica/interactiva" de funciones en R?
- 22. ¿Qué son las funciones de reemplazo en R?
- 23. Escribiendo un decorador para funciones R
- 24. xtable para funciones no compatibles (con R)
- 25. Identificación de dependencias de funciones R y scripts
- 26. Llamar a funciones R desde VC++
- 27. Fórmulas en funciones definidas por el usuario en R
- 28. Escribir funciones en R, teniendo en cuenta el alcance
- 29. En el tema del ajuste automático de la serie de tiempo usando R
- 30. Usando funciones genéricas de R, ¿cuándo y por qué?
He utilizado software comercial que prueba numerosas fórmulas (tomando horas, si lo desea) para encontrar la mejor opción. Me encantaría encontrar algo así en R. – Nosredna
Decepcionado - Pensé que R era el dominio de los números reales. –