Vinecop.mbicv
- Vinecop.mbicv(self: pyvinecopulib.Vinecop, u: numpy.ndarray[numpy.float64[m, n]] = array([], shape=(0, 0), dtype=float64), psi0: float = 0.9, num_threads: int = 1) float
Evaluates the modified Bayesian information criterion for vines (mBICV).
The mBICV is defined as
\[\mathrm{mBICV} = -2\, \mathrm{loglik} + \log(n) p, - 2 * \sum_{t=1}^(d - 1) \{q_t\]log(psi_0^t) - (d - t - q_t) log(1 -psi_0^t)},
where \(\mathrm{loglik}\) is the log-liklihood, \(p\) is the (effective) number of parameters of the model, \(t\) is the tree level, \(\psi_0\) is the prior probability of having a non-independence copula in the first tree, and \(q_t\) is the number of non-independence copulas in tree \(t\); The vBIC is a consistent model selection criterion for parametric sparse vine copula models when \(d = o(\sqrt{n \log n})\).
- Parameters:
u – An \(n \times (d + k)\) or \(n \times 2d\) matrix of evaluation points, where \(k\) is the number of discrete variables (see
Vinecop.select()
orVinecop.pdf()
).psi0 – Baseline prior probability of a non-independence copula.
num_threads – The number of threads to use for computations; if greater than 1, the function will be applied concurrently to
num_threads
batches ofu
.
- Returns:
The mBICV as a double.