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.
The package has been submitted to CRAN and is awaiting evaluation
Installation
You can install the development version of GWlasso from GitHub with:
# install.packages("devtools")
devtools::install_github("nibortolum/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)