Тест Шапиро-Уилка, тест Андерсона-Дарлинга, критерий К-квадрата Д’Агостино
Содержание: -
- Тест Шапиро-Вилка
- Тест Андерсона-Дарлинга
- К-квадрат Д’Агостино
1. Тест Шапиро-Вилка.
Тест Шапиро – Уилка - это тест на нормальность в частотной статистике. Его опубликовали в 1965 году Сэмюэл Сэнфорд Шапиро и Мартин Уилк.
Тест Шапиро-Уилка используется для вычисления статистики W, которая проверяет, происходит ли случайная выборка x1, x2,…, xn (конкретно) из нормального распределения. Небольшие значения W свидетельствуют об отклонении от нормальности и процентных пунктов для статистики W, полученной с помощью моделирования Монте-Карло.
Этот тест показал себя очень хорошо по сравнению с другими тестами на соответствие.
Предположения:
- Наблюдения в каждой выборке независимы и одинаково распределены (iid).
Гипотеза:
H0: Данные соответствуют нормальному распределению.
H1: Данные не соответствуют нормальному распределению.
#Python code #Example of Shapiro Wilk Test from scipy.stats import shapiro data = [1,1.2,0.2,0.3,-1,-0.2,-0.6,-0.8,0.8,0.1] stat, p = shapiro(data) print('stat=%.3f, p=%.3f' % (stat, p)) if p > 0.05: print("Data follows Normal Distribution") else: print("Data does not follow Normal Distribution") OUTPUT: Data follows Normal Distribution
2. Тест Андерсона-Дарлинга
Тест Андерсона – Дарлинга - это статистический тест того, взят ли данный образец данных из данного распределения вероятностей. В своей базовой форме тест предполагает, что в тестируемом распределении нет параметров, которые необходимо оценить, и в этом случае тест и его набор критических значений не подлежат распределению.
Его можно использовать для проверки правильности выборки данных. Тест представляет собой модифицированную версию более сложного непараметрического статистического критерия согласия, называемого тестом Колмогорова-Смирнова.
Предположения:
- Наблюдения в каждой выборке независимы и одинаково распределены (iid).
Гипотеза:
H0: Данные соответствуют нормальному распределению.
H1: Данные не соответствуют нормальному распределению.
#Python code #Example of Anderson-Darling Test from scipy.stats import anderson data = [1,1.2,0.2,0.3,-1,-0.2,-0.6,-0.8,0.8,0.1] result = anderson(data) OUTPUT: AndersonResult(statistic=0.19788206806788722, critical_values=array([0.501, 0.57 , 0.684, 0.798, 0.95 ]), significance_level=array([15. , 10. , 5. , 2.5, 1. ]))
Статистика теста: 0,1979. Мы можем сравнить это значение с каждым критическим значением, которое соответствует каждому уровню значимости, чтобы увидеть, значимы ли результаты теста.
#Python code print('stat=%.3f' % (result.statistic)) for i in range(len(result.critical_values)): sl, cv = result.significance_level[i], result.critical_values[i] if result.statistic < cv: print('Data follows Normal at the %.1f%% level' % (sl)) else: print('Data does not follows Normal at the %.1f%% level' % (sl)) OUTPUT: Data follows Normal at the 15.0% level Data follows Normal at the 10.0% level Data follows Normal at the 5.0% level Data follows Normal at the 2.5% level Data follows Normal at the 1.0% level
3. Тест К-квадрата Д’Агостино.
Тест Д’Агостино K² вычисляет сводную статистику на основе данных, а именно эксцесс и асимметрию, чтобы определить, отклоняется ли распределение данных от нормального распределения, названного в честь Ральфа Д’Агостино.
- Наклон - это количественная оценка того, насколько распределение сдвинуто влево или вправо, мера асимметрии в распределении.
- эксцесс количественно определяет, какая часть распределения находится в хвосте. Это простой и часто используемый статистический тест на нормальность.
Предположения:
- Наблюдения в каждой выборке независимы и одинаково распределены (iid).
Гипотеза:
H0: Данные соответствуют нормальному распределению.
H1: Данные не соответствуют нормальному распределению.
#Python code #Example ofD’Agostino’s K-squared Test from scipy.stats import normaltest data = [0.873, 2.817, 0.121, -0.945, -0.055, -1.436, 0.360, -1.478, -1.637, -1.869] stat, p = normaltest(data) print('stat=%.3f, p=%.3f' % (stat, p)) if p > 0.05: print('Data follows normal') else: print('Data does not follow normal') OUTPUT: stat=3.392, p=0.183 Data follows normal
Свяжитесь со мной через: -
LinkedIn: - https://www.linkedin.com/in/shivam-mishra17/
Электронная почта: - [email protected]
Twitter: - https://twitter.com/ishivammishra17