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
<- nlsLM(massa~a*exp(b*tijd), start=list(a=0.1, b=1), data=komkommer)
fit 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!