void RunningStats::Print(FILE * pFile, const char * header) const { fprintf (pFile, "\n%s\n", header); fprintf (pFile, "NumDataValues: %ld\n", NumDataValues()); fprintf (pFile, "Mean: %f\n", Mean()); fprintf (pFile, "Variance: %f\n", Variance()); fprintf (pFile, "StandardDeviation: %f\n", StandardDeviation()); fprintf (pFile, "Skewness: %f\n", Skewness()); fprintf (pFile, "Kurtosis: %f\n", Kurtosis()); fprintf (pFile, "Maximum: %f\n", Maximum()); fprintf (pFile, "Minimum: %f\n", Minimum()); return; }
double UnivariateDistribution<T>::FourthMoment() const { double mean = Mean(); double variance = Variance(); double moment3 = ThirdMoment(); double kurtosis = Kurtosis(); double meanSq = mean * mean; double moment = kurtosis * variance * variance; moment -= 6 * meanSq * variance; moment -= 3 * meanSq * meanSq; moment += 4 * mean * moment3; return moment; }