This topic introduces the VarianceCalculator which is part of the Infragistics Math Calculators™ library and explains, with code examples, how to use it to calculate variance for a set of numbers.
The topic is organized as follows:
Assembly Requirements
Data Requirements
Variance is a measure of dispersion of a data set around the mean.
Variance is computed from the sum of squared differences between the variables and the mean (refer to the Infragistics Mean Calculator topic) divided by the total count of numbers in the set. Also, variance is equal to square of the standard deviation (refer to the Infragistics Standard Deviation Calculator topic).
Figure 1 – Formula for Variance Calculation
This section provides a list of properties of the VarianceCalculator class.
In order to use the VarianceCalculator, the following NuGet package must be added to a WPF project.
Infragistics.WPF.Math.Calculators
For more information on setting up the NuGet feed and adding NuGet packages, you can take a look at the following documentation: NuGet Feeds.
The VarianceCalculator uses ItemsSource property for data binding and ValueMemberPath property for data mapping. Any object that meets the following requirements can be bound to this property:
The data model must implement <a href="">IEnumerable</a> interface (e.g. <a href="">List</a>, <a href="">Collection</a>, <a href="">Queue</a>, <a href="">Stack</a>)
The data model must contain items that have at least one numeric data column for calculating the variance value.
An example of object that meets above criteria is presented in the following code snippet:
In Visual Basic:
Imports System.Collections.Generic
'...
Public Class DataPointList
Inherits List(Of DataPoint)
Public Sub New(dataValues As IEnumerable(Of Double))
For Each value As Double In dataValues
Me.Add(New DataPoint() With { Key .Value = value })
Next
End Sub
End Class
Public Class DataPoint
Public Property Value() As Double
Get
Return _value
End Get
Set
_value = Value
End Set
End Property
Private _value As Double
End Class
In C#:
using System.Collections.Generic;
//...
public class DataPointList : List<DataPoint>
{
public DataPointList(IEnumerable<double> dataValues)
{
foreach (double value in dataValues)
{
this.Add(new DataPoint { Value = value});
}
}
}
public class DataPoint
{
public double Value { get; set; }
}
This example demonstrates how to calculate variance value for a set of numbers using the VarianceCalculator. The VarianceCalculator is a non-visual element and it should be defined in resources section on application, page, control level, or in code-behind, the same way as you would define a data source or a variable. Refer also to the Value Overlay topic for examples on how to integrate the VarianceCalculator with the xamDataChart™ control.
In Visual Basic:
Imports Infragistics.Math.Calculators
'...
Dim data As New DataPointList(New List(Of Double)() From { 5.0, 1.0, 2.0, 3.0, 4.0 })
Dim calculator As New VarianceCalculator()
calculator.ValueMemberPath = "Value"
calculator.ItemsSource = data
Dim variance As Double = calculator.Value
In C#:
using Infragistics.Math.Calculators;
//...
DataPointList data = new DataPointList(new List<double> { 5.0, 1.0, 2.0, 3.0, 4.0 });
VarianceCalculator calculator = new VarianceCalculator();
calculator.ValueMemberPath = "Value";
calculator.ItemsSource = data;
double variance = calculator.Value;