stats-analysis

2.0.0 • Public • Published

Statistics and Data Analysis

Build Status codecov.io

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

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Make changes and ensure tests and code coverage all pass.
  4. Commit your changes: git commit -m 'Add some feature'
  5. Push to the branch: git push origin my-new-feature
  6. Submit a pull request :D

License

MIT

Package Sidebar

Install

npm i stats-analysis

Weekly Downloads

140

Version

2.0.0

License

MIT

Last publish

Collaborators

  • alyssa