Skip to content

@addmaple/stats API Reference

@addmaple/stats API Reference - v0.2.4 ​

Table of contents ​

Classes ​

Interfaces ​

Variables ​

Functions ​

Variables ​

BinningPresets ​

• Const BinningPresets: Object

Presets for common histogram binning strategies.

Type declaration ​

NameType
autoFD(bins?: number) => HistogramBinningOptions
autoScott(bins?: number) => HistogramBinningOptions
autoSqrt(bins?: number) => HistogramBinningOptions
autoWithTailCollapse(k: number, bins?: number) => HistogramBinningOptions
equalFrequency(bins: number) => HistogramBinningOptions
fixedWidth(bins: number) => HistogramBinningOptions
deciles() => HistogramBinningOptions
quartiles() => HistogramBinningOptions
custom(edges: Float64Array | number[]) => HistogramBinningOptions

Defined in ​

quantiles.ts:394


WASM_NOT_INITIALIZED_ERROR ​

• Const WASM_NOT_INITIALIZED_ERROR: "Wasm module not initialized. Call init() first."

The consistent error message for uninitialized WASM modules.

Defined in ​

shared.ts:149

Functions ​

covariance ​

▸ covariance(x, y): number

Calculate the covariance between two arrays.

Parameters ​

NameType
xArrayLike<number>
yArrayLike<number>

Returns ​

number

Defined in ​

correlation.ts:66


corrcoeff ​

▸ corrcoeff(x, y): number

Calculate the Pearson correlation coefficient.

Parameters ​

NameType
xArrayLike<number>
yArrayLike<number>

Returns ​

number

Defined in ​

correlation.ts:73


spearmancoeff ​

▸ spearmancoeff(x, y): number

Calculate the Spearman rank correlation coefficient.

Parameters ​

NameType
xArrayLike<number>
yArrayLike<number>

Returns ​

number

Defined in ​

correlation.ts:80


descriptiveStats ​

▸ descriptiveStats(data): DescriptiveStatsResult

Calculate a rich set of descriptive statistics for an array in one call.

This helper wraps core vector statistics (mean, variance, quartiles, skewness, etc.) and returns them in a single object.

Parameters ​

NameTypeDescription
dataArrayLike<number>Input array of numbers

Returns ​

DescriptiveStatsResult

An object with common descriptive statistics

Defined in ​

descriptive.ts:14


getDistributionsWasm ​

▸ getDistributionsWasm(): DistributionsWasmModule | null

Get the current WASM module instance.

Returns ​

DistributionsWasmModule | null

Defined in ​

distributions.ts:14


setDistributionsWasm ​

▸ setDistributionsWasm(mod): void

Set the WASM module instance.

Parameters ​

NameType
modDistributionsWasmModule

Returns ​

void

Defined in ​

distributions.ts:21


normal ​

▸ normal(params?): DistributionHandle

Parameters ​

NameType
paramsNormalParams

Returns ​

DistributionHandle

Defined in ​

distributions.ts:76


gamma ​

▸ gamma(params?): DistributionHandle

Parameters ​

NameType
paramsGammaParams

Returns ​

DistributionHandle

Defined in ​

distributions.ts:95


beta ​

▸ beta(params?): DistributionHandle

Parameters ​

NameType
paramsBetaParams

Returns ​

DistributionHandle

Defined in ​

distributions.ts:113


studentT ​

▸ studentT(params?): DistributionHandle

Parameters ​

NameType
paramsStudentTParams

Returns ​

DistributionHandle

Defined in ​

distributions.ts:132


chiSquared ​

▸ chiSquared(params?): DistributionHandle

Parameters ​

NameType
paramsChiSquaredParams

Returns ​

DistributionHandle

Defined in ​

distributions.ts:150


fisherF ​

▸ fisherF(params?): DistributionHandle

Parameters ​

NameType
paramsFisherFParams

Returns ​

DistributionHandle

Defined in ​

distributions.ts:167


exponential ​

▸ exponential(params?): DistributionHandle

Parameters ​

NameType
paramsExponentialParams

Returns ​

DistributionHandle

Defined in ​

distributions.ts:185


poisson ​

▸ poisson(params?): DistributionHandle

Parameters ​

NameType
paramsPoissonParams

Returns ​

DistributionHandle

Defined in ​

distributions.ts:201


binomial ​

▸ binomial(params?): DistributionHandle

Parameters ​

NameType
paramsBinomialParams

Returns ​

DistributionHandle

Defined in ​

distributions.ts:218


uniform ​

▸ uniform(params?): DistributionHandle

Parameters ​

NameType
paramsUniformParams

Returns ​

DistributionHandle

Defined in ​

distributions.ts:236


cauchy ​

▸ cauchy(params?): DistributionHandle

Parameters ​

NameType
paramsCauchyParams

Returns ​

DistributionHandle

Defined in ​

distributions.ts:254


laplace ​

▸ laplace(params?): DistributionHandle

Parameters ​

NameType
paramsLaplaceParams

Returns ​

DistributionHandle

Defined in ​

distributions.ts:272


logNormal ​

▸ logNormal(params?): DistributionHandle

Parameters ​

NameType
paramsLogNormalParams

Returns ​

DistributionHandle

Defined in ​

distributions.ts:290


weibull ​

▸ weibull(params?): DistributionHandle

Parameters ​

NameType
paramsWeibullParams

Returns ​

DistributionHandle

Defined in ​

distributions.ts:308


pareto ​

▸ pareto(params?): DistributionHandle

Parameters ​

NameType
paramsParetoParams

Returns ​

DistributionHandle

Defined in ​

distributions.ts:326


triangular ​

▸ triangular(params?): DistributionHandle

Parameters ​

NameType
paramsTriangularParams

Returns ​

DistributionHandle

Defined in ​

distributions.ts:345


inverseGamma ​

▸ inverseGamma(params?): DistributionHandle

Parameters ​

NameType
paramsInverseGammaParams

Returns ​

DistributionHandle

Defined in ​

distributions.ts:364


negativeBinomial ​

▸ negativeBinomial(params?): DistributionHandle

Parameters ​

NameType
paramsNegativeBinomialParams

Returns ​

DistributionHandle

Defined in ​

distributions.ts:382


init ​

▸ init(options?): Promise<void>

Initialize the full wasm module (SIMD-aware).

This function must be called once before using any statistics functions. It's safe to call multiple times - it will only initialize once.

Parameters ​

NameTypeDescription
optionsObjectInitialization options
options.inline?booleanIf true, use the inline (base64) version of the WASM module.

Returns ​

Promise<void>

Defined in ​

index.ts:54


percentile ​

▸ percentile(data, k, exclusive?): number

Calculate a percentile of an array.

Parameters ​

NameTypeDefault valueDescription
dataArrayLike<number>undefinedSorted or unsorted array
knumberundefinedPercentile (0 to 1)
exclusivebooleanfalseIf true, use exclusive percentile calculation

Returns ​

number

Defined in ​

quantiles.ts:58


percentileInclusive ​

▸ percentileInclusive(data, k): number

Parameters ​

NameType
dataArrayLike<number>
knumber

Returns ​

number

Defined in ​

quantiles.ts:72


percentileExclusive ​

▸ percentileExclusive(data, k): number

Parameters ​

NameType
dataArrayLike<number>
knumber

Returns ​

number

Defined in ​

quantiles.ts:86


percentileOfScore ​

▸ percentileOfScore(data, score, strict?): number

Calculate the percentile rank of a score.

Parameters ​

NameTypeDefault value
dataArrayLike<number>undefined
scorenumberundefined
strictbooleanfalse

Returns ​

number

Defined in ​

quantiles.ts:103


qscore ​

▸ qscore(data, score, strict?): number

Calculate the Q-score (quantile score) of a value.

Parameters ​

NameTypeDefault value
dataArrayLike<number>undefined
scorenumberundefined
strictbooleanfalse

Returns ​

number

Defined in ​

quantiles.ts:120


qtest ​

▸ qtest(data, score, qLower, qUpper): boolean

Perform a quantile test.

Parameters ​

NameType
dataArrayLike<number>
scorenumber
qLowernumber
qUppernumber

Returns ​

boolean

Defined in ​

quantiles.ts:127


quartiles ​

▸ quartiles(data): [number, number, number]

Calculate quartiles (Q1, Q2, Q3).

Parameters ​

NameType
dataArrayLike<number>

Returns ​

[number, number, number]

Defined in ​

quantiles.ts:144


iqr ​

▸ iqr(data): number

Calculate interquartile range (IQR).

Parameters ​

NameType
dataArrayLike<number>

Returns ​

number

Defined in ​

quantiles.ts:161


percentiles ​

▸ percentiles(data, ps): Float64Array

Calculate multiple percentiles at once.

Parameters ​

NameType
dataArrayLike<number>
psArrayLike<number>

Returns ​

Float64Array

Defined in ​

quantiles.ts:178


quantiles ​

▸ quantiles(data, qs): Float64Array

Calculate multiple quantiles at once.

Parameters ​

NameType
dataArrayLike<number>
qsArrayLike<number>

Returns ​

Float64Array

Defined in ​

quantiles.ts:185


weightedPercentile ​

▸ weightedPercentile(data, weights, p): number

Calculate a weighted percentile.

Parameters ​

NameType
dataArrayLike<number>
weightsArrayLike<number>
pnumber

Returns ​

number

Defined in ​

quantiles.ts:211


weightedQuantiles ​

▸ weightedQuantiles(data, weights, qs): Float64Array

Calculate multiple weighted quantiles at once.

Parameters ​

NameType
dataArrayLike<number>
weightsArrayLike<number>
qsArrayLike<number>

Returns ​

Float64Array

Defined in ​

quantiles.ts:233


weightedMedian ​

▸ weightedMedian(data, weights): number

Calculate the weighted median.

Parameters ​

NameType
dataArrayLike<number>
weightsArrayLike<number>

Returns ​

number

Defined in ​

quantiles.ts:263


histogramEdges ​

▸ histogramEdges(data, edges): Float64Array

Calculate a histogram with specified bin edges.

Parameters ​

NameType
dataArrayLike<number>
edgesArrayLike<number>

Returns ​

Float64Array

Defined in ​

quantiles.ts:304


histogramBinning ​

▸ histogramBinning(data, options): HistogramBinningResult

Advanced histogram binning function.

Parameters ​

NameType
dataArrayLike<number>
optionsnumber | HistogramBinningOptions

Returns ​

HistogramBinningResult

Defined in ​

quantiles.ts:341


f64View ​

▸ f64View(ptr, len, memory): Float64Array

Create a Float64Array view into WASM memory.

Parameters ​

NameType
ptrnumber
lennumber
memoryMemory

Returns ​

Float64Array

Defined in ​

shared.ts:9


f32View ​

▸ f32View(ptr, len, memory): Float32Array

Create a Float32Array view into WASM memory.

Parameters ​

NameType
ptrnumber
lennumber
memoryMemory

Returns ​

Float32Array

Defined in ​

shared.ts:16


copyToWasmMemory ​

▸ copyToWasmMemory(data, view): void

Efficiently copy data to WASM memory.

Performance note: Float64Array and plain Array<number> are fastest. Other array-likes may use a fallback loop which is slower.

Parameters ​

NameType
dataArrayLike<number>
viewFloat64Array

Returns ​

void

Defined in ​

shared.ts:26


copyToWasmMemoryF32 ​

▸ copyToWasmMemoryF32(data, view): void

Efficiently copy data to WASM memory (f32).

Parameters ​

NameType
dataArrayLike<number>
viewFloat32Array

Returns ​

void

Defined in ​

shared.ts:52


readWasmArray ​

▸ readWasmArray(result, memory): Float64Array

Read an array from WASM memory and return a copy.

Parameters ​

NameType
resultArrayResult
memoryMemory

Returns ​

Float64Array

Defined in ​

shared.ts:72


runUnaryArrayOp ​

▸ runUnaryArrayOp(data, kernel, wasm, memory): Float64Array

Run a unary array operation using a WASM kernel.

Parameters ​

NameType
dataArrayLike<number>
kernelArrayKernel
wasmBaseWasmModule
memoryMemory

Returns ​

Float64Array

Defined in ​

shared.ts:96


loadWasmModule ​

▸ loadWasmModule(moduleDir, inline?): Promise<any>

Load a WASM module using wasm-bindgen-lite loaders.

Parameters ​

NameTypeDefault value
moduleDirstringundefined
inlinebooleanfalse

Returns ​

Promise<any>

Defined in ​

shared.ts:124


sum ​

▸ sum(data): number

Calculate the sum of an array.

Parameters ​

NameTypeDescription
dataArrayLike<number>Array of numbers to sum

Returns ​

number

The sum of all elements

Defined in ​

stats.ts:78


mean ​

▸ mean(data): number

Calculate the arithmetic mean (average) of an array.

Parameters ​

NameTypeDescription
dataArrayLike<number>Array of numbers

Returns ​

number

The mean value, or NaN if array is empty

Defined in ​

stats.ts:88


variance ​

▸ variance(data): number

Calculate the population variance of an array.

Parameters ​

NameType
dataArrayLike<number>

Returns ​

number

Defined in ​

stats.ts:95


sampleVariance ​

▸ sampleVariance(data): number

Calculate the sample variance of an array (Bessel's correction).

Parameters ​

NameType
dataArrayLike<number>

Returns ​

number

Defined in ​

stats.ts:102


stdev ​

▸ stdev(data): number

Calculate the standard deviation (population) of an array.

Parameters ​

NameType
dataArrayLike<number>

Returns ​

number

Defined in ​

stats.ts:111


sampleStdev ​

▸ sampleStdev(data): number

Calculate the sample standard deviation of an array.

Parameters ​

NameType
dataArrayLike<number>

Returns ​

number

Defined in ​

stats.ts:118


min ​

▸ min(data): number

Calculate the minimum value in an array.

Parameters ​

NameType
dataArrayLike<number>

Returns ​

number

Defined in ​

stats.ts:127


max ​

▸ max(data): number

Calculate the maximum value in an array.

Parameters ​

NameType
dataArrayLike<number>

Returns ​

number

Defined in ​

stats.ts:134


product ​

▸ product(data): number

Calculate the product of all elements in an array.

Parameters ​

NameType
dataArrayLike<number>

Returns ​

number

Defined in ​

stats.ts:141


range ​

▸ range(data): number

Calculate the range (max - min) of an array.

Parameters ​

NameType
dataArrayLike<number>

Returns ​

number

Defined in ​

stats.ts:148


median ​

▸ median(data): number

Calculate the median of an array.

Parameters ​

NameType
dataArrayLike<number>

Returns ​

number

Defined in ​

stats.ts:155


mode ​

▸ mode(data): number

Calculate the mode of an array.

Parameters ​

NameType
dataArrayLike<number>

Returns ​

number

Defined in ​

stats.ts:162


geomean ​

▸ geomean(data): number

Calculate the geometric mean of an array.

Parameters ​

NameType
dataArrayLike<number>

Returns ​

number

Defined in ​

stats.ts:169


skewness ​

▸ skewness(data): number

Calculate the skewness of an array.

Parameters ​

NameType
dataArrayLike<number>

Returns ​

number

Defined in ​

stats.ts:176


kurtosis ​

▸ kurtosis(data): number

Calculate the kurtosis of an array.

Parameters ​

NameType
dataArrayLike<number>

Returns ​

number

Defined in ​

stats.ts:183


stanMoment ​

▸ stanMoment(data, k): number

Calculate the k-th standardized moment.

Parameters ​

NameType
dataArrayLike<number>
knumber

Returns ​

number

Defined in ​

stats.ts:190


coeffvar ​

▸ coeffvar(data): number

Calculate the coefficient of variation.

Parameters ​

NameType
dataArrayLike<number>

Returns ​

number

Defined in ​

stats.ts:197


meandev ​

▸ meandev(data): number

Calculate the mean absolute deviation.

Parameters ​

NameType
dataArrayLike<number>

Returns ​

number

Defined in ​

stats.ts:204


meddev ​

▸ meddev(data): number

Calculate the median absolute deviation.

Parameters ​

NameType
dataArrayLike<number>

Returns ​

number

Defined in ​

stats.ts:211


pooledvariance ​

▸ pooledvariance(data1, data2): number

Calculate the pooled variance of two arrays.

Parameters ​

NameType
data1ArrayLike<number>
data2ArrayLike<number>

Returns ​

number

Defined in ​

stats.ts:218


pooledstdev ​

▸ pooledstdev(data1, data2): number

Calculate the pooled standard deviation of two arrays.

Parameters ​

NameType
data1ArrayLike<number>
data2ArrayLike<number>

Returns ​

number

Defined in ​

stats.ts:240


cumsum ​

▸ cumsum(data): Float64Array

Calculate the cumulative sum.

Parameters ​

NameType
dataArrayLike<number>

Returns ​

Float64Array

Defined in ​

stats.ts:262


cumprod ​

▸ cumprod(data): Float64Array

Calculate the cumulative product.

Parameters ​

NameType
dataArrayLike<number>

Returns ​

Float64Array

Defined in ​

stats.ts:279


diff ​

▸ diff(data): Float64Array

Calculate the difference between consecutive elements.

Parameters ​

NameType
dataArrayLike<number>

Returns ​

Float64Array

Defined in ​

stats.ts:296


rank ​

▸ rank(data): Float64Array

Calculate the rank of each element.

Parameters ​

NameType
dataArrayLike<number>

Returns ​

Float64Array

Defined in ​

stats.ts:313


deviation ​

▸ deviation(data): Float64Array

Calculate the deviation from the mean for each element.

Parameters ​

NameType
dataArrayLike<number>

Returns ​

Float64Array

Defined in ​

stats.ts:330


histogram ​

▸ histogram(data, binCount?): Float64Array

Calculate a histogram with specified number of bins.

Parameters ​

NameTypeDefault value
dataArrayLike<number>undefined
binCountnumber4

Returns ​

Float64Array

Defined in ​

stats.ts:347


cumreduce ​

▸ cumreduce(data, initialValue, reducer): Float64Array

Cumulative reduction using a custom reducer function.

Note: This is implemented in JS to allow custom reducers.

Parameters ​

NameType
dataArrayLike<number>
initialValuenumber
reducer(acc: number, val: number) => number

Returns ​

Float64Array

Defined in ​

stats.ts:366


ttest ​

▸ ttest(data, mu0): TestResult

Perform a one-sample t-test.

Parameters ​

NameType
dataArrayLike<number>
mu0number

Returns ​

TestResult

Defined in ​

tests.ts:54


ztest ​

▸ ztest(data, mu0, sigma): TestResult

Perform a one-sample Z-test.

Parameters ​

NameType
dataArrayLike<number>
mu0number
sigmanumber

Returns ​

TestResult

Defined in ​

tests.ts:75


normalci ​

▸ normalci(alpha, mean, se): number[]

Calculate a confidence interval for a normal distribution.

Parameters ​

NameType
alphanumber
meannumber
senumber

Returns ​

number[]

Defined in ​

tests.ts:96


tci ​

▸ tci(alpha, mean, stdev, n): number[]

Calculate a confidence interval for a Student's t-distribution.

Parameters ​

NameType
alphanumber
meannumber
stdevnumber
nnumber

Returns ​

number[]

Defined in ​

tests.ts:105


regress ​

▸ regress(x, y): RegressionResult

Perform simple linear regression.

Parameters ​

NameType
xArrayLike<number>
yArrayLike<number>

Returns ​

RegressionResult

Defined in ​

tests.ts:114


regressNaive ​

▸ regressNaive(x, y): RegressionResult

Perform regression using the naive implementation.

Parameters ​

NameType
xArrayLike<number>
yArrayLike<number>

Returns ​

RegressionResult

Defined in ​

tests.ts:149


regressSimd ​

▸ regressSimd(x, y): RegressionResult

Perform regression using the SIMD implementation.

Parameters ​

NameType
xArrayLike<number>
yArrayLike<number>

Returns ​

RegressionResult

Defined in ​

tests.ts:172


regressWasmKernels ​

▸ regressWasmKernels(x, y): RegressionResult

Perform regression using WASM kernels.

Parameters ​

NameType
xArrayLike<number>
yArrayLike<number>

Returns ​

RegressionResult

Defined in ​

tests.ts:195


anovaFScore ​

▸ anovaFScore(groups): number

Perform one-way ANOVA and return the F-score.

Parameters ​

NameType
groupsArrayLike<number>[]

Returns ​

number

Defined in ​

tests.ts:298


anovaTest ​

▸ anovaTest(groups): AnovaResult

Perform one-way ANOVA and return full results.

Parameters ​

NameType
groupsArrayLike<number>[]

Returns ​

AnovaResult

Defined in ​

tests.ts:331


chiSquareTest ​

▸ chiSquareTest(cat1, cat2, options?): ChiSquareResult

Perform Chi-Square test of independence.

Parameters ​

NameType
cat1string[]
cat2string[]
optionsObject
options.cardinality1?number
options.cardinality2?number

Returns ​

ChiSquareResult

Defined in ​

tests.ts:390


anovaFScoreCategorical ​

▸ anovaFScoreCategorical(groups, values): number

Perform ANOVA with categorical labels.

Parameters ​

NameType
groupsstring[]
valuesnumber[]

Returns ​

number

Defined in ​

tests.ts:426


anovaTestCategorical ​

▸ anovaTestCategorical(groups, values): AnovaResult

Perform full ANOVA test with categorical labels.

Parameters ​

NameType
groupsstring[]
valuesnumber[]

Returns ​

AnovaResult

Defined in ​

tests.ts:445


tukeyHsdCategorical ​

▸ tukeyHsdCategorical(groups, values): TukeyHsdResult

Perform Tukey HSD test with categorical labels.

Parameters ​

NameType
groupsstring[]
valuesnumber[]

Returns ​

TukeyHsdResult

Defined in ​

tests.ts:471