All Projects â†’ winkjs â†’ wink-statistics

winkjs / wink-statistics

Licence: MIT license
Fast & numerically stable statistical analysis

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to wink-statistics

Vidgear
A High-performance cross-platform Video Processing Python framework powerpacked with unique trailblazing features 🔥
Stars: ✭ 2,048 (+5588.89%)
Mutual labels:  streaming, real-time
Oblecto
Oblecto is a media server, which streams media you already own, and is designed to be at the heart of your entertainment experience. It runs on your home server to index and analyze your media such as Movies and TV Shows and presents them in an interface tailored for your media consupmtion needs.
Stars: ✭ 67 (+86.11%)
Mutual labels:  streaming, real-time
Sparta
Real Time Analytics and Data Pipelines based on Spark Streaming
Stars: ✭ 513 (+1325%)
Mutual labels:  streaming, real-time
transform-hub
Flexible and efficient data processing engine and an evolution of the popular Scramjet Framework based on node.js. Our Transform Hub was designed specifically for data processing and has its own unique algorithms included.
Stars: ✭ 38 (+5.56%)
Mutual labels:  streaming, real-time
Azure Event Hubs Spark
Enabling Continuous Data Processing with Apache Spark and Azure Event Hubs
Stars: ✭ 140 (+288.89%)
Mutual labels:  streaming, real-time
TogetherStream
A social and synchronized streaming experience
Stars: ✭ 16 (-55.56%)
Mutual labels:  streaming, real-time
Roc Toolkit
Real-time audio streaming over the network.
Stars: ✭ 673 (+1769.44%)
Mutual labels:  streaming, real-time
Uc Davis Cs Exams Analysis
📈 Regression and Classification with UC Davis student quiz data and exam data
Stars: ✭ 33 (-8.33%)
Mutual labels:  probability, statistical-analysis
Webrtc Cli
WebRTC command-line peer.
Stars: ✭ 135 (+275%)
Mutual labels:  streaming, real-time
Rtptools
RTP Tools
Stars: ✭ 74 (+105.56%)
Mutual labels:  streaming, real-time
MStream
Anomaly Detection on Time-Evolving Streams in Real-time. Detecting intrusions (DoS and DDoS attacks), frauds, fake rating anomalies.
Stars: ✭ 68 (+88.89%)
Mutual labels:  streaming, real-time
combining3Dmorphablemodels
Project Page of Combining 3D Morphable Models: A Large scale Face-and-Head Model - [CVPR 2019]
Stars: ✭ 80 (+122.22%)
Mutual labels:  regression, covariance
wymlp
tiny fast portable real-time deep neural network for regression and classification within 50 LOC.
Stars: ✭ 36 (+0%)
Mutual labels:  real-time, regression
Centrifugo
Scalable real-time messaging server in a language-agnostic way. Set up once and forever.
Stars: ✭ 5,649 (+15591.67%)
Mutual labels:  streaming, real-time
Math Php
Powerful modern math library for PHP: Features descriptive statistics and regressions; Continuous and discrete probability distributions; Linear algebra with matrices and vectors, Numerical analysis; special mathematical functions; Algebra
Stars: ✭ 2,009 (+5480.56%)
Mutual labels:  probability, regression
Dicom
âš¡High Performance DICOM Medical Image Parser in Go.
Stars: ✭ 643 (+1686.11%)
Mutual labels:  streaming, real-time
Stats
A C++ header-only library of statistical distribution functions.
Stars: ✭ 292 (+711.11%)
Mutual labels:  probability, stats
Python For Probability Statistics And Machine Learning
Jupyter Notebooks for Springer book "Python for Probability, Statistics, and Machine Learning"
Stars: ✭ 481 (+1236.11%)
Mutual labels:  probability, statistical-analysis
Hydra
A real-time data replication platform that "unbundles" the receiving, transforming, and transport of data streams.
Stars: ✭ 68 (+88.89%)
Mutual labels:  streaming, real-time
Streamline
StreamLine - Streaming Analytics
Stars: ✭ 151 (+319.44%)
Mutual labels:  streaming, real-time

wink-statistics

Fast and Numerically Stable Statistical Analysis Utilities

Build Status Coverage Status Inline docs dependencies Status devDependencies Status Gitter

Perform fast and numerically stable statistical analysis using wink-statistics. It can handle real-time stream of data and can incrementally compute required statistic that usually would take more than one pass over the data as in standard deviation or simple linear regression.

Functions

  1. Boxplot
  2. Covariance
  3. Difference with definable lag
  4. Five Number Summary
  5. Frequency Table
  6. Histogram
  7. Median Absolute Deviation (MAD)
  8. Maximum
  9. Mean
  10. Median
  11. Minimum
  12. Numerically stable sum
  13. Percentile
  14. Probability computation & CI from successes count
  15. Probability estimates aggregation
  16. Simple Linear Regression
  17. Standard Deviation
  18. Summary statistics

Installation

Use npm to install:

npm install wink-statistics --save

Getting Started

Handling Streams

Here is an example of computing slope, intercept and r2 etc. from a stream of (x, y) data in real-time:

// Load wink-statistics.
var stats = require( 'wink-statistics' );
// Instantiate streaming simple linear regression
var regression = stats.streaming.simpleLinearRegression();
// Following would be ideally placed within a stream of data:
regression.compute( 10, 80 );
regression.compute( 15, 75 );
regression.compute( 16, 65 );
regression.compute( 18, 50 );
regression.compute( 21, 45 );
regression.compute( 30, 30 );
regression.compute( 36, 18 );
regression.compute( 40, 9 );
// Use result() method to access the outcome in real time.
regression.result();
// returns { slope: -2.3621,
//   intercept: 101.4188,
//   r: -0.9766,
//   r2: 0.9537,
//   se: 5.624,
//   size: 8
// }

Handling data array

The functions under the data name space require data in an array. Here is an example of boxplot analysis:

var boxplot = stats.data.boxplot;
var data = [
  -12, 14, 14, 14, 16, 18, 20, 20, 21, 23, 27, 27, 27, 29, 31,
  31, 32, 32, 34, 36, 40, 40, 40, 40, 40, 42, 51, 56, 60, 88
];

boxplot( data );
// returns {
//   min: -12, q1: 20, median: 31, q3: 40, max: 88,
//   iqr: 20, range: 100, size: 30,
//   leftOutliers: { begin: 0, end: 0, count: 1, fence: 14 },
//   rightOutliers: { begin: 29, end: 29, count: 1, fence: 60 },
//   leftNotch: 25.230655727612252,
//   rightNotch: 36.76934427238775
// }

wink-stats can handle data in different formats to avoid pre-processing. For example, you can compute median from the array of objects containing value:

var median = stats.data.median;
var data =  [
  { value: 1 },
  { value: 1 },
  { value: 2 },
  { value: 2 },
  { value: 3 },
  { value: 3 },
  { value: 4 },
  { value: 4 }
];
// Use key name — `value` as the `accessor`
median( data, 'value' );
// returns 2.5

It even supports passing functions as accessors to handle even more complex data structures.

Documentation

Check out the statistics API documentation to learn more.

Need Help?

If you spot a bug and the same has not yet been reported, raise a new issue or consider fixing it and sending a pull request.

About wink

Wink is a family of open source packages for Statistical Analysis, Natural Language Processing and Machine Learning in NodeJS. The code is thoroughly documented for easy human comprehension and has a test coverage of ~100% for reliability to build production grade solutions.

Copyright & License

wink-statistics is copyright 2017-20 GRAYPE Systems Private Limited.

It is licensed under the terms of the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].