fmpareto_HR_MLE: Parameter fitting for multivariate Huesler-Reiss Pareto...

View source: R/estimation_param_MLE.R

fmpareto_HR_MLER Documentation

Parameter fitting for multivariate Huesler-Reiss Pareto distribution

Description

Fits the parameters of a multivariate Huesler-Reiss Pareto distribution using (censored) maximum likelihood estimation.

Usage

fmpareto_HR_MLE(
  data,
  p = NULL,
  cens = FALSE,
  init = NULL,
  fixParams = integer(0),
  useTheta = TRUE,
  maxit = 100,
  graph = NULL,
  optMethod = "BFGS",
  nAttemptsFixInit = 3
)

Arguments

data

Numeric \nxd matrix, where n is the number of observations and d is the number of dimensions.

p

Numeric scalar between 0 and 1 or NULL. If NULL (default), it is assumed that the data is already on a multivariate Pareto scale. Else, p is used as the probability in data2mpareto() to standardize the data.

cens

Logical scalar. If true, then censored likelihood contributions are used for components below the threshold. This is computationally expensive and by default cens = FALSE.

init

Numeric vector or numeric matrix. Initial parameter values in the optimization. If NULL, the empirical variogram is used instead. Otherwise should be a numeric vector with one entry per edge in graph, or a complete variogram/precision matrix.

fixParams

Numeric or logical vector. Indices of the parameter vectors that are kept fixed (identical to init) during the optimization. Default is integer(0).

useTheta

Logical. Whether to perform the MLE optimization in terms of Theta or Gamma.

maxit

Positive integer. The maximum number of iterations in the optimization.

graph

Graph object from igraph package or NULL (implying the complete graph).

optMethod

String. A valid optimization method used by the function stats::optim. By default, method = "BFGS".

nAttemptsFixInit

Numeric. If useTheta=TRUE and the initial parameter init is not valid, attempt to fix it first by making sure all off-diagonal entries are negative and then adding some random noise at most this many times.

Details

Only the parameters corresponding to edges in graph are optimized, the remaining entries are implied by the graphical structure. If graph is NULL, the complete graph is used. The optimization is done either in terms of the variogram (Gamma) or precision matrix (Theta), depending on the value of useTheta. If graph is non-decomposable, useTheta=TRUE is significantly faster, otherwise they are similar in performance.

Value

List consisting of:

convergence

Logical. Indicates whether the optimization converged or not.

Gamma

Numeric ⁠d x d⁠ matrix. Fitted variogram matrix.

Theta

Numeric ⁠d x d⁠ matrix. Fitted precision matrix.

par

Numeric vector. Optimal parameters, including fixed parameters.

par_opt

Numeric. Optimal parameters, excluding fixed parameters.

nllik

Numeric. Optimal value of the negative log-likelihood function.

hessian

Numeric matrix. Estimated Hessian matrix of the estimated parameters.

See Also

Other parameter estimation methods: data2mpareto(), emp_chi_multdim(), emp_chi(), emp_vario(), emtp2(), fmpareto_graph_HR(), loglik_HR()


graphicalExtremes documentation built on Nov. 14, 2023, 1:07 a.m.