Have ideas to improve npm?Join in the discussion! »

    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

    Install

    npm i stats-analysis

    DownloadsWeekly Downloads

    1,940

    Version

    2.0.0

    License

    MIT

    Last publish

    Collaborators

    • avatar