# VB Probability Distribution Example

← All NMath Code Examples

```Imports System
Imports System.Collections

Imports CenterSpace.NMath.Core

Namespace CenterSpace.NMath.Examples.VisualBasic

A .NET example in Visual Basic showing how to use the probability distribution classes.

NMath Stats provides classes for computing the probability density
function (PDF), the cumulative distribution function (CDF), the inverse
cumulative distribution function, and random variable moments for a
variety of probability distributions, including normal (Gaussian), Poisson,
chi-square, gamma, beta, Students t, F, binomial, and negative binomial.
Module ProbabilityDistributionExample

Sub Main()

The distribution classes share a common interface, so once you
learn how to use one distribution class, it’s easy to use any of
the others. This code constructs an F distribution object with
degrees of freedom 9,24.
Dim DF1 As Integer = 9
Dim DF2 As Integer = 24

Dim Dist As New FDistribution(DF1, DF2)

Console.WriteLine()
Console.WriteLine(Dist)
Console.WriteLine()

Pick a sample value for the F statistic.
Dim FStat As Double = 3.94
Console.WriteLine("Sample F statistic =" & FStat)
Console.WriteLine()

The PDF() method computes the probability density function
evaluated at a given value. The probability of
observing an F-statistic of 3.94 is given by:
Console.WriteLine("PDF = " & Dist.PDF(FStat))

The CDF() method computes the cumulative density function
evaluated at a given value. Find the probability of
observing an F-statistic of 3.94 or less, and the probability
of observing an F-statistic greater than 3.94:
Console.WriteLine("CDF = " & Dist.CDF(FStat))
Console.WriteLine("Upper tail probability = " & (1 - Dist.CDF(FStat)))
Console.WriteLine()

The InverseCDF() computes the inverse cumulative density
function evaluated at a given value. Calculate left and right
critical values for 0.01 alpha level:
Dim Alpha As Double = 0.01
Console.WriteLine("Alpha = " & Alpha)
Console.WriteLine("Left critical value = " & Dist.InverseCDF(Alpha))
Console.WriteLine("Right critical value = " & Dist.InverseCDF(1 - Alpha))
Console.WriteLine()

Properties are provided for getting the first four moments of a
distribution.
Console.WriteLine("Mean of distribution = " & Dist.Mean)
Console.WriteLine("Variance of distribution = " & Dist.Variance)
Console.WriteLine("Skewness of distribution = " & Dist.Skewness)
Console.WriteLine("Kurtosis of distribution = " & Dist.Kurtosis)
Console.WriteLine()

Console.WriteLine()
Console.WriteLine("Press Enter Key")