Learn R Programming

wle (version 0.9-91)

mde.wrappednormal: Wrapped Normal Minimum Distance Estimates

Description

Computes the minimum distance estimates for the parameters of a Wrapped Normal distribution: the mean direction and the concentration parameter (and the scale parameter).

Usage

mde.wrappednormal(x, bw, mu = NULL, rho = NULL, sd = NULL, alpha = NULL, p = 2, tol = 1e-05, n = 512, from = circular(0), to = circular(2 * pi), lower = NULL, upper = NULL, method = "L-BFGS-B", lower.rho = 1e-06, upper.rho = 1 - 1e-06, min.sd = 0.001, K = NULL, min.k = 10, control.circular = list(), ...) "print"(x, digits = max(3, getOption("digits") - 3), ...)

Arguments

x
a vector. The object is coerced to class circular.
bw
the value of the smoothing parameter.
mu
initial value for the mean direction. Default: maximum likelihood estimate.
rho
initial value for the concentration parameter. Default: maximum likelihood estimate.
sd
initial value for the standard deviation parameter. This value is used only if rho is NULL. Default: maximum likelihood estimate.
alpha
if not NULL overrides the value of p. See the next argument p. This is a different parameterization, alpha=-1/2 provides Hellinger distance, alpha=-1 provides Kullback-Leibler distance and alpha=-2 provides Neyman's Chi-Square distance.
p
p=2 provides Hellinger distance, p=-1 provides Kullback-Leibler distance and p=Inf provides Neyman's Chi-Square distance. It is ignored if alpha is not NULL.
tol
the absolute accuracy to be used to achieve convergence of the algorithm. This argument is passed to the function which determined the Maximum Likelihood estimates of the parameters. See mle.wrappednormal.
n
number of points used to approximate the density.
from
from which point in the circle the density is approximate.
to
to which point in the circle the density is approximate.
lower
a 2 elements vector passed to optim used to constrained optimization. First element for the mean direction, second element for the concentration.
upper
a 2 elements vector passed to optim used to constrained optimization. First element for the mean direction, second element for the concentration.
method
passed to optim.
lower.rho
if lower is NULL this parameter is used to constrained optimization for the concentration parameter.
upper.rho
if upper is NULL this parameter is used to constrained optimization for the concentration parameter.
min.sd
minimum value for the sd parameter. This argument is passed to the function which determined the Maximum Likelihood estimates of the parameters. See mle.wrappednormal.
K
number of elements used to approximate the density of the wrapped normal.
min.k
minimum number of elements used to approximate the density of the wrapped normal.
control.circular
the attribute of the resulting object (mu)
digits
integer indicating the precision to be used.
...
further parameters in print.mde.wrappednormal.

Value

Returns a list with the following components:
call
the match.call().
mu
the estimate of the mean direction.
rho
the estimate of the concentration parameter.
sd
the estimate of the standard deviation parameter.
dist
the distance between the estimated density and the model.
data
the original supplied data converted in radians, clockwise and zero at 0.
x
the 'n' coordinates of the points where the density is estimated.
y
the estimated density values.
k
the density at the model.

Details

The distance from an estimated density (by the non parametric kernel density estimator) and the model is evaluated by simple rectangular approximation. optim is used to performs minimization.

References

C. Agostinelli. Robust estimation for circular data. Computational Statistics & Data Analysis, 51(12):5867-5875, 2007.

See Also

circular, mle.wrappednormal and wle.wrappednormal.

Examples

Run this code

set.seed(1234)
x <- c(rwrappednormal(n=200, mu=circular(0), sd=0.6),
  rwrappednormal(n=20, mu=circular(pi/2), sd=0.1))
res <- mde.wrappednormal(x, bw=0.08, mu=circular(0), sd=0.6)
res
plot(circular(0), type='n', xlim=c(-1, 1.75), shrink=1.2)
lines(circular(res$x), res$y)
lines(circular(res$x), res$k, col=2)
legend(1,1.5, legend=c('estimated density', 'MDE'), lty=c(1, 1), col=c(1, 2))

Run the code above in your browser using DataLab