Description Usage Arguments Details Author(s) See Also Examples
Fits a regression or a trend model (e.g. a GLM) and, if not available, a variogram for the response residuals using the default settings.
1 2 3 4 5 6 7 | ## S4 method for signature
## 'formula,data.frame,SpatialPixelsDataFrame,character'
fit.regModel(formulaString, rmatrix, predictionDomain,
method = list("GLM", "rpart", "randomForest", "quantregForest", "lme",
"xgboost", "ranger"),
dimensions = NULL, fit.family = gaussian(), stepwise = TRUE, rvgm,
GLS = FALSE, steps, subsample, subsample.reg, ...)
|
formulaString |
object of class |
rmatrix |
object of class |
predictionDomain |
object of class |
method |
character; family of methods considered e.g. |
dimensions |
character; |
fit.family |
family to be passed to the |
stepwise |
specifies whether to run step-wise regression on top of GLM to get an optimal subset of predictors |
rvgm |
residual variogram (to avoid fitting the variogram set as NULL) |
GLS |
fit trend model using Generalized Least Squares implemented in the nlme package |
steps |
integer; the maximum number of steps to be considered for step-wise regression; see |
subsample |
integer; maximum number of observations to be taken for variogram model fitting (to speed up variogram fitting) |
subsample.reg |
integer; maximum number of observations to be taken for regression model fitting (especially important for randomForest modelling) |
... |
other optional arguments that can be passed to |
Produces an object of class "gstatModel"
that contains: (1) fitted regression model (e.g. a GLM, cubist model, or randomForest model), (2) fitted variogram, and (c) object of class "SpatialPoints"
with observation locations. To combine overlay and model fitting operations, consider using fit.gstatModel
.
Tomislav Hengl, Mario Antonio Guevara Santamaria and Bas Kempen
fit.gstatModel
, stats::glm
, gstat::fit.variogram
, randomForest::randomForest
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | library(sp)
library(rpart)
library(nlme)
library(gstat)
library(randomForest)
library(quantregForest)
library(xgboost)
library(caret)
library(scales)
library(AICcmodavg)
## load the Meuse data set:
demo(meuse, echo=FALSE)
## prepare the regression matrix:
ov <- over(meuse, meuse.grid)
ov <- cbind(data.frame(meuse["om"]), ov)
## skip variogram fitting:
m <- fit.regModel(om~dist+ffreq, rmatrix=ov, meuse.grid,
fit.family=gaussian(log), method="GLM", rvgm=NULL)
m@regModel
m@vgmModel
plot(m)
## fit a GLM with variogram:
m1 <- fit.regModel(om~dist+ffreq, rmatrix=ov, meuse.grid,
fit.family=gaussian(log), method="GLM")
m1@vgmModel
plot(m1)
rk1 <- predict(m1, meuse.grid)
plot(rk1)
## fit a regression tree with variogram:
m2 <- fit.regModel(log1p(om)~dist+ffreq, rmatrix=ov, meuse.grid,
method="rpart")
plot(m2)
rk2 <- predict(m2, meuse.grid)
plot(rk2)
## fit a lme model with variogram:
m3 <- fit.regModel(log1p(om)~dist, rmatrix=ov, meuse.grid,
method="lme", random=~1|ffreq)
plot(m3)
#rk3 <- predict(m3, meuse.grid)
#plot(rk3)
## fit a randomForest model with variogram
## NOTE: no transformation required
m4 <- fit.regModel(om~dist+ffreq, rmatrix=ov, meuse.grid,
method="randomForest")
plot(m4)
rk4 <- predict(m4, meuse.grid)
plot(rk4)
## RF is very sensitive to the 'mtry' argument:
m4b <- fit.regModel(om~dist+ffreq, rmatrix=ov, meuse.grid,
method="randomForest", mtry=2)
plot(m4b)
## Not run:
## RF with uncertainty (quantregForest package)
m5 <- fit.regModel(om~dist+ffreq, rmatrix=ov, meuse.grid,
method="quantregForest")
plot(m5)
rk5 <- predict(m5, meuse.grid)
plot(rk5)
dev.off()
## plot prediction error map:
spplot(rk5@predicted["var1.var"])
## ranger
m6 <- fit.regModel(om~dist+ffreq, rmatrix=ov, meuse.grid,
method="ranger", rvgm=NULL)
plot(m6)
rk6 <- predict(m6, meuse.grid)
plot(rk6)
## XGBoost
m7 <- fit.regModel(om~dist+ffreq, rmatrix=ov, meuse.grid,
method="xgboost", rvgm=NULL)
plot(m7)
rk7 <- predict(m7, meuse.grid)
plot(rk7)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.