Learn R Programming

topolow (version 1.0.0)

likelihood_function: Evaluate Likelihood with Cross-Validation

Description

Calculates cross-validated likelihood for a set of parameters by:

  1. Splitting data into training/validation sets

  2. Fitting model on training data

  3. Evaluating likelihood on validation set

  4. Repeating across folds To calculate one NLL per set of parameters, the function uses a pooled errors approach which combines all validation errors into one set, then calculate a single NLL. This approach has two main advantages: 1- It treats all validation errors equally, respecting the underlying error distribution assumption 2- It properly accounts for the total number of validation points

Usage

likelihood_function(
  distance_matrix,
  mapping_max_iter,
  relative_epsilon,
  N,
  k0,
  cooling_rate,
  c_repulsion,
  folds = 20,
  num_cores = 1
)

Value

List with:

Holdout_MAE

Mean absolute error on validation data

NLL

Negative log likelihood

Arguments

distance_matrix

Distance matrix to fit

mapping_max_iter

Maximum map optimization iterations

relative_epsilon

Convergence threshold

N

Number of dimensions

k0

Initial spring constant

cooling_rate

Spring constant decay rate

c_repulsion

Repulsion constant

folds

Number of CV folds

num_cores

Number of cores for parallel processing