Modelleer sojagroei met GAM
In deze oefening modelleer je het gemiddelde bladgewicht van een sojaplant als functie van de tijd (na het planten). Zoals je zult zien, groeit de sojaplant niet in een constant tempo, maar heeft hij eerder een "groeispurt" die uiteindelijk afvlakt. Daarom past een lineair model niet goed bij het bladgewicht.
Onthoud dat je in een formule kunt aangeven welke variabele je niet-lineair wilt modelleren met de functie s() (docs):
y ~ s(x)
Denk ook aan de aanroepinterface van gam() (docs) uit het pakket mgcv:
gam(formula, family, data)
Voor standaardregressie gebruik je family = gaussian (de standaardwaarde).
De trainingsgegevens voor soja, soybean_train, zijn al ingeladen. Deze gegevensset heeft twee kolommen: de uitkomst weight en de variabele Time. Ter vergelijking is het lineaire model model.lin, dat is gefit met de formule weight ~ Time, ook al beschikbaar.
Deze oefening maakt deel uit van de cursus
Supervised Learning in R: Regressie
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# soybean_train is available
summary(soybean_train)
# Plot weight vs Time (Time on x axis)
ggplot(soybean_train, aes(x = ___, y = ___)) +
geom_point()