Learn R Programming

mev (version 1.17)

angmeasdir: Dirichlet mixture smoothing of the angular measure

Description

This function computes the empirical or Euclidean likelihood estimates of the spectral measure and uses the points returned from a call to angmeas to compute the Dirichlet mixture smoothing of de Carvalho, Warchol and Segers (2012), placing a Dirichlet kernel at each observation.

Usage

angmeasdir(
  x,
  th,
  Rnorm = c("l1", "l2", "linf"),
  Anorm = c("l1", "l2", "linf", "arctan"),
  marg = c("Frechet", "Pareto"),
  wgt = c("Empirical", "Euclidean"),
  region = c("sum", "min", "max"),
  is.angle = FALSE
)

Value

an invisible list with components

  • nu bandwidth parameter obtained by cross-validation;

  • dirparmat n by d matrix of Dirichlet parameters for the mixtures;

  • wts mixture weights.

Arguments

x

an n by d sample matrix

th

threshold of length 1 for 'sum', or d marginal thresholds otherwise.

Rnorm

character string indicating the norm for the radial component.

Anorm

character string indicating the norm for the angular component. arctan is only implemented for \(d=2\)

marg

character string indicating choice of marginal transformation, either to Frechet or Pareto scale

wgt

character string indicating weighting function for the equation. Can be based on Euclidean or empirical likelihood for the mean

region

character string specifying which observations to consider (and weight). 'sum' corresponds to a radial threshold \(\sum x_i > \)th, 'min' to \(\min x_i >\)th and 'max' to \(\max x_i >\)th.

is.angle

logical indicating whether observations are already angle with respect to region. Default to FALSE.

Details

The cross-validation bandwidth is the solution of $$\max_{\nu} \sum_{i=1}^n \log \left\{ \sum_{k=1,k \neq i}^n p_{k, -i} f(\mathbf{w}_i; \nu \mathbf{w}_k)\right\},$$ where \(f\) is the density of the Dirichlet distribution, \(p_{k, -i}\) is the Euclidean weight obtained from estimating the Euclidean likelihood problem without observation \(i\).

Examples

Run this code
set.seed(123)
x <- rmev(n=100, d=2, param=0.5, model='log')
out <- angmeasdir(x=x, th=0, Rnorm='l1', Anorm='l1', marg='Frechet', wgt='Empirical')

Run the code above in your browser using DataLab