Kurtosis, Excess Kurtosis, and Tail Weight
Install and import#
npm install fintech-algorithmsimport { kurtosisExcessKurtosisAndTailWeight } from "fintech-algorithms/foundations/dispersion-shape-and-robust-statistics/kurtosis-excess-kurtosis-and-tail-weight";Signature#
kurtosisExcessKurtosisAndTailWeight(input)Divides the fourth central moment by the square of the second, subtracts 3 to give excess kurtosis, and says whether the tails are heavier or lighter than a normal distribution's.
Parameters#
| Name | Type | Notes |
|---|---|---|
input | { values: number[] } | The observations whose tail weight is being measured, under the key values. Both moments are population moments, dividing by n rather than applying a small-sample correction.values: at least two observations, and not all identical |
Returns#
{ kurtosis: number; excessKurtosis: number; tailWeightVsNormal: 'heavier' | 'lighter' }
kurtosis is m4 / m2 ** 2, excessKurtosis is that less 3, and tailWeightVsNormal is heavier when kurtosis exceeds 3 and lighter otherwise, including at exactly 3.
Errors#
- When
inputis null, an array, or not an object — throws TypeError - When
valuesis missing, is not an array, or is empty — throws RangeError - When any entry of
valuesdoes not coerce to a finite number — throws RangeError - When
valuesholds fewer than two observations, so the sample divisorn - 1would be zero — throws RangeError - When the second central moment is zero because every observation is identical — throws RangeError
Complexity: time O(n log n),
space O(n).
Worked example#
verified This is the worked example published in the article, replayed by the test suite on every run. The output cannot drift.
Input#
{
"values": [1, 2, 2, 4, 9]
}Call#
kurtosisExcessKurtosisAndTailWeight(input)Returns#
object with 2 fields: kurtosis, excessKurtosis
{
"kurtosis": 2.6779621076444537,
"excessKurtosis": -0.32203789235554625
}Diagrams#
How it works#
This page states the contract — how to call it correctly. The article explains the concept: why it works, and where it breaks.
References#
- Measures of Scale — NIST/SEMATECH e-Handbook
- Skewness and Kurtosis — NIST/SEMATECH e-Handbook
- Historical-example decision