## Loading required package: nlme
## This is mgcv 1.8-15. For overview type 'help("mgcv-package")'.
Model 1
Mod.Train1 <- gam(flux ~ s(year,bs="cc",k=23)
+s(year,bs="cc",k=23,by=species,m=1)
+species+s(lat,bs="cr")
+s(long,bs="cr")
+indicator, data=Train.data)
summary(Mod.Train1)
##
## Family: gaussian
## Link function: identity
##
## Formula:
## flux ~ s(year, bs = "cc", k = 23) + s(year, bs = "cc", k = 23,
## by = species, m = 1) + species + s(lat, bs = "cr") + s(long,
## bs = "cr") + indicator
##
## Parametric coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.24141 0.09784 -12.688 < 2e-16 ***
## speciesCSH 0.05682 0.13395 0.424 0.67141
## speciesDBF -0.59941 0.10663 -5.621 1.92e-08 ***
## speciesEBF -1.57711 0.23677 -6.661 2.79e-11 ***
## speciesENF -0.54870 0.10676 -5.140 2.78e-07 ***
## speciesGRA 0.52446 0.10491 4.999 5.81e-07 ***
## speciesMF 0.36561 0.12332 2.965 0.00303 **
## speciesOSH -0.03325 0.13159 -0.253 0.80051
## speciesSAV 0.47162 0.19736 2.390 0.01687 *
## speciesWET 0.21335 0.14591 1.462 0.14369
## speciesWSA 0.24694 0.12745 1.938 0.05269 .
## indicatorW 1.44492 0.03140 46.022 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Approximate significance of smooth terms:
## edf Ref.df F p-value
## s(year) 5.022e+00 21.000 1.080 2.72e-05 ***
## s(year):speciesCRO 1.777e+01 19.000 4.795 2.91e-12 ***
## s(year):speciesCSH 1.723e+00 17.000 0.393 0.01025 *
## s(year):speciesDBF 8.354e+00 21.000 1.249 0.00016 ***
## s(year):speciesEBF 2.201e-03 10.000 0.000 1.00000
## s(year):speciesENF 1.233e-07 20.000 0.000 0.28593
## s(year):speciesGRA 6.823e+00 18.000 0.795 0.02105 *
## s(year):speciesMF 2.211e+00 20.000 1.255 1.68e-07 ***
## s(year):speciesOSH 1.489e+00 14.000 0.642 0.00107 **
## s(year):speciesSAV 8.127e-09 13.000 0.000 1.00000
## s(year):speciesWET 4.814e+00 20.000 1.285 9.33e-06 ***
## s(year):speciesWSA 2.259e-08 17.000 0.000 0.48048
## s(lat) 7.998e+00 8.585 137.736 < 2e-16 ***
## s(long) 8.712e+00 8.958 121.644 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## R-sq.(adj) = 0.205 Deviance explained = 20.8%
## GCV = 4.339 Scale est. = 4.3223 n = 19891
plot(residuals(Mod.Train1),pch=20,cex=0.3)
abline(h=0,col=2)

Prediction of Model 1
plot(Test.data[,2],pch=20,cex=0.1,ylab="CO2 Flux")
lines(predict(Mod.Train1,Test.data[,-c(1,2)]),pch=20,col=2)
legend("bottomleft",legend = c("True","Pred"),col=1:2,lty=2:1)
abline(v=cumsum(table(as.character(Test.data$site))),col="lightblue",lty="dashed")

Model 2
Mod.Train2 <- gam(flux ~ s(year,bs="cc",k=23)
+s(year,bs="cc",k=23,by=species,m=1)
+species+s(lat,bs="cr")
+s(long,bs="cr")
+indicator
+s(airtemp,bs="cr",k=23),data=Train.data)
summary(Mod.Train2)
##
## Family: gaussian
## Link function: identity
##
## Formula:
## flux ~ s(year, bs = "cc", k = 23) + s(year, bs = "cc", k = 23,
## by = species, m = 1) + species + s(lat, bs = "cr") + s(long,
## bs = "cr") + indicator + s(airtemp, bs = "cr", k = 23)
##
## Parametric coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.48439 0.06109 -7.929 2.33e-15 ***
## speciesCSH -0.18915 0.10389 -1.821 0.068661 .
## speciesDBF -0.74868 0.07154 -10.466 < 2e-16 ***
## speciesEBF -1.99212 0.33102 -6.018 1.80e-09 ***
## speciesENF -0.98470 0.07197 -13.681 < 2e-16 ***
## speciesGRA 0.53037 0.06873 7.717 1.25e-14 ***
## speciesMF 0.02664 0.09346 0.285 0.775643
## speciesOSH -0.11432 0.10551 -1.084 0.278587
## speciesSAV 0.70270 0.17445 4.028 5.65e-05 ***
## speciesWET 0.09814 0.11941 0.822 0.411169
## speciesWSA 0.35556 0.10091 3.524 0.000427 ***
## indicatorW -0.25854 0.04646 -5.565 2.65e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Approximate significance of smooth terms:
## edf Ref.df F p-value
## s(year) 5.329e+00 21.000 1.085 1.68e-06 ***
## s(year):speciesCRO 1.668e+01 19.000 4.904 7.12e-14 ***
## s(year):speciesCSH 2.065e-07 17.000 0.000 0.789965
## s(year):speciesDBF 9.764e+00 21.000 2.546 3.72e-11 ***
## s(year):speciesEBF 3.372e+00 9.000 0.677 0.106624
## s(year):speciesENF 3.448e+00 20.000 0.743 0.000178 ***
## s(year):speciesGRA 5.897e+00 18.000 1.007 0.000690 ***
## s(year):speciesMF 3.549e-02 19.000 0.003 0.114119
## s(year):speciesOSH 3.310e+00 14.000 3.864 7.86e-15 ***
## s(year):speciesSAV 5.062e-07 8.000 0.000 1.000000
## s(year):speciesWET 5.978e+00 20.000 0.616 0.025940 *
## s(year):speciesWSA 1.923e+00 14.000 0.416 0.023443 *
## s(lat) 8.393e+00 8.830 120.564 < 2e-16 ***
## s(long) 8.844e+00 8.987 153.075 < 2e-16 ***
## s(airtemp) 1.250e+01 14.777 232.728 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## R-sq.(adj) = 0.325 Deviance explained = 32.8%
## GCV = 3.712 Scale est. = 3.6936 n = 19624
plot(residuals(Mod.Train2),pch=20,cex=0.3)
abline(h=0,col=2)

Prediction of Model 2
plot(Test.data[,2],pch=20,cex=0.1,ylab="CO2 Flux")
lines(predict(Mod.Train2,Test.data[,-c(1,2)]),pch=20,col=2)
legend("bottomleft",legend = c("True","Pred"),col=1:2,lty=2:1)
abline(v=cumsum(table(as.character(Test.data$site))),col="lightblue",lty="dashed")
