GitHub
deepbox/stats

Distributions & KDE

Analytical distributions, confidence intervals, and kernel density estimation utilities.
Probability
type ConfidenceInterval
export interface ConfidenceInterval { … }
Confidence interval computation utilities.
type ContinuousDistribution
export interface ContinuousDistribution { … }
Probability distribution objects.
type DiscreteDistribution
export interface DiscreteDistribution { … }
DiscreteDistribution is a public interface in deepbox/stats.
type BandwidthMethod
export type BandwidthMethod = "scott" | "silverman" | number;
Kernel density estimation.
type GaussianKDEOptions
export interface GaussianKDEOptions { … }
Options for gaussian_kde.

GaussianKDE

Gaussian kernel density estimator.

meanConfidenceInterval
export declare function meanConfidenceInterval(data: number[], confidenceLevel?: number): ConfidenceInterval;

Compute a confidence interval for the mean of a sample using the t-distribution.

meanConfidenceIntervalZ
export declare function meanConfidenceIntervalZ(data: number[], popStd: number, confidenceLevel?: number): ConfidenceInterval;

Compute a confidence interval for the mean using a known population standard deviation (z-interval).

meanDiffConfidenceInterval
export declare function meanDiffConfidenceInterval(data1: number[], data2: number[], confidenceLevel?: number): ConfidenceInterval;

Compute a confidence interval for the difference of two means (independent samples).

proportionConfidenceInterval
export declare function proportionConfidenceInterval(successes: number, total: number, confidenceLevel?: number): ConfidenceInterval;

Compute a confidence interval for a proportion (Wald interval).

beta
export declare function beta(a: number, b: number): ContinuousDistribution;

Beta distribution.

binom
export declare function binom(n: number, p: number): DiscreteDistribution;

Binomial distribution.

cauchy
export declare function cauchy(x0?: number, gammaParam?: number): ContinuousDistribution;

Cauchy distribution.

chi2
export declare function chi2(df: number): ContinuousDistribution;

Chi-squared distribution.

expon
export declare function expon(rate?: number): ContinuousDistribution;

Exponential distribution.

f
export declare function f(dfn: number, dfd: number): ContinuousDistribution;

F distribution.

gamma
export declare function gamma(shape: number, rate?: number): ContinuousDistribution;

Gamma distribution.

geom
export declare function geom(p: number): DiscreteDistribution;

Geometric distribution (number of trials until first success).

hypergeom
export declare function hypergeom(N: number, K: number, n: number): DiscreteDistribution;

Hypergeometric distribution.

laplace
export declare function laplace(loc?: number, scale?: number): ContinuousDistribution;

Laplace distribution.

lognorm
export declare function lognorm(mu?: number, sigma?: number): ContinuousDistribution;

Lognormal distribution.

nbinom
export declare function nbinom(r: number, p: number): DiscreteDistribution;

Negative binomial distribution (number of failures before r successes).

norm
export declare function norm(loc?: number, scale?: number): ContinuousDistribution;

Normal (Gaussian) distribution.

pareto
export declare function pareto(alpha: number, xm?: number): ContinuousDistribution;

Pareto distribution.

poisson
export declare function poisson(mu: number): DiscreteDistribution;

Poisson distribution.

t
export declare function t(df: number): ContinuousDistribution;

Student's t distribution.

uniform
export declare function uniform(low?: number, high?: number): ContinuousDistribution;

Continuous uniform distribution.

weibull
export declare function weibull(k: number, lam?: number): ContinuousDistribution;

Weibull distribution.

gaussian_kde
export declare function gaussian_kde(data: number[] | Float64Array, options?: GaussianKDEOptions): GaussianKDE;

Create a Gaussian kernel density estimator from data.

stats-distributions.ts
import {  gaussian_kde,  meanConfidenceInterval,  norm,  poisson,} from "deepbox/stats";const normal = norm(0, 1);const counts = poisson(3);const kde = gaussian_kde([1, 2, 2, 3, 4, 5]);console.log(normal.pdf(0), normal.cdf(1.96));console.log(counts.pmf(2));console.log(meanConfidenceInterval([1, 2, 3, 4, 5]));console.log(kde.evaluate([2.5]));