fintech-algorithms
Using a coding agent? Give it the skill: npx skills add IslamBaraka90/Fintech-Algorithms-Library What it does →

Five-Number Summary and Box Plot

Install and import#

bash
npm install fintech-algorithms
ts
import { fiveNumberSummaryAndBoxPlot } from "fintech-algorithms/foundations/location-ranking-and-exploratory-summaries/five-number-summary-and-box-plot";

Signature#

fiveNumberSummaryAndBoxPlot(input)

Produces the minimum, three quartiles, and maximum of a numeric series, the Tukey 1.5-IQR fences drawn from them, and the observations lying outside those fences.

Parameters#

NameTypeNotes
input{ values: number[] }The observations to summarise, under the key values. Quartiles use linear interpolation between neighbouring order statistics.

Returns#

{ fiveNumberSummary: number[]; fences: [number, number]; outliers: number[] }

fiveNumberSummary is [minimum, q1, median, q3, maximum], fences is [q1 - 1.5 * iqr, q3 + 1.5 * iqr], and outliers lists the observations strictly outside the fences in the caller's original order.

Errors#

  • When input is null, an array, or not an object — throws TypeError
  • When values is missing, is not an array, or is empty — throws RangeError
  • When any entry of values does not coerce to a finite number — 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#

input
{
  "values": [1, 2, 2, 4, 9],
  "weights": [1, 1, 2, 1, 1],
  "trimProportion": 0.2,
  "bins": 4
}

Call#

fiveNumberSummaryAndBoxPlot(input)

Returns#

object with 2 fields: fiveNumberSummary, fences

{
  "fiveNumberSummary": [1, 2, 2, 4, 9],
  "fences": [-1, 7]
}

Diagrams#

Five-Number Summary and Box Plot — article hero
Five-Number Summary and Box Plot — calculation ledger
Five-Number Summary and Box Plot — comparison map
Five-Number Summary and Box Plot — concept anatomy
Five-Number Summary and Box Plot — mistake contrast
Five-Number Summary and Box Plot — scenario map

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.

Read the article →

References#

  • Box Plot
  • Percentile Definitions
  • Historical-example decision

The rest of the Location, Ranking, and Exploratory Summaries family#