stats-analysis
v2.0.0
Published
Engineering statistics and data analysis
Downloads
3,792
Maintainers
Readme
Statistics and Data Analysis
Mini javascript statistics library for nodejs or the browser.
No production dependencies.
Current Library Coverage
- Standard Deviation
- Mean
- Median (sorts before calculating)
- Median Absolute Deviation (MAD)
- Outlier Detection & Filtering using Iglewicz and Hoaglin's method (MAD) - Use this if the order of your data does not matter.
- Outlier Detection & Filtering using Median Differencing (Default method) - Use this if the order of your data matters. This looks at the difference between adjacent points best for time series data.
Node.js / Browserify / ES6 module
$ npm install stats-analysis
var stats = require("./stats-analysis") // include statistics library
Browser
<script src="https://npmcdn.com/stats-analysis"></script>
window.stats
Usage
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
Development
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%)
Resources
Engineering statistics handbook:
http://www.itl.nist.gov/div898/handbook/index.htm
Contribute to the library
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Make changes and ensure tests and code coverage all pass.
- Commit your changes:
git commit -m 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
License
MIT