# scipy.stats.shapiro

scipy.stats.shapiro(x)

  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
    x array_like

      Array of sample data.

  Returns
    statistic float

      The test statistic.

    p-value float

      The p-value for the hypothesis test.

  See also

  `anderson`

    The Anderson-Darling test for normality

  `kstest`

    The Kolmogorov-Smirnov test for goodness of fit.

  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

scipy.stats.levene scipy.stats.anderson