retel {retel}R Documentation

Regularized exponentially tilted empirical likelihood

Description

Computes regularized exponentially tilted empirical likelihood.

Usage

retel(fn, x, par, mu, Sigma, tau, type = "full", opts = NULL)

Arguments

fn

An estimating function that takes the data x and parameter value par as its arguments, returning a numeric matrix. Each row is the return value from the corresponding row in x.

x

A numeric matrix, or an object that can be coerced to a numeric matrix. Each row corresponds to an observation. The number of rows must be greater than the number of columns.

par

A numeric vector of parameter values to be tested.

mu

A numeric vector of parameters for regularization. See 'Details' for more information.

Sigma

A numeric matrix, or an object that can be coerced to a numeric matrix, of parameters for regularization. See 'Details' for more information.

tau

A single numeric parameter for regularization. See 'Details' for more information.

type

A single character indicating the type of regularized exponentially tilted empirical likelihood. It must be either "full" or "reduced". Defaults to "full". See 'Details' for more information.

opts

An optional list with optimization options for nloptr(). Defaults to NULL.

Details

Let \{\bm{X}_i\}_{i = 1}^n denote independent d_x-dimensional observations from a complete probability space {(\mathcal{X}, \mathcal{F}, P)} satisfying the moment condition:

\textnormal{E}_P[\bm{g}(\bm{X}_i, \bm{\theta})] = \bm{0},

where {\bm{g}}: {\mathbb{R}^{d_x} \times \Theta} \mapsto {\mathbb{R}^p} is an estimating function with the true parameter value {\bm{\theta}_0} \in {\Theta} \subset \mathbb{R}^p.

For a given parameter value \bm{\theta}, regularized exponentially tilted empirical likelihood solves the following optimization problem:

\min_{\bm{\lambda} \in \mathbb{R}^p} \left\{ d_n\left(\bm{\theta}, \bm{\lambda}\right) + p_n\left(\bm{\theta}, \bm{\lambda}\right) \right\},

where

d_n\left(\bm{\theta}, \bm{\lambda}\right) = \frac{1}{n + \tau_n} \sum_{i = 1}^n \exp \left( \bm{\lambda}^\top \bm{g}\left(\bm{X}_i, \bm{\theta}\right) \right)

and

p_n\left(\bm{\theta}, \bm{\lambda}\right) = \frac{\tau_n}{n + \tau_n} \exp \left( \bm{\lambda}^\top\bm{\mu}_{n, \bm{\theta}} + \frac{1}{2} \bm{\lambda}^\top\bm{\Sigma}_{n, \bm{\theta}}\bm{\lambda} \right).

Here, {\tau_n} > {0}, \bm{\mu}_{n, \bm{\theta}}, \bm{\Sigma}_{n, \bm{\theta}} are all tuning parameters that control the strength of {p_n(\bm{\theta}, \bm{\lambda})} as a penalty.

Once we have determined the solution {\bm{\lambda}_{RET}}, we define the likelihood ratio function as follows:

R_{RET}\left(\bm{\theta}\right) = \left( \frac{n + \tau_n}{\tau_n}p_c\left(\bm{\theta}\right)\right) \prod_{i = 1}^n \left(n + \tau_n\right)p_i\left(\bm{\theta} \right),

where

p_i\left(\bm{\theta}\right) = \frac{\exp \left( {\bm{\lambda}_{RET}}^\top\bm{g}\left(\bm{X}_i, \bm{\theta}\right) \right) }{c_n\left(\bm{\theta}, \bm{\lambda}_{RET}\right) } \quad \left(i = 1, \dots, n\right),\quad p_c\left(\bm{\theta}\right) = \frac{p_n \left(\bm{\theta}, \bm{\lambda}_{RET}\right) }{c_n\left(\bm{\theta}, \bm{\lambda}_{RET}\right) },

and c_n\left(\bm{\theta}, \bm{\lambda}_{RET}\right) = d_n\left(\bm{\theta}, \bm{\lambda}_{RET}\right) + p_n\left(\bm{\theta}, \bm{\lambda}_{RET}\right) . The reduced version of the likelihood ratio function is defined as:

\widetilde{R}_{RET}\left(\bm{\theta}\right) = \prod_{i = 1}^n \left(n + \tau_n\right)p_i\left(\bm{\theta}\right).

See the references below for more details on derivation, interpretation, and properties.

Value

A single numeric value representing the log-likelihood ratio. It contains the optimization results as the attribute optim.

References

Kim E, MacEachern SN, Peruggia M (2023). "Regularized Exponentially Tilted Empirical Likelihood for Bayesian Inference." doi:10.48550/arXiv.2312.17015.

Examples

# Generate data
set.seed(63456)
x <- rnorm(100)

# Define an estimating function (ex. mean)
fn <- function(x, par) {
  x - par
}

# Set parameter value
par <- 0

# Set regularization parameters
mu <- 0
Sigma <- 1
tau <- 1

# Call the retel function
retel(fn, x, par, mu, Sigma, tau)

[Package retel version 0.1.0 Index]