| pmvn_ce | R Documentation |
Computes the approximate log-likelihood for a count time series model based on a Gaussian or Student–t copula using the Continuous Extension (CE) method.
pmvn_ce(lower, upper, tau, od, c = 0.5, ret_llk = TRUE)
pmvt_ce(lower, upper, tau, od, c = 0.5, ret_llk = TRUE, df)
lower |
Numeric vector of length |
upper |
Numeric vector of length |
tau |
Numeric vector of ARMA dependence parameters ordered as
|
od |
Integer vector |
c |
Smoothing bandwidth parameter in |
ret_llk |
Logical; if |
df |
Degrees of freedom for the t copula. Required only for
|
The CE method replaces the discrete probability mass at each observation
with a smooth approximation controlled by a bandwidth parameter c.
This yields a tractable approximation to the multivariate rectangle
probability defining the likelihood.
Two copula families are supported:
Gaussian copula via pmvn_ce()
t copula via pmvt_ce()
In both cases, the latent dependence structure is specified through
an ARMA(p,q) model.
The CE approximation applies to discrete marginal distributions
once the corresponding latent lower and upper bounds are computed.
The Gaussian copula version uses the standard normal cdf,
while the t copula version uses the Student t cdf with degrees of
freedom df.
A numeric value giving the approximate log-likelihood.
Nguyen, Q. N., & De Oliveira, V. (2026). Approximating Gaussian copula models for count time series: Connecting the distributional transform and a continuous extension. Journal of Applied Statistics.
pmvn_ce, pmvt_ce
## Gaussian copula example
mu <- 10
tau <- 0.2
arma_order <- c(1, 0)
sim_data <- sim_poisson(mu = mu, tau = tau, arma_order = arma_order,
nsim = 500, family = "gaussian", seed = 1)
y <- sim_data$y
a <- qnorm(ppois(y - 1, lambda = mu))
b <- qnorm(ppois(y, lambda = mu))
llk_gauss <- pmvn_ce(lower = a, upper = b,
tau = tau, od = arma_order, c = 0.5)
## t copula example
df <- 8
sim_data_t <- sim_poisson(mu = mu, tau = tau, arma_order = arma_order,
nsim = 500, family = "t", df = df, seed = 1)
y_t <- sim_data_t$y
a_t <- qt(ppois(y_t - 1, lambda = mu), df = df)
b_t <- qt(ppois(y_t, lambda = mu), df = df)
llk_t <- pmvt_ce(lower = a_t, upper = b_t, tau = tau, od = arma_order,
c = 0.5, df = df)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.