time-to-botec/squiggle/node_modules/@stdlib/stats/incr/kurtosis/README.md
NunoSempere b6addc7f05 feat: add the node modules
Necessary in order to clearly see the squiggle hotwiring.
2022-12-03 12:44:49 +00:00

5.9 KiB
Raw Blame History

incrkurtosis

Compute a corrected sample excess kurtosis incrementally.

The kurtosis for a random variable X is defined as

Equation for the kurtosis.

Using a univariate normal distribution as the standard of comparison, the excess kurtosis is the kurtosis minus 3.

For a sample of n values, the sample excess kurtosis is

Equation for the sample excess kurtosis.

where m_4 is the sample fourth central moment and m_2 is the sample second central moment.

The previous equation is, however, a biased estimator of the population excess kurtosis. An alternative estimator which is unbiased under normality is

Equation for the corrected sample excess kurtosis.

Usage

var incrkurtosis = require( '@stdlib/stats/incr/kurtosis' );

incrkurtosis()

Returns an accumulator function which incrementally computes a corrected sample excess kurtosis.

var accumulator = incrkurtosis();

accumulator( [x] )

If provided an input value x, the accumulator function returns an updated corrected sample excess kurtosis. If not provided an input value x, the accumulator function returns the current corrected sample excess kurtosis.

var accumulator = incrkurtosis();

var kurtosis = accumulator( 2.0 );
// returns null

kurtosis = accumulator( 2.0 );
// returns null

kurtosis = accumulator( -4.0 );
// returns null

kurtosis = accumulator( -4.0 );
// returns -6.0

Notes

  • Input values are not type checked. If provided NaN or a value which, when used in computations, results in NaN, the accumulated value is NaN for all future invocations. If non-numeric inputs are possible, you are advised to type check and handle accordingly before passing the value to the accumulator function.

Examples

var randu = require( '@stdlib/random/base/randu' );
var incrkurtosis = require( '@stdlib/stats/incr/kurtosis' );

var accumulator;
var v;
var i;

// Initialize an accumulator:
accumulator = incrkurtosis();

// For each simulated datum, update the corrected sample excess kurtosis...
for ( i = 0; i < 100; i++ ) {
    v = randu() * 100.0;
    accumulator( v );
}
console.log( accumulator() );

References

  • Joanes, D. N., and C. A. Gill. 1998. "Comparing measures of sample skewness and kurtosis." Journal of the Royal Statistical Society: Series D (The Statistician) 47 (1). Blackwell Publishers Ltd: 18389. doi:10.1111/1467-9884.00122.