Learn R Programming

varycoef (version 0.3.0)

SVC_mle_control: Set Parameters for SVC_mle

Description

Function to set up control parameters for SVC_mle. In the following, we assume the SVC model to have \(p\) GPs, which model the SVCs, and \(q\) fixed effects.

Usage

SVC_mle_control(...)

# S3 method for default SVC_mle_control( cov.name = c("exp", "sph"), tapering = NULL, parallel = NULL, init = NULL, lower = NULL, upper = NULL, save.fitted = TRUE, profileLik = FALSE, mean.est = c("GLS", "OLS"), pc.prior = NULL, extract_fun = FALSE, hessian = FALSE, dist = list(method = "euclidean"), ... )

# S3 method for SVC_mle SVC_mle_control(object, ...)

Arguments

...

further parameters yet to be implemented

cov.name

(character(1)) Name of the covariance function defining the covariance matrix of the GRF. Currently, only "exp" for the exponential and "exp" for spherical covariance functions are supported.

tapering

(NULL or numeric(1)) If NULL, no tapering is applied. If a scalar is given, covariance tapering with this taper range is applied, for all Gaussian processes modelling the SVC.

parallel

(NULL or list) If NULL, no parallelization is applied. If cluster has been established, define arguments for parallelization with a list, see documentation of optimParallel.

init

(numeric(2p+1+q*as.numeric(profileLik))) Initial values for optimization procedure. The vector consists of p-times (alternating) scale and variance, the nugget variance and (if profileLik = TRUE) q mean effects.

lower

(NULL or numeric(2p+1+q*as.numeric(profileLik))) Lower bound for init in optim. Default NULL sets the lower bounds to 1e-05 for range and nugget parameters, 0 for variance parameters and -Inf for mean parameters.

upper

(NULL or numeric(2p+1+q*as.numeric(profileLik))) Upper bound for init in optim. Default NULL sets the upper bounds for all parameters to Inf.

save.fitted

(logical(1)) If TRUE, calculates the fitted values and residuals after MLE and stores them. This is necessary to call residuals and fitted methods afterwards.

profileLik

(logical(1)) If TRUE, MLE is done over profile Likelihood of covariance parameters.

mean.est

(character(1)) If profileLik = TRUE, the means have to be estimated seperately for each step. "GLS" uses the generalized least square estimate while "OLS" uses the ordinary least squares estimate.

pc.prior

(NULL or numeric(4)) If numeric vector is given, penalized complexity priors are applied. The order is \(\rho_0, \alpha_\rho, \sigma_0, \alpha_\sigma\) to give some prior believes for the range and the standard deviation of GPs, such that \(P(\rho < \rho_0) = \alpha_\rho, P(\sigma > \sigma_0) = \alpha_\sigma\). This regulates the optimization process. Currently, only supported for GPs with of Mat<U+00E9>rn class covariance functions. Based on the idea by Fulgstad et al. (2018) 10.1080/01621459.2017.1415907.

extract_fun

(logical(1)) If TRUE, the function call of SVC_mle stops before the MLE and gives back the objective function of the MLE as well as all used arguments. If FALSE, regular MLE is conducted.

hessian

(logical(1)) If FALSE, Hessian matrix is computed, see optim.

dist

(list) List containing the arguments of nearestdist. This controls the method of how the distances and therefore dependency structures are calculated. The default gives Euclidean distances in a \(d\)-dimensional space. Further editable arguments are p, miles, R, see help file of nearestdist. The other arguments, i.e., x, y, delta, upper, are set and not to be altered. Without tapering, delta is set to \(1e99\).

object

(SVC_mle) The function then extracts the control settings from the function call used to compute in the given SVC_mle object.

Value

A list with which SVC_mle can be controlled.

Details

The argument extract_fun is useful, when one wants to modify the objective function. Further, when trying to parallelize the optimization, it is useful to check whether a single evaluation of the objective function takes longer than 0.05 seconds to evaluate, cf. Gerber and Furrer (2019) 10.32614/RJ-2019-030. Platform specific issues can be sorted out by the user by setting up their own optimization.

See Also

SVC_mle

Examples

Run this code
# NOT RUN {
control <- SVC_mle_control(init = rep(0.3, 10))
# or
control <- SVC_mle_control()
control$init <- rep(0.3, 10)

# }

Run the code above in your browser using DataLab