scipy.stats.shapiro¶
- scipy.stats.shapiro(x)[source]¶
Perform the Shapiro-Wilk test for normality.
The Shapiro-Wilk test tests the null hypothesis that the data was drawn from a normal distribution.
- Parameters
- xarray_like
Array of sample data.
- Returns
- statisticfloat
The test statistic.
- p-valuefloat
The p-value for the hypothesis test.
See also
Notes
The algorithm used is described in [4] but censoring parameters as described are not implemented. For N > 5000 the W test statistic is accurate but the p-value may not be.
The chance of rejecting the null hypothesis when it is true is close to 5% regardless of sample size.
References
- 1
https://www.itl.nist.gov/div898/handbook/prc/section2/prc213.htm
- 2
Shapiro, S. S. & Wilk, M.B (1965). An analysis of variance test for normality (complete samples), Biometrika, Vol. 52, pp. 591-611.
- 3
Razali, N. M. & Wah, Y. B. (2011) Power comparisons of Shapiro-Wilk, Kolmogorov-Smirnov, Lilliefors and Anderson-Darling tests, Journal of Statistical Modeling and Analytics, Vol. 2, pp. 21-33.
- 4
ALGORITHM AS R94 APPL. STATIST. (1995) VOL. 44, NO. 4.
Examples
>>> from scipy import stats >>> rng = np.random.default_rng() >>> x = stats.norm.rvs(loc=5, scale=3, size=100, random_state=rng) >>> shapiro_test = stats.shapiro(x) >>> shapiro_test ShapiroResult(statistic=0.9813305735588074, pvalue=0.16855233907699585) >>> shapiro_test.statistic 0.9813305735588074 >>> shapiro_test.pvalue 0.16855233907699585