Hola: tengo un pequeño problemita que es más bien estadístico que específico de R, pero de todos modos espero me puedan dar una mano. Quiero encontrar una forma de reportar la Bondad de ajuste de un modelo No Lineal. Estuve buscando y leyendo y parece que tal cosa no es posible o al menos no es fiable, desde el punto de vista estadístico. El tema es que quiero mandar un trabajo a una revista y parte de mi trabajo se basa en mostrar que los datos que yo tengo se ajustan a un modelo de la siguiente forma: y ~ a+(b-a)/(1+exp((c-x)/d)) Es decir, lo que tengo que hacer es ver si mis datos van bien o no con ese modelo, no tengo que buscar el modelo que mejor se ajuste a mis datos, por lo que no me sirven métodos para comparar distintos modelos, como podrían ser AIC() o tal vez un ANOVA (aunque no sé si aplica para modelos No Lineales). En un trabajo que encontré sobre mi mismo tema el autor dice textualmente que obtuvo "Regresiones muy significativas (P<0.001) con R2 de 0,54–0,61" al aplicar el modelo de la forma que puse más arriba. Aunque no dice cómo obtuvo el R² y el P-valor. Lo único que pude econtrar es que teniendo en cuenta que: SS_total = SS_regresion+SS_residual y que R² = SS_regresion/SS_total = 1-SS_residual/SS_total de esa manera podría calcular R², entonces lo que hice con R, fue lo siguiente: #Aplicar el modelo nls.datos <- nls(y ~ a+(b-a)/(1+exp((c-x)/d)), start=list(a=87, b=60, c=58, d=60), trace=T) #Calcular R² n <- length(x) SS_total <- (n-1)*var(y) SS_residual <- deviance(nls.datos) R_cuadrado <- 1-(SS_residual/SS_total) De esa manera obtengo R_cuadrado = 0.69 Sin embargo también encontré que a pesar de calcular el R², el valor que se obtiene no es del todo aplicable para modelos No Lineales. Resumiendo me quedan las siguientes dudas: 1- ¿Cómo puedo hacer para tener un R² fiable o cualquier otra medida que me indique que también se ajustan mis datos al modelo? 2- Si grafico la curva se ve que ajusta bastante bien a la distribución de los puntos, pero ¿alcanza con eso? 3- Si no pongo ninguna medida de la ''Bondad de ajuste'' del modelo a mis datos ¿Existe algún libro o trabajo que pueda citar para respaldar esa decisión? porque seguro que los revisores/editores me van a pedir un R² y voy a tener que poder contestarles con algo más que discusiones en foros de estadística. En esos foros encontré mucha gente diciendo que el R² no aplica para este tipo de modelos, pero no pude encontrar una sola cita a una publicación. Espero que puedan ayudarme, o al menos que me puedan dar una pista. ¡Muchas Gracias! Lucas. [[alternative HTML version deleted]]
Carlos Ortega
2013-Jan-14 13:20 UTC
[R-es] Reportar Bondad de ajuste de un Modelo No Lineal
Hola, El cómo calcular el R^2 de un modelo no-lineal lo tienes aquí: http://stackoverflow.com/questions/5656065/calculation-of-r2-value-for-a-non-linear-regression?rq=1 Saludos, Carlos Ortega www.qualityexcellence.es El 14 de enero de 2013 13:53, luc.bianchi <luc.bianchi@zoho.com> escribió:> Hola: > tengo un pequeño problemita que es más bien estadístico que específico > de R, pero de todos modos espero me puedan dar una mano. > > Quiero encontrar una forma de reportar la Bondad de ajuste de un modelo > No Lineal. Estuve buscando y leyendo y parece que tal cosa no es posible o > al menos no es fiable, desde el punto de vista estadístico. > El tema es que quiero mandar un trabajo a una revista y parte de mi > trabajo se basa en mostrar que los datos que yo tengo se ajustan a un > modelo de la siguiente forma: > > y ~ a+(b-a)/(1+exp((c-x)/d)) > > Es decir, lo que tengo que hacer es ver si mis datos van bien o no con > ese modelo, no tengo que buscar el modelo que mejor se ajuste a mis datos, > por lo que no me sirven métodos para comparar distintos modelos, como > podrían ser AIC() o tal vez un ANOVA (aunque no sé si aplica para modelos > No Lineales). > > En un trabajo que encontré sobre mi mismo tema el autor dice > textualmente que obtuvo "Regresiones muy significativas (P<0.001) con R2 > de 0,54–0,61" al aplicar el modelo de la forma que puse más arriba. Aunque > no dice cómo obtuvo el R² y el P-valor. > > Lo único que pude econtrar es que teniendo en cuenta que: > > SS_total = SS_regresion+SS_residual > > y que R² = SS_regresion/SS_total = 1-SS_residual/SS_total > de esa manera podría calcular R², entonces lo que hice con R, fue lo > siguiente: > > #Aplicar el modelo > nls.datos <- nls(y ~ a+(b-a)/(1+exp((c-x)/d)), start=list(a=87, > b=60, c=58, d=60), trace=T) > #Calcular R² > n <- length(x) > SS_total <- (n-1)*var(y) > SS_residual <- deviance(nls.datos) > R_cuadrado <- 1-(SS_residual/SS_total) > > De esa manera obtengo R_cuadrado = 0.69 > Sin embargo también encontré que a pesar de calcular el R², el valor que > se obtiene no es del todo aplicable para modelos No Lineales. > > Resumiendo me quedan las siguientes dudas: > 1- ¿Cómo puedo hacer para tener un R² fiable o cualquier otra medida > que me indique que también se ajustan mis datos al modelo? > 2- Si grafico la curva se ve que ajusta bastante bien a la distribución > de los puntos, pero ¿alcanza con eso? > 3- Si no pongo ninguna medida de la ''Bondad de ajuste'' del modelo a mis > datos ¿Existe algún libro o trabajo que pueda citar para respaldar esa > decisión? porque seguro que los revisores/editores me van a pedir un R² y > voy a tener que poder contestarles con algo más que discusiones en foros de > estadística. En esos foros encontré mucha gente diciendo que el R² no > aplica para este tipo de modelos, pero no pude encontrar una sola cita a > una publicación. > > Espero que puedan ayudarme, o al menos que me puedan dar una pista. > > ¡Muchas Gracias! > > Lucas. > > > > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
Elisa González
2013-Jan-14 14:09 UTC
[R-es] Reportar Bondad de ajuste de un Modelo No Lineal
Hola, una forma fácil y sencilla de saber si el ajuste de tus datos con el modelo es bueno es confrontando los valores observados con los predecidos por el modelo, y calculando tanto la regresión lineal como la R2 de éstos. Te dejo un par de referencias donde lo utilizan: Rossi, V., Salinari, F., Pattori, E., Giosuè, S., and Bugiani, R. 2009. Predicting the dynamics of ascospore maturation of Venturia pirina based on environmental factors. Phytopathology 99:453-461. Arauz, L. F., Neufeld, K. N., Lloyd, A. L., and Ojiambo, P. S. 2010. Quantitative models for germination and infection of Pseudoperonospora cubensis in response to temperature and duration of leaf wetness. Phytopathology 100:959-967. Un saludo y espero que te sirva "luc.bianchi" <luc.bianchi en zoho.com> escribió:> Hola: > tengo un pequeño problemita que es más bien estadístico que > específico de R, pero de todos modos espero me puedan dar una mano. > > Quiero encontrar una forma de reportar la Bondad de ajuste de un > modelo No Lineal. Estuve buscando y leyendo y parece que tal cosa no > es posible o al menos no es fiable, desde el punto de vista > estadístico. > El tema es que quiero mandar un trabajo a una revista y parte de > mi trabajo se basa en mostrar que los datos que yo tengo se ajustan > a un modelo de la siguiente forma: > > y ~ a+(b-a)/(1+exp((c-x)/d)) > > Es decir, lo que tengo que hacer es ver si mis datos van bien o > no con ese modelo, no tengo que buscar el modelo que mejor se ajuste > a mis datos, por lo que no me sirven métodos para comparar distintos > modelos, como podrían ser AIC() o tal vez un ANOVA (aunque no sé si > aplica para modelos No Lineales). > > En un trabajo que encontré sobre mi mismo tema el autor dice > textualmente que obtuvo "Regresiones muy significativas (P<0.001) > con R2 de 0,54?0,61" al aplicar el modelo de la forma que puse más > arriba. Aunque no dice cómo obtuvo el R² y el P-valor. > > Lo único que pude econtrar es que teniendo en cuenta que: > > SS_total = SS_regresion+SS_residual > > y que R² = SS_regresion/SS_total = 1-SS_residual/SS_total > de esa manera podría calcular R², entonces lo que hice con R, fue lo > siguiente: > > #Aplicar el modelo > nls.datos <- nls(y ~ a+(b-a)/(1+exp((c-x)/d)), > start=list(a=87, b=60, c=58, d=60), trace=T) > #Calcular R² > n <- length(x) > SS_total <- (n-1)*var(y) > SS_residual <- deviance(nls.datos) > R_cuadrado <- 1-(SS_residual/SS_total) > > De esa manera obtengo R_cuadrado = 0.69 > Sin embargo también encontré que a pesar de calcular el R², el valor > que se obtiene no es del todo aplicable para modelos No Lineales. > > Resumiendo me quedan las siguientes dudas: > 1- ¿Cómo puedo hacer para tener un R² fiable o cualquier otra > medida que me indique que también se ajustan mis datos al modelo? > 2- Si grafico la curva se ve que ajusta bastante bien a la > distribución de los puntos, pero ¿alcanza con eso? > 3- Si no pongo ninguna medida de la 'Bondad de ajuste' del modelo > a mis datos ¿Existe algún libro o trabajo que pueda citar para > respaldar esa decisión? porque seguro que los revisores/editores me > van a pedir un R² y voy a tener que poder contestarles con algo más > que discusiones en foros de estadística. En esos foros encontré > mucha gente diciendo que el R² no aplica para este tipo de modelos, > pero no pude encontrar una sola cita a una publicación. > > Espero que puedan ayudarme, o al menos que me puedan dar una pista. > > ¡Muchas Gracias! > > Lucas. > > > > > [[alternative HTML version deleted]] > >Elisa González Domínguez PhD student ====================================Grupo de Investigación en Hongos Fitopatógenos http://www.upv.es/gihf Instituto Agroforestal Mediterráneo Universidad Politécnica de Valencia Camino de Vera s/n, 46022-Valencia (Spain) Tel: +34 963879254 Fax: +34 963879269 e-mail: elgondo1 en upvnet.upv.es