Efecto del tiempo en el crecimiento de una planta
Efecto del tiempo en el crecimiento de una planta

La regresión no lineal es un problema de inferencia para un modelo tipo: y=f(0, θ),

donde  f es una función no lineal respecto a algunos parámetros desconocidos. lo que se pretende es obtener los valores de los parámetros asociados con la mejor curva de ajuste (habitualmente, con el método de los mínimos cuadrados). Con el fin de determinar si el modelo es adecuado, puede ser necesario utilizar conceptos de inferencia estadística tales como intervalos de confianza para los parámetros así como pruebas de bondad de ajuste.  Para explicar estos modelos utilizaremos el set de datos forraje.

 Cuando se fertiliza una planta esta puede incrementar su biomasa, pero no infinitamente. Por lo que se necesita un modelo matemático para que describa este fenómeno biológico.

 

Calculemos los coeficientes de la regresión logística logarítmica.

  • library (drc) #Cargamos el paquete drc
  • ## Ajustemos un modelo logístico de cuatro parámetros
  • biomasa.m1 <- drm(Rendimiento~ Tratamiento, data = Europe1, fct = L.4())
  • summary (biomasa.m1) #Calculemos los parámetros

Model fitted: Logistic (ED50 as parameter) (4 parms)

Parameter estimates:

                                 Estimate            Std. Error       t-value             p-value

b:(Intercept)           -0.017957           0.011124         -1.614245      0.1260

c:(Intercept)      1546.819522       758.381150          2.039633      0.0583

d:(Intercept)     3249.081199        126.244826        25.736351      0.0000

e:(Intercept)         61.263127           55.118172          1.111487      0.2828

Residual standard error:

 191.702 (16 degrees of freedom)

 

Hemos encontrado un primer modelo que se ajusta.

  • mselect(biomasa.m1, list(LL.3(), LL.5(), W1.3(), W1.4(), W2.4()), linreg = TRUE) # Busquemos otros modelos

Una ves que ya tenemos el mejor lo corremos

  • biomasa.m2 <- drm(Rendimiento~ Tratamiento, data = Europe1, fct = W1.4 (fixed=c(NA,NA,NA,NA))) #Corremos el modelo de Weibul con cuatro parámetros
  • summary (biomasa.m2) #Calculemos los parámetros
  • plot (biomasa.m2) #hagamos un gráfico preliminar 
  • plot (biomasa.m2,log="",xlab = expression(paste("Dosis de Nitrógeno (kg ha" ^-1,")")), ylab = expression(paste("Producción de pasto (kg ha"^-1,")")))
  • text(100,3400, paste("f(x)=c+(c-d)(1-exp(-exp)b(log(x)-log(e)))))")) #La ecuación de ser necesario

 Bono: Diagrama de cajas

  • fix(Europe1) #Revisar los datos de ser necesario
  • boxplot (Rendimiento~Tratamiento,data=Europe1, xlab = expression(paste("Dosis de Nitrógeno (kg ha" ^-1,")")), ylab = expression(paste("Producción de pasto (kg ha"^-1,")")))