| estimators | R Documentation |
\boldsymbol\thetaEstimation of the axis of rotational symmetry
\boldsymbol{\theta} of a rotational symmetric unit-norm random vector
\boldsymbol{X} in \mathcal{S}^{p-1}:=\{\boldsymbol{x}\in
\mathbb{R}^p:\|\boldsymbol{x}\|=1\}, p \ge 2, from a hyperspherical
sample \boldsymbol{X}_1,\ldots,\boldsymbol{X}_n\in \mathcal{S}^{p-1}.
spherical_mean(data)
spherical_loc_PCA(data)
data |
hyperspherical data, a matrix of size |
The spherical_mean estimator computes the sample mean of
\boldsymbol{X}_1,\ldots,\boldsymbol{X}_n and normalizes it by its norm
(if the norm is different from zero). It estimates consistently
\boldsymbol{\theta} for rotational symmetric models based on
angular functions g that are monotone
increasing.
The estimator in spherical_loc_PCA is based on the fact that, under
rotational symmetry, the expectation of \boldsymbol{X}\boldsymbol{X}'
is a\boldsymbol{\theta}\boldsymbol{\theta}' + b(\boldsymbol{I}_p -
\boldsymbol{\theta}\boldsymbol{\theta}') for certain constants
a,b \ge 0. Therefore, \boldsymbol{\theta} is the eigenvector with
unique multiplicity of the expectation of
\boldsymbol{X}\boldsymbol{X}'. Its use is recommended if the
rotationally symmetric data is not unimodal.
A vector of length p with an estimate for
\boldsymbol{\theta}.
García-Portugués, E., Paindaveine, D., Verdebout, T. (2020) On optimal tests for rotational symmetry against new classes of hyperspherical distributions. Journal of the American Statistical Association, 115(532):1873–1887. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1080/01621459.2019.1665527")}
test_rotasym.
# Sample from a vMF
n <- 200
p <- 10
theta <- c(1, rep(0, p - 1))
set.seed(123456789)
data <- r_vMF(n = n, mu = theta, kappa = 3)
theta_mean <- spherical_mean(data)
theta_PCA <- spherical_loc_PCA(data)
sqrt(sum((theta - theta_mean)^2)) # More efficient
sqrt(sum((theta - theta_PCA)^2))
# Sample from a mixture of antipodal vMF's
n <- 200
p <- 10
theta <- c(1, rep(0, p - 1))
set.seed(123456789)
data <- rbind(r_vMF(n = n, mu = theta, kappa = 3),
r_vMF(n = n, mu = -theta, kappa = 3))
theta_mean <- spherical_mean(data)
theta_PCA <- spherical_loc_PCA(data)
sqrt(sum((theta - theta_mean)^2))
sqrt(sum((theta - theta_PCA)^2)) # Better suited in this case
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.