Description
Geographically Weighted Lasso.
Description
Performs geographically weighted Lasso regressions. Find optimal bandwidth, fit a geographically weighted lasso or ridge regression, and make predictions. These methods are specially well suited for ecological inferences. Bandwidth selection algorithm is from A. Comber and P. Harris (2018) <doi:10.1007/s10109-018-0280-7>.
README.md
GWlasso
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)