Zacznij terazZacznij za darmo

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

Zobacz kurs

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() 
Edytuj i uruchom kod