Mini javascript statistics library for nodejs or the browser. No production dependencies.
$ npm install stats-analysis
var stats = require("./stats-analysis") // include statistics library
<script src="https://unpkg.com/stats-analysis"></script>
window.stats
var arr = [-2, 1, 2, 3, 3, 4, 15]
//standard deviation
stats.stdev(arr).toFixed(2) * 1 // Round to 2dp and convert to number
> 4.98
//mean
stats.mean(arr).toFixed(2) * 1
> 3.57
//median
stats.median(arr)
> 2
//median absolute deviation
stats.MAD(arr)
> 1
// Outlier detection. Returns indexes of outliers
stats.indexOfOutliers(arr) // Default theshold of 3
> [6]
stats.indexOfOutliers(arr, 6) // Supply higher threshold to allow more outliers.
// Outlier filtering. Returns array with outliers removed.
stats.filterOutliers(arr)
> [-2, 1, 2, 3, 3, 4]
To use different outlier methods:
stats.filterOutliers(arr, stats.outlierMethod.medianDiff)
stats.filterOutliers(arr, stats.outlierMethod.medianDiff, 6) // Different threshold
stats.filterOutliers(arr, stats.outlierMethod.MAD) // Default
stats.indexOfOutliers(arr, stats.outlierMethod.medianDiff)
stats.indexOfOutliers(arr, stats.outlierMethod.medianDiff, 6) // Different threshold
stats.indexOfOutliers(arr, stats.outlierMethod.MAD) // Default
Mocha is used as the testing framework. Istanbul and codecov used for code coverage.
Commands:
$ npm install // Grab mocha
$ npm run lint // Ensure code consistency with standard
$ npm test // Run tests
$ npm run cov // Run code coverage. (Ensure 100%)
Engineering statistics handbook: http://www.itl.nist.gov/div898/handbook/index.htm
git checkout -b my-new-feature
git commit -m 'Add some feature'
git push origin my-new-feature
MIT