public static void DistributionMoments() { //ContinuousDistribution d = new GumbelDistribution(); DiscreteDistribution d = new PoissonDistribution(5); Console.WriteLine($"support = {d.Support}"); Console.WriteLine($"mean = {d.Mean}"); Console.WriteLine($"mean as expectation = {d.ExpectationValue(x => x)}"); Console.WriteLine($"variance = {d.Variance}"); Console.WriteLine($"variance as expectation = {d.ExpectationValue(x => MoreMath.Sqr(x - d.Mean))}"); Console.WriteLine($"standard deviation = {d.StandardDeviation}"); Console.WriteLine($"skewness = {d.Skewness}"); Console.WriteLine($"excess kuritosis = {d.ExcessKurtosis}"); for (int r = 0; r <= 4; r++) { Console.WriteLine($"M_{r} = {d.RawMoment(r)}"); Console.WriteLine($"C_{r} = {d.CentralMoment(r)}"); Console.WriteLine($"K_{r} = {d.Cumulant(r)}"); } }