Wood et al. (2015) ont étudié la croissance de Abies balsamea. Ils réalisent différents modèles linéaires et non linéaires et mettent en évidence que le modèle de Gompertz est le plus approprié.
abies <- read("../data/abies.rds")
abies_plot <- chart(abies, height ~ diameter) +
geom_point()
abies_plot
abies_nls1 <- nls(data = abies, height ~ SSweibull(diameter, Asym, Drop, lrc, pwr))
summary(abies_nls1)
##
## Formula: height ~ SSweibull(diameter, Asym, Drop, lrc, pwr)
##
## Parameters:
## Estimate Std. Error t value Pr(>|t|)
## Asym 17.88060 0.65692 27.22 <2e-16 ***
## Drop 16.50541 0.69577 23.72 <2e-16 ***
## lrc -3.86044 0.06931 -55.70 <2e-16 ***
## pwr 1.31810 0.04059 32.47 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.139 on 1955 degrees of freedom
##
## Number of iterations to convergence: 3
## Achieved convergence tolerance: 5.383e-07
AIC(abies_nls1)
## [1] 6074.225
abies_nls2 <- nls(data = abies, height ~ SSgompertz(diameter, Asym, b2, b3))
summary(abies_nls2)
##
## Formula: height ~ SSgompertz(diameter, Asym, b2, b3)
##
## Parameters:
## Estimate Std. Error t value Pr(>|t|)
## Asym 16.489684 0.256391 64.31 <2e-16 ***
## b2 2.455621 0.022576 108.77 <2e-16 ***
## b3 0.897106 0.002182 411.05 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.142 on 1956 degrees of freedom
##
## Number of iterations to convergence: 3
## Achieved convergence tolerance: 1.601e-06
AIC(abies_nls2)
## [1] 6084.238
abies_nls3 <- nls(data = abies, height ~ SSlogis(diameter, Asym, xmid, scal))
summary(abies_nls3)
##
## Formula: height ~ SSlogis(diameter, Asym, xmid, scal)
##
## Parameters:
## Estimate Std. Error t value Pr(>|t|)
## Asym 14.60949 0.16443 88.85 <2e-16 ***
## xmid 10.30983 0.15534 66.37 <2e-16 ***
## scal 5.15317 0.08832 58.34 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.173 on 1956 degrees of freedom
##
## Number of iterations to convergence: 5
## Achieved convergence tolerance: 1.738e-06
AIC(abies_nls3)
## [1] 6189.144
le meilleur modele est celui de weibull, il a le critère d’akaike le moins élevé, tous les paramètre sont significatifs. Nous avons une asymptote de 17.88, un drop de 16.5, un lrc de -3.86 et un pwr de 1.32.
\[ hauteur = 17.88 - 16.5e^(-k . diametre^(1,32)\]
as.function.nls <- function(x, ...) {
nls_model <- x
name_x <- names(nls_model$dataClasses)
stopifnot(length(name_x) == 1)
function(x) predict(nls_model, newdata = structure(list(x), names = name_x))
}
abies_plot +
stat_function(fun = as.function(abies_nls1), color = "red", size = 1) +
stat_function(fun = as.function(abies_nls2), color = "blue", size = 1) +
stat_function(fun = as.function(abies_nls3), color = "green", size = 1)
Nous pouvons observer que le diametre des arbres par rapport à hauteur croit de facons linéaire mais après une certaine hauteur, nous atteignons un plafond où le diametre continue de grandir mais plus la hauteur.