ShapiroWilkTest Class

Represents the Shapiro-Wilk test that a sample is normally distributed.

Definition

Namespace: Numerics.NET.Statistics.Tests
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.0.7
C#
public sealed class ShapiroWilkTest : OneSampleTest
Inheritance
Object  →  HypothesisTest  →  OneSampleTest<Double>  →  OneSampleTest  →  ShapiroWilkTest

Remarks

The Shapiro-Wilk test is a statistical test that checks whether a sample comes from a normal distribution. The null hypothesis for this test is that the sample is drawn from a normally distributed population.

The test statistic W is calculated based on the sample data. This statistic follows a specific distribution under the null hypothesis. A small p-value indicates that it is unlikely that the sample comes from a normal distribution, leading to the rejection of the null hypothesis.

The Shapiro-Wilk test is generally considered more reliable than the Anderson-Darling or Kolmogorov-Smirnov tests. It is valid for sample sizes between 3 and 5000.

Use the ShapiroWilkTest class to test whether a sample comes from a normal distribution. A small p-value indicates that it is unlikely that the sample comes from a normal distribution.

Example

This example demonstrates how to perform the Shapiro-Wilk test on a sample and how to use its properties and methods.

C#
using Numerics.NET;
using Numerics.NET.Statistics.Tests;

// Sample data
Vector<double> data = [1.0, 2.0, 3.0, 4.0, 5.0];

// Perform the Shapiro-Wilk test
var test = new ShapiroWilkTest(data);
double statistic = test.CalculateStatistic();
double pValue = test.GetPValue(HypothesisType.OneTailedLower);

// Output the results
Console.WriteLine($"Test Statistic: {statistic}");
Console.WriteLine($"P-Value: {pValue}");

Constructors

ShapiroWilkTest Constructs a new Shapiro-Wilk test.

Properties

Distribution Gets the probability distribution used in the hypothesis test.
(Inherited from HypothesisTest)
HypothesisType Gets or sets whether the test is one or two-tailed.
(Inherited from HypothesisTest)
Name Gets the name of the hypothesis test.
(Overrides HypothesisTest.Name)
PValue Gets the probability that the test statistic would take on the calculated value under the alternate hypothesis.
(Inherited from HypothesisTest)
Sample Gets or sets the variable the test is to be applied to.
(Inherited from OneSampleTest<T>)
SignificanceLevel Gets the significance level used to test the null hypothesis.
(Inherited from HypothesisTest)
Statistic Gets the value of the test statistic.
(Inherited from HypothesisTest)

Methods

EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
GetConfidenceInterval() Returns the confidence interval for the test parameter for the default confidence level.
(Inherited from HypothesisTest)
GetConfidenceInterval(Double) Returns the confidence interval for the test parameter for the specified confidence level.
(Inherited from HypothesisTest)
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetLowerCriticalValue() Gets the lower critical value for the hypothesis test's current significance level.
(Inherited from HypothesisTest)
GetLowerCriticalValue(Double) Gets the lower critical value for the hypothesis test at the specified significance level.
(Inherited from HypothesisTest)
GetPValue Gets the probability that the test statistic would take on the calculated value under the specified alternate hypothesis.
(Inherited from HypothesisTest)
GetTypeGets the Type of the current instance.
(Inherited from Object)
GetUpperCriticalValue() Gets the upper critical value for the test statistic at the hypothesis test's current significance level.
(Inherited from HypothesisTest)
GetUpperCriticalValue(Double) Gets the upper critical value for the test statistic at the specified significance level.
(Inherited from HypothesisTest)
Reject() Returns whether the null hypothesis is rejected using the default significance level.
(Inherited from HypothesisTest)
Reject(Double) Returns whether the null hypothesis is rejected using the specified significance level.
(Inherited from HypothesisTest)
Summarize() Returns a string containing a human-readable summary of the object.
(Inherited from HypothesisTest)
Summarize(SummaryOptions) Returns a string containing a human-readable summary of the object using the specified options.
(Inherited from OneSampleTest<T>)
ToStringReturns a string that represents the current object.
(Inherited from HypothesisTest)

See Also