Hoofdstuk 6 Nonlineaire modellen

##Model fitten

R heeft een standaardfunctie voor nonlineaire modellen (nlm()), maar die werkt niet zo goed als de functie nlsLM() uit de package minpack.LM:

library(minpack.lm)
## Warning: package 'minpack.lm' was built under R version 4.1.3
fit <- nlsLM(massa~a*exp(b*tijd), start=list(a=0.1, b=1), data=komkommer)
summary(fit)
## 
## Formula: massa ~ a * exp(b * tijd)
## 
## Parameters:
##   Estimate Std. Error t value Pr(>|t|)    
## a 0.015703   0.002474   6.346  0.00143 ** 
## b 0.171406   0.006758  25.363 1.78e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.02701 on 5 degrees of freedom
## 
## Number of iterations to convergence: 37 
## Achieved convergence tolerance: 1.49e-08

##Predict en betrouwbaarheidsinterval

De functie predict() werkt ook voor deze functie, maar de optie voor een betrouwbaarheidsinterval werkt niet. Daarvoor moet je de volgende functie gebruiken:

library(propagate)
predictNLS(fit, interval = "confidence")

NB: bepalen van het betrouwbaarheidsinterval voor nonlineaire functies kost veel rekenkracht, dus tijd!