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 = // include statistics library
Browser
windowstats
Usage
var arr = -2 1 2 3 3 4 15 //standard deviationstats * 1 // Round to 2dp and convert to number> 498 //meanstats * 1> 357 //medianstats> 2 //median absolute deviationstats> 1 // Outlier detection. Returns indexes of outliersstats // Default theshold of 3> 6 stats // Supply higher threshold to allow more outliers. // Outlier filtering. Returns array with outliers removed.stats> -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