@railpath/finance-toolkit
Version:
Production-ready finance library for portfolio construction, risk analytics, quantitative metrics, and ML-based regime detection
88 lines (87 loc) • 2.44 kB
TypeScript
/**
* Statistical Utility Functions for Machine Learning
*
* Provides statistical functions commonly used in ML algorithms
*/
/**
* Calculate Gaussian Probability Density Function
*
* @param x - Value to evaluate
* @param mean - Mean of the Gaussian
* @param variance - Variance of the Gaussian
* @returns PDF value
*
* @example
* ```typescript
* const pdf = gaussianPDF(1.0, 0.0, 1.0); // Standard normal at x=1
* ```
*/
export declare function gaussianPDF(x: number, mean: number, variance: number): number;
/**
* Calculate log of Gaussian PDF for numerical stability
*
* @param x - Value to evaluate
* @param mean - Mean of the Gaussian
* @param variance - Variance of the Gaussian
* @returns Log PDF value
*/
export declare function logGaussianPDF(x: number, mean: number, variance: number): number;
/**
* Calculate mean of values
*
* @param values - Array of numbers
* @returns Mean value
*
* @example
* ```typescript
* const mean = calculateMean([1, 2, 3, 4, 5]); // 3
* ```
*/
export declare function calculateMean(values: number[]): number;
/**
* Calculate variance of values
*
* @param values - Array of numbers
* @param mean - Pre-computed mean (optional)
* @returns Variance
*
* @example
* ```typescript
* const variance = calculateVariance([1, 2, 3, 4, 5]); // 2
* ```
*/
export declare function calculateVariance(values: number[], mean?: number): number;
/**
* Standardize values (z-score normalization)
*
* Transforms values to have mean=0 and variance=1
*
* @param values - Array of numbers
* @returns Standardized values
*
* @example
* ```typescript
* const standardized = standardize([1, 2, 3, 4, 5]);
* ```
*/
export declare function standardize(values: number[]): number[];
/**
* Calculate multivariate Gaussian PDF
*
* For a feature vector x with independent features
*
* @param x - Feature vector
* @param means - Mean for each feature
* @param variances - Variance for each feature
* @returns PDF value
*/
export declare function multivariateGaussianPDF(x: number[], means: number[], variances: number[]): number;
/**
* Calculate log of multivariate Gaussian PDF for numerical stability
*
* @param x - Feature vector
* @param means - Mean for each feature
* @param variances - Variance for each feature
* @returns Log PDF value
*/
export declare function logMultivariateGaussianPDF(x: number[], means: number[], variances: number[]): number;