1
$\begingroup$

I want to use skewness of circular data using circ_skewness code in MATLAB. I know there are two methods for this:

  1. Pewsey, Metrika, 2004
  2. Statistical analysis of circular data, Fisher, p. 34

However, it seems the results are very different from each other. For instance, when I test for a Von Mises distribution (which should have a skewness of 0), the first method returns a skewness of zero while the second method returns a skewness of the order of thousands. What is causing this problem?

Here is an example of what I do: I generate a Von Mises distribution with mean 1 and kappa 10 with size 10 (values are in radians):

b=[0.8149    0.8456    0.3600    0.6513    0.9229    1.3470    0.5658    1.3099    1.1366    0.6194]

I try to find its skewness:

Based on the code , b is the skewnss using Pewsey method and b0 is the skewness using Fisher method. These are the results:

b=-0.0061

b0=-78.8672

Why do we have this difference?

$\endgroup$
8
  • $\begingroup$ Because there are all kinds of ways a mistake can be made, it would help for you to show us a small example of the data you have and exactly how you are applying the two methods. Otherwise we can only speculate--and speculation doesn't fit well with what we do on CV. $\endgroup$
    – whuber
    Commented Oct 13, 2021 at 21:12
  • $\begingroup$ Thanks for your comment @whuber. I added an example to my question. I appreciate it if you can help me with this. $\endgroup$
    – Aep
    Commented Oct 13, 2021 at 21:43
  • $\begingroup$ Unfortunately, a dataset with 1000 numbers is scarcely suitable for presentation and testing. It limits any possibility of answering to readers who have Matlab and are interested in this subject. That's going to be a very small number. If, instead, you were to post a dataset with, say, three or four simple numbers, that would make it possible for anyone to check your example and perhaps give you some useful guidance. $\endgroup$
    – whuber
    Commented Oct 18, 2021 at 20:38
  • $\begingroup$ Thanks for your comment @whuber. I edited the question and added a specific example to it. I appreciate any comments/ideas. $\endgroup$
    – Aep
    Commented Oct 19, 2021 at 17:19
  • 1
    $\begingroup$ I have some untested R code implementing the NCSS formulas: cmoment <- function(a, k=1) { c.k <- mean(cos(k * a)); s.k <- mean(sin(k * a)); r.k <- sqrt(c.k^2 + s.k^2); t.k <- (atan2(s.k, c.k) + 2*pi) %% (2*pi); c(c=c.k, s=s.k, r=r.k, t=t.k) }; cskew <- function(a) { m.1 <- cmoment(a, 1); m.2 <- cmoment(a, 2); m.2["r"] * sin(m.2["t"] - 2*m.1["t"]) / (1 - m.1["r"])^(3/2) } As an example of its use, here is a Monte-Carlo simulation: s <- replicate(1e2, cskew(rnorm(1e2, sd=1/2) %% (2*pi))); hist(s) $\endgroup$
    – whuber
    Commented Oct 20, 2021 at 15:30

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.