Description Usage Arguments Details Value See Also Examples
Locate the WIDALS hyperparameters
1 2 | widals.snow(j, rm.ndx, Z, Hs, Ht, Hst.ls, locs, lags, b.lag, cv = 0,
geodesic = FALSE, wrap.around = NULL, GP.mx, stnd.d = FALSE, ltco = -16)
|
j |
Index used by |
rm.ndx |
A list of vectors of indices to remove for k-fold cross-validation. |
Z |
Data. A τ x n numeric matrix. |
Hs |
Spacial covariates. An n x p_s numeric matrix. |
Ht |
Temporal covariates. A τ x p_t numeric matrix. |
Hst.ls |
Space-time covariates. A list of length τ, each element containing a n x p_st numeric matrix. |
locs |
Locations of supporting sites. An n x 2 numeric matrix, first column is spacial x, second column is spacial y. If the |
lags |
Temporal lags for stochastic smoothing. An integer vector or scalar. E.g., if the data's time increment is daily, then |
b.lag |
ALS lag. A scalar integer, typically -1 (a-prior), or 0 (a-posteriori). |
cv |
Cross-validation switch. Currently takes on a value of |
geodesic |
Use geodesic distance? Boolean. If true, distance (used internally) is in units kilometers. |
wrap.around |
**Unused. |
GP.mx |
Hyperparameters. A k.glob x 2 non-negative matrix. See |
stnd.d |
Spacial compression. Boolean. |
ltco |
Weight threshold. A scalar number. A value of, e.g., -10, will instruct |
When the cv
is set to 2, then this function uses spacial k-fold validation, according to the site indices present in rm.ndx
. When cv
is set to -2, self-referencing sites are given zero-weight, i.e., a site's value is not allowed to contribute to its predicted value.
A τ x n matrix. The WIDALS predictions at locs
.
crispify
, H.als.b
, widals.predict
.
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 |
set.seed(99999)
library(SSsimple)
tau <- 100
n.all <- 35
Hs.all <- matrix(rnorm(n.all), nrow=n.all)
Ht <- matrix(rnorm(tau*2), nrow=tau)
Hst.ls.all <- list()
for(i in 1:tau) { Hst.ls.all[[i]] <- matrix(rnorm(n.all*2), nrow=n.all) }
Hst.combined <- list()
for(i in 1:tau) {
Hst.combined[[i]] <- cbind( Hs.all, matrix(Ht[i, ], nrow=n.all, ncol=ncol(Ht),
byrow=TRUE), Hst.ls.all[[i]] )
}
locs.all <- cbind(runif(n.all, -1, 1), runif(n.all, -1, 1))
D.mx.all <- distance(locs.all, locs.all, FALSE)
R.all <- exp(-2*D.mx.all) + diag(0.01, n.all)
######## use SSsimple to simulate
sssim.obj <- SS.sim.tv( 0.999, Hst.combined, 0.01, R.all, tau )
n <- n.all
locs <- locs.all
Z.all <- sssim.obj$Z
Z <- Z.all
Hst.ls <- Hst.ls.all
Hs <- Hs.all
test.rng <- 20:tau
################ WIDALS, true cross-validation
rm.ndx <- create.rm.ndx.ls(n, 10)
cv <- 2
lags <- c(0)
b.lag <- 0
GP <- c(1/8, 1/12, 5, 0, 1)
GP.mx <- matrix(GP, ncol=length(GP))
Zwid <- widals.snow(j=1, rm.ndx, Z, Hs, Ht, Hst.ls, locs, lags, b.lag, cv = cv,
geodesic = FALSE, wrap.around = NULL, GP.mx, stnd.d = FALSE, ltco = -16)
errs.sq <- (Z - Zwid)^2
sqrt( mean(errs.sq[test.rng, ]) )
################ WIDALS, pseudo cross-validation
rm.ndx <- I(1:n)
cv <- -2
lags <- c(0)
b.lag <- -1
GP <- c(1/8, 1/12, 5, 0, 1)
GP.mx <- matrix(GP, ncol=length(GP))
Zwid <- widals.snow(j=1, rm.ndx, Z, Hs, Ht, Hst.ls, locs, lags, b.lag, cv = cv,
geodesic = FALSE, wrap.around = NULL, GP.mx, stnd.d = FALSE, ltco = -16)
errs.sq <- (Z - Zwid)^2
sqrt( mean(errs.sq[test.rng, ]) )
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.