Modelowanie wzrostu soi za pomocą GAM
W tym ćwiczeniu zmodelujemy średnią masę liści rośliny sojowej jako funkcję czasu (od momentu sadzenia). Jak się przekonasz, roślina sojowa nie rośnie w równomiernym tempie – przeżywa gwałtowny skok wzrostu, który z czasem wygasa. Dlatego masa liści nie jest dobrze opisywana przez model liniowy.
Pamiętaj, że zmienną, którą chcesz modelować nieliniowo, możesz wskazać w formule za pomocą funkcji s() (dokumentacja):
y ~ s(x)
Pamiętaj też, że funkcja gam() (dokumentacja) z pakietu mgcv ma następujący interfejs wywołania:
gam(formula, family, data)
Do standardowej regresji użyj family = gaussian (wartość domyślna).
Dane treningowe dotyczące soi, soybean_train, są już wczytane. Zbiór zawiera dwie kolumny: zmienną wynikową weight oraz zmienną Time. Dla porównania wczytany został również model liniowy model.lin, dopasowany przy użyciu formuły weight ~ Time.
To ćwiczenie jest częścią kursu
Nadzorowane uczenie maszynowe w R: regresja
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# soybean_train is available
summary(soybean_train)
# Plot weight vs Time (Time on x axis)
ggplot(soybean_train, aes(x = ___, y = ___)) +
geom_point()