Accord.Statistics.Circular.Kurtosis C# (CSharp) Method

Kurtosis() public static method

Computes the circular kurtosis of the given circular angles.
public static Kurtosis ( double angles ) : double
angles double A double array containing the angles in radians.
return double
        public static double Kurtosis(double[] angles)
        {
            // Compute mean direction
            double theta = Circular.Mean(angles);

            // Compute central moments
            double rho2 = CentralMoments(angles, 2).Magnitude;
            double mu2 = NoncentralMoments(angles, 2).Phase;

            // compute skewness 
            double k = 0;
            for (int i = 0; i < angles.Length; i++) // Pewsey, Metrika, 2004
                k += Math.Cos(2 * Circular.Distance(angles[i], theta));
            k /= angles.Length;

            /*
            double k0 = 0;
            double R4 = (R * R * R * R);
            double omR2 = (1 - R) * (1 - R);
            for (int i = 0; i < angles.Length; i++) // Fisher, Circular Statistics, p. 34
                k0 += (rho2 * Math.Cos(Circular.Distance(mu2, 2 * theta)) - R4) / omR2; // (formula 2.30)
            */

            return k;
        }