QuickStatistics.Net 2.2.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package QuickStatistics.Net --version 2.2.0                
NuGet\Install-Package QuickStatistics.Net -Version 2.2.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="QuickStatistics.Net" Version="2.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add QuickStatistics.Net --version 2.2.0                
#r "nuget: QuickStatistics.Net, 2.2.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install QuickStatistics.Net as a Cake Addin
#addin nuget:?package=QuickStatistics.Net&version=2.2.0

// Install QuickStatistics.Net as a Cake Tool
#tool nuget:?package=QuickStatistics.Net&version=2.2.0                

Statistics-Helper-Library

this library contains some lightweight math functions for my projects. The main purpose is to obtain fast, reliable and well performing statistics on live fed data. This is particularly useful on Sensor Data, Spot Data or to get statistics on data where the dataset is simply too large to fit into memory.

The focus is on simplicity, stability and the utmost performance which I'm personally able to archieve through my skills.

It is not about errorhandling. Make sure, you feed quality data. Garbage in, Garbage out. While I try to add unit tests to my projects, do a quick test yourself and check if the data pushed out by this library actually makes sense to you.

Current implementations

Average

  • Moving average
using QuickStatistics.Net.Average_NS;

// Create a new Moving_Average_Double object with a total tracking time of 2 hours and a value resolution of 1 minute
Moving_Average_Double ma = new Moving_Average_Double(TimeSpan.FromHours(2), TimeSpan.FromMinutes(1));

// Add some values to the moving average
ma.AddValue(5);
ma.AddValue(6);
ma.AddValue(7);

// Get the current value of the moving average
double currentValue = ma.Value;

// Set the resolution to track the past 3 hours with a value resolution of 15 minutes
ma.SetResolution(TimeSpan.FromHours(3), TimeSpan.FromMinutes(15));

// Add a value with a timestamp of 1 hour ago
ma.AddValue(8, DateTime.Now - TimeSpan.FromHours(1));

// Get the current value of the moving average
currentValue = ma.Value;

// Clear all values in the moving average
ma.Clear();

Averaging

  • progressing_Average: a straight forward, very fast, precise implementation for calculating the average value. Limit is int.max (count of values) so it is not suited for an infinite stream of data such as for sensors
  • Simple_Exponential_Average: Moving average approximation, very fast and lightweight
  • Simple_Moving_Average: Average on the fly (omitting memory restraints and overflow) Supports: AbsoluteRateOfChange, Trend, Momentum, Deviation
  • Volumetric average for 2 values (averaging two values by their weight)
  • Moving_Average: Time based moving average (good for historic data and data with gaps, also good for targeting a certain time duration or when the input data stream is not consistent in speed) Maps the incoming data to a consistient timeline with variable resolution Supports: AbsoluteRateOfChange, Trend, Momentum, Deviation

Median

Median can be calculated:

  • On an array / List
  • Procedural upon adding values
  • On a rolling time window

Minimum / Maximum

  • Calculate Maximum or Minimum for a given amount of Datapoints (useful for sensor Data)
  • Calculate Maximum or Minimum for a sliding time window (useful for historical or inconsistent Data)

Statistics

  • obtain standard deviation on the fly. (warning: will overflow if ran indefinitely)
  • AbsoluteRateOfChange, Trend, Momentum and Deviation on sliding windows (Supported by simple moving average & moving average)
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on QuickStatistics.Net:

Package Downloads
BitmapHelper_Net

fix transparency with image convert

ColorHelper.Net

a small library to help converting, mixing and generating colors

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.2.1 80 10/1/2024
3.2.0 128 4/17/2024
3.1.3 111 9/6/2024
3.1.2 112 9/6/2024
3.1.0 108 4/17/2024
3.0.0 100 4/16/2024
2.6.0 169 1/12/2024
2.5.1 121 1/11/2024
2.5.0 145 12/22/2023
2.4.0 137 12/12/2023
2.3.4 170 10/31/2023
2.3.3 124 10/31/2023
2.3.2 124 10/31/2023
2.3.1 124 10/31/2023
2.2.1 114 10/31/2023
2.2.0 107 10/31/2023
2.1.2 119 10/31/2023
2.1.0 179 7/28/2023
2.0.0 144 5/10/2023
1.0.1 312 1/25/2023
1.0.0 288 1/9/2023

2.2.0
added capability to Simple Moving Average & Moving average:
- AbsoluteRateOfChange
- Trend
- Momentum
- Deviation

2.1.2
- improved xml documentation on time based minimum maximum
- time based min/max now has better support for adding time values (historic data)
- added xml documentation for timespot value

2.1.1
- Timebased sliding maximum is now public

2.1.0
- Critical fix in ProgressingAverageDecimal
- Massive Documentation improvement
- Made ProgressingAverage Thread Safe

2.0.0
- several bugfixes
- improved unit tests
- Line of moving average is now smoothed out and it follows data gaps better
- added Median functionalities