Fits the parameters of a multivariate Huesler-Reiss Pareto distribution using (censored) maximum likelihood estimation.
fmpareto_HR_MLE(
data,
p = NULL,
cens = FALSE,
init = NULL,
fixParams = integer(0),
useTheta = TRUE,
maxit = 100,
graph = NULL,
optMethod = "BFGS",
nAttemptsFixInit = 3
)
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.
Numeric \(n \times d\) matrix, where n
is the
number of observations and d
is the number of dimensions.
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.
Logical scalar. If true, then censored likelihood contributions are used for
components below the threshold. This is computationally expensive and by default cens = FALSE
.
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.
Numeric or logical vector. Indices of the parameter vectors that are kept
fixed (identical to init
) during the optimization. Default is integer(0)
.
Logical. Whether to perform the MLE optimization in terms of Theta or Gamma.
Positive integer. The maximum number of iterations in the optimization.
Graph object from igraph
package or NULL
(implying the complete graph).
String. A valid optimization method used by the function
stats::optim. By default, method = "BFGS"
.
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.
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.
Other parameter estimation methods:
data2mpareto()
,
emp_chi_multdim()
,
emp_chi()
,
emp_vario()
,
emtp2()
,
fmpareto_graph_HR()
,
loglik_HR()