@addmaple/stats API Reference
@addmaple/stats API Reference - v0.2.4
Table of contents
Classes
Interfaces
- DistributionHandle
- NormalParams
- GammaParams
- BetaParams
- StudentTParams
- ChiSquaredParams
- FisherFParams
- ExponentialParams
- PoissonParams
- BinomialParams
- UniformParams
- CauchyParams
- LaplaceParams
- LogNormalParams
- WeibullParams
- ParetoParams
- TriangularParams
- InverseGammaParams
- NegativeBinomialParams
- ArrayResult
- HistogramWithEdgesResult
- TestResult
- RegressionCoeffs
- RegressionCoeffsF32
- RegressionResult
- DescriptiveStatsResult
- WasmRegressionResult
- QuartilesResult
- AnovaResult
- ChiSquareResult
- TukeyPairResult
- TukeyHsdResult
- StatsWasmModule
- DistributionsWasmModule
- QuantilesWasmModule
- CorrelationWasmModule
- TestsWasmModule
- FullWasmModule
Variables
Functions
- covariance
- corrcoeff
- spearmancoeff
- descriptiveStats
- getDistributionsWasm
- setDistributionsWasm
- normal
- gamma
- beta
- studentT
- chiSquared
- fisherF
- exponential
- poisson
- binomial
- uniform
- cauchy
- laplace
- logNormal
- weibull
- pareto
- triangular
- inverseGamma
- negativeBinomial
- init
- percentile
- percentileInclusive
- percentileExclusive
- percentileOfScore
- qscore
- qtest
- quartiles
- iqr
- percentiles
- quantiles
- weightedPercentile
- weightedQuantiles
- weightedMedian
- histogramEdges
- histogramBinning
- f64View
- f32View
- copyToWasmMemory
- copyToWasmMemoryF32
- readWasmArray
- runUnaryArrayOp
- loadWasmModule
- sum
- mean
- variance
- sampleVariance
- stdev
- sampleStdev
- min
- max
- product
- range
- median
- mode
- geomean
- skewness
- kurtosis
- stanMoment
- coeffvar
- meandev
- meddev
- pooledvariance
- pooledstdev
- cumsum
- cumprod
- diff
- rank
- deviation
- histogram
- cumreduce
- ttest
- ztest
- normalci
- tci
- regress
- regressNaive
- regressSimd
- regressWasmKernels
- anovaFScore
- anovaTest
- chiSquareTest
- anovaFScoreCategorical
- anovaTestCategorical
- tukeyHsdCategorical
Variables
BinningPresets
• Const BinningPresets: Object
Presets for common histogram binning strategies.
Type declaration
| Name | Type |
|---|---|
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
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
Functions
covariance
▸ covariance(x, y): number
Calculate the covariance between two arrays.
Parameters
| Name | Type |
|---|---|
x | ArrayLike<number> |
y | ArrayLike<number> |
Returns
number
Defined in
corrcoeff
▸ corrcoeff(x, y): number
Calculate the Pearson correlation coefficient.
Parameters
| Name | Type |
|---|---|
x | ArrayLike<number> |
y | ArrayLike<number> |
Returns
number
Defined in
spearmancoeff
▸ spearmancoeff(x, y): number
Calculate the Spearman rank correlation coefficient.
Parameters
| Name | Type |
|---|---|
x | ArrayLike<number> |
y | ArrayLike<number> |
Returns
number
Defined in
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
| Name | Type | Description |
|---|---|---|
data | ArrayLike<number> | Input array of numbers |
Returns
An object with common descriptive statistics
Defined in
getDistributionsWasm
▸ getDistributionsWasm(): DistributionsWasmModule | null
Get the current WASM module instance.
Returns
DistributionsWasmModule | null
Defined in
setDistributionsWasm
▸ setDistributionsWasm(mod): void
Set the WASM module instance.
Parameters
| Name | Type |
|---|---|
mod | DistributionsWasmModule |
Returns
void
Defined in
normal
▸ normal(params?): DistributionHandle
Parameters
| Name | Type |
|---|---|
params | NormalParams |
Returns
Defined in
gamma
▸ gamma(params?): DistributionHandle
Parameters
| Name | Type |
|---|---|
params | GammaParams |
Returns
Defined in
beta
▸ beta(params?): DistributionHandle
Parameters
| Name | Type |
|---|---|
params | BetaParams |
Returns
Defined in
studentT
▸ studentT(params?): DistributionHandle
Parameters
| Name | Type |
|---|---|
params | StudentTParams |
Returns
Defined in
chiSquared
▸ chiSquared(params?): DistributionHandle
Parameters
| Name | Type |
|---|---|
params | ChiSquaredParams |
Returns
Defined in
fisherF
▸ fisherF(params?): DistributionHandle
Parameters
| Name | Type |
|---|---|
params | FisherFParams |
Returns
Defined in
exponential
▸ exponential(params?): DistributionHandle
Parameters
| Name | Type |
|---|---|
params | ExponentialParams |
Returns
Defined in
poisson
▸ poisson(params?): DistributionHandle
Parameters
| Name | Type |
|---|---|
params | PoissonParams |
Returns
Defined in
binomial
▸ binomial(params?): DistributionHandle
Parameters
| Name | Type |
|---|---|
params | BinomialParams |
Returns
Defined in
uniform
▸ uniform(params?): DistributionHandle
Parameters
| Name | Type |
|---|---|
params | UniformParams |
Returns
Defined in
cauchy
▸ cauchy(params?): DistributionHandle
Parameters
| Name | Type |
|---|---|
params | CauchyParams |
Returns
Defined in
laplace
▸ laplace(params?): DistributionHandle
Parameters
| Name | Type |
|---|---|
params | LaplaceParams |
Returns
Defined in
logNormal
▸ logNormal(params?): DistributionHandle
Parameters
| Name | Type |
|---|---|
params | LogNormalParams |
Returns
Defined in
weibull
▸ weibull(params?): DistributionHandle
Parameters
| Name | Type |
|---|---|
params | WeibullParams |
Returns
Defined in
pareto
▸ pareto(params?): DistributionHandle
Parameters
| Name | Type |
|---|---|
params | ParetoParams |
Returns
Defined in
triangular
▸ triangular(params?): DistributionHandle
Parameters
| Name | Type |
|---|---|
params | TriangularParams |
Returns
Defined in
inverseGamma
▸ inverseGamma(params?): DistributionHandle
Parameters
| Name | Type |
|---|---|
params | InverseGammaParams |
Returns
Defined in
negativeBinomial
▸ negativeBinomial(params?): DistributionHandle
Parameters
| Name | Type |
|---|---|
params | NegativeBinomialParams |
Returns
Defined in
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
| Name | Type | Description |
|---|---|---|
options | Object | Initialization options |
options.inline? | boolean | If true, use the inline (base64) version of the WASM module. |
Returns
Promise<void>
Defined in
percentile
▸ percentile(data, k, exclusive?): number
Calculate a percentile of an array.
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
data | ArrayLike<number> | undefined | Sorted or unsorted array |
k | number | undefined | Percentile (0 to 1) |
exclusive | boolean | false | If true, use exclusive percentile calculation |
Returns
number
Defined in
percentileInclusive
▸ percentileInclusive(data, k): number
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
k | number |
Returns
number
Defined in
percentileExclusive
▸ percentileExclusive(data, k): number
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
k | number |
Returns
number
Defined in
percentileOfScore
▸ percentileOfScore(data, score, strict?): number
Calculate the percentile rank of a score.
Parameters
| Name | Type | Default value |
|---|---|---|
data | ArrayLike<number> | undefined |
score | number | undefined |
strict | boolean | false |
Returns
number
Defined in
qscore
▸ qscore(data, score, strict?): number
Calculate the Q-score (quantile score) of a value.
Parameters
| Name | Type | Default value |
|---|---|---|
data | ArrayLike<number> | undefined |
score | number | undefined |
strict | boolean | false |
Returns
number
Defined in
qtest
▸ qtest(data, score, qLower, qUpper): boolean
Perform a quantile test.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
score | number |
qLower | number |
qUpper | number |
Returns
boolean
Defined in
quartiles
▸ quartiles(data): [number, number, number]
Calculate quartiles (Q1, Q2, Q3).
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
[number, number, number]
Defined in
iqr
▸ iqr(data): number
Calculate interquartile range (IQR).
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
number
Defined in
percentiles
▸ percentiles(data, ps): Float64Array
Calculate multiple percentiles at once.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
ps | ArrayLike<number> |
Returns
Float64Array
Defined in
quantiles
▸ quantiles(data, qs): Float64Array
Calculate multiple quantiles at once.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
qs | ArrayLike<number> |
Returns
Float64Array
Defined in
weightedPercentile
▸ weightedPercentile(data, weights, p): number
Calculate a weighted percentile.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
weights | ArrayLike<number> |
p | number |
Returns
number
Defined in
weightedQuantiles
▸ weightedQuantiles(data, weights, qs): Float64Array
Calculate multiple weighted quantiles at once.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
weights | ArrayLike<number> |
qs | ArrayLike<number> |
Returns
Float64Array
Defined in
weightedMedian
▸ weightedMedian(data, weights): number
Calculate the weighted median.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
weights | ArrayLike<number> |
Returns
number
Defined in
histogramEdges
▸ histogramEdges(data, edges): Float64Array
Calculate a histogram with specified bin edges.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
edges | ArrayLike<number> |
Returns
Float64Array
Defined in
histogramBinning
▸ histogramBinning(data, options): HistogramBinningResult
Advanced histogram binning function.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
options | number | HistogramBinningOptions |
Returns
HistogramBinningResult
Defined in
f64View
▸ f64View(ptr, len, memory): Float64Array
Create a Float64Array view into WASM memory.
Parameters
| Name | Type |
|---|---|
ptr | number |
len | number |
memory | Memory |
Returns
Float64Array
Defined in
f32View
▸ f32View(ptr, len, memory): Float32Array
Create a Float32Array view into WASM memory.
Parameters
| Name | Type |
|---|---|
ptr | number |
len | number |
memory | Memory |
Returns
Float32Array
Defined in
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
| Name | Type |
|---|---|
data | ArrayLike<number> |
view | Float64Array |
Returns
void
Defined in
copyToWasmMemoryF32
▸ copyToWasmMemoryF32(data, view): void
Efficiently copy data to WASM memory (f32).
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
view | Float32Array |
Returns
void
Defined in
readWasmArray
▸ readWasmArray(result, memory): Float64Array
Read an array from WASM memory and return a copy.
Parameters
| Name | Type |
|---|---|
result | ArrayResult |
memory | Memory |
Returns
Float64Array
Defined in
runUnaryArrayOp
▸ runUnaryArrayOp(data, kernel, wasm, memory): Float64Array
Run a unary array operation using a WASM kernel.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
kernel | ArrayKernel |
wasm | BaseWasmModule |
memory | Memory |
Returns
Float64Array
Defined in
loadWasmModule
▸ loadWasmModule(moduleDir, inline?): Promise<any>
Load a WASM module using wasm-bindgen-lite loaders.
Parameters
| Name | Type | Default value |
|---|---|---|
moduleDir | string | undefined |
inline | boolean | false |
Returns
Promise<any>
Defined in
sum
▸ sum(data): number
Calculate the sum of an array.
Parameters
| Name | Type | Description |
|---|---|---|
data | ArrayLike<number> | Array of numbers to sum |
Returns
number
The sum of all elements
Defined in
mean
▸ mean(data): number
Calculate the arithmetic mean (average) of an array.
Parameters
| Name | Type | Description |
|---|---|---|
data | ArrayLike<number> | Array of numbers |
Returns
number
The mean value, or NaN if array is empty
Defined in
variance
▸ variance(data): number
Calculate the population variance of an array.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
number
Defined in
sampleVariance
▸ sampleVariance(data): number
Calculate the sample variance of an array (Bessel's correction).
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
number
Defined in
stdev
▸ stdev(data): number
Calculate the standard deviation (population) of an array.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
number
Defined in
sampleStdev
▸ sampleStdev(data): number
Calculate the sample standard deviation of an array.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
number
Defined in
min
▸ min(data): number
Calculate the minimum value in an array.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
number
Defined in
max
▸ max(data): number
Calculate the maximum value in an array.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
number
Defined in
product
▸ product(data): number
Calculate the product of all elements in an array.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
number
Defined in
range
▸ range(data): number
Calculate the range (max - min) of an array.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
number
Defined in
median
▸ median(data): number
Calculate the median of an array.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
number
Defined in
mode
▸ mode(data): number
Calculate the mode of an array.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
number
Defined in
geomean
▸ geomean(data): number
Calculate the geometric mean of an array.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
number
Defined in
skewness
▸ skewness(data): number
Calculate the skewness of an array.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
number
Defined in
kurtosis
▸ kurtosis(data): number
Calculate the kurtosis of an array.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
number
Defined in
stanMoment
▸ stanMoment(data, k): number
Calculate the k-th standardized moment.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
k | number |
Returns
number
Defined in
coeffvar
▸ coeffvar(data): number
Calculate the coefficient of variation.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
number
Defined in
meandev
▸ meandev(data): number
Calculate the mean absolute deviation.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
number
Defined in
meddev
▸ meddev(data): number
Calculate the median absolute deviation.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
number
Defined in
pooledvariance
▸ pooledvariance(data1, data2): number
Calculate the pooled variance of two arrays.
Parameters
| Name | Type |
|---|---|
data1 | ArrayLike<number> |
data2 | ArrayLike<number> |
Returns
number
Defined in
pooledstdev
▸ pooledstdev(data1, data2): number
Calculate the pooled standard deviation of two arrays.
Parameters
| Name | Type |
|---|---|
data1 | ArrayLike<number> |
data2 | ArrayLike<number> |
Returns
number
Defined in
cumsum
▸ cumsum(data): Float64Array
Calculate the cumulative sum.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
Float64Array
Defined in
cumprod
▸ cumprod(data): Float64Array
Calculate the cumulative product.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
Float64Array
Defined in
diff
▸ diff(data): Float64Array
Calculate the difference between consecutive elements.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
Float64Array
Defined in
rank
▸ rank(data): Float64Array
Calculate the rank of each element.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
Float64Array
Defined in
deviation
▸ deviation(data): Float64Array
Calculate the deviation from the mean for each element.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
Returns
Float64Array
Defined in
histogram
▸ histogram(data, binCount?): Float64Array
Calculate a histogram with specified number of bins.
Parameters
| Name | Type | Default value |
|---|---|---|
data | ArrayLike<number> | undefined |
binCount | number | 4 |
Returns
Float64Array
Defined in
cumreduce
▸ cumreduce(data, initialValue, reducer): Float64Array
Cumulative reduction using a custom reducer function.
Note: This is implemented in JS to allow custom reducers.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
initialValue | number |
reducer | (acc: number, val: number) => number |
Returns
Float64Array
Defined in
ttest
▸ ttest(data, mu0): TestResult
Perform a one-sample t-test.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
mu0 | number |
Returns
Defined in
ztest
▸ ztest(data, mu0, sigma): TestResult
Perform a one-sample Z-test.
Parameters
| Name | Type |
|---|---|
data | ArrayLike<number> |
mu0 | number |
sigma | number |
Returns
Defined in
normalci
▸ normalci(alpha, mean, se): number[]
Calculate a confidence interval for a normal distribution.
Parameters
| Name | Type |
|---|---|
alpha | number |
mean | number |
se | number |
Returns
number[]
Defined in
tci
▸ tci(alpha, mean, stdev, n): number[]
Calculate a confidence interval for a Student's t-distribution.
Parameters
| Name | Type |
|---|---|
alpha | number |
mean | number |
stdev | number |
n | number |
Returns
number[]
Defined in
regress
▸ regress(x, y): RegressionResult
Perform simple linear regression.
Parameters
| Name | Type |
|---|---|
x | ArrayLike<number> |
y | ArrayLike<number> |
Returns
Defined in
regressNaive
▸ regressNaive(x, y): RegressionResult
Perform regression using the naive implementation.
Parameters
| Name | Type |
|---|---|
x | ArrayLike<number> |
y | ArrayLike<number> |
Returns
Defined in
regressSimd
▸ regressSimd(x, y): RegressionResult
Perform regression using the SIMD implementation.
Parameters
| Name | Type |
|---|---|
x | ArrayLike<number> |
y | ArrayLike<number> |
Returns
Defined in
regressWasmKernels
▸ regressWasmKernels(x, y): RegressionResult
Perform regression using WASM kernels.
Parameters
| Name | Type |
|---|---|
x | ArrayLike<number> |
y | ArrayLike<number> |
Returns
Defined in
anovaFScore
▸ anovaFScore(groups): number
Perform one-way ANOVA and return the F-score.
Parameters
| Name | Type |
|---|---|
groups | ArrayLike<number>[] |
Returns
number
Defined in
anovaTest
▸ anovaTest(groups): AnovaResult
Perform one-way ANOVA and return full results.
Parameters
| Name | Type |
|---|---|
groups | ArrayLike<number>[] |
Returns
Defined in
chiSquareTest
▸ chiSquareTest(cat1, cat2, options?): ChiSquareResult
Perform Chi-Square test of independence.
Parameters
| Name | Type |
|---|---|
cat1 | string[] |
cat2 | string[] |
options | Object |
options.cardinality1? | number |
options.cardinality2? | number |
Returns
Defined in
anovaFScoreCategorical
▸ anovaFScoreCategorical(groups, values): number
Perform ANOVA with categorical labels.
Parameters
| Name | Type |
|---|---|
groups | string[] |
values | number[] |
Returns
number
Defined in
anovaTestCategorical
▸ anovaTestCategorical(groups, values): AnovaResult
Perform full ANOVA test with categorical labels.
Parameters
| Name | Type |
|---|---|
groups | string[] |
values | number[] |
Returns
Defined in
tukeyHsdCategorical
▸ tukeyHsdCategorical(groups, values): TukeyHsdResult
Perform Tukey HSD test with categorical labels.
Parameters
| Name | Type |
|---|---|
groups | string[] |
values | number[] |