The goal of GWlasso is to provides a set of functions to perform Geographically weighted lasso. It was originally thought to be used in palaeoecological settings but can be used to other extents.
Installation
You can install the development version of GWlasso from GitHub with:
# install.packages("devtools")
devtools::install_github("nibortolum/GWlasso")
You can install the stable version directly from CRAN with
install.packages("GWlasso")
Example
This is a basic example on how to run a GWlasso pipeline:
library(GWlasso)
## compute a distance matrix from a set of coordinates
distance_matrix <- compute_distance_matrix <- function(coords, method = "euclidean", add.noise = FALSE)
## compute the optimal bandwidth
myst.est <- gwl_bw_estimation(x.var = predictors_df,
y.var = y_vector,
dist.mat = distance_matrix,
adaptive = TRUE,
adptbwd.thresh = 0.1,
kernel = "bisquare",
alpha = 1,
progress = TRUE,
n=40,
nfolds = 5)
## Compute the optimal model
my.gwl.fit <- gwl_fit(myst.est$bw,
x.var = data.sample[,-1],
y.var = data.sample$WTD,
kernel = "bisquare",
dist.mat = distance_matrix,
alpha = 1,
adaptive = TRUE, progress = T)
## make predictions
predicted_values <- predict(my.gwl.fit, newdata = new_data, newcoords = new_coords)