Vinecop.hessian_full
- Vinecop.hessian_full(self, u: numpy.ndarray, step_wise: bool = True, num_threads: int = 1, parameters: numpy.ndarray | None = None) list
Evaluates the hessian per observation.
Hessian is meant loosely as “gradients of each component of the score function”, i.e.
hess(t, e)[p](i, a) = ∂² log-likelihood_i / (∂θ_{t,e,p} ∂θ_a). For a continuous model it is computed analytically from the pair copulas’ first and second derivatives: the joint (non-step-wise) Hessian by a second-order cascade through the vine (the second derivative of the RVineGrad-style gradient cascade inscores()), and the step-wise Hessian by a first-order cascade of the step-wise score’s argument derivatives. Models with discrete variables use central finite differences ofscores()instead; models with nonparametric pair copulas are rejected.@literature Stoeber, J. and Schepsmeier, U. (2013). Estimating standard errors in regular vine copula models. Computational Statistics, 28 (6), 2679-2707.
- Parameters:
- undarray, shape (n, m), dtype float
An \(n \times (d + k)\)or \(n \times 2d\)matrix of evaluation points, where \(k\)is the number of discrete variables (see
select()).- step_wisebool
if
False, full gradient of the log-likelihood; ifTrue, score function of the step-wise MLE (gradients computed per pair-copula).- num_threadsint
The number of threads to use for computations; if greater than 1, the function will be applied concurrently to
num_threadsbatches ofu.