JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 248
  • Score
    100M100P100Q81850F
  • License MIT

Engineering statistics and data analysis

Package Exports

  • stats-analysis

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (stats-analysis) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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