Как выполнить тест Харке-Бера в Python


Критерий Харке-Бера — это критерий согласия, который определяет, имеют ли выборочные данные асимметрию и эксцесс, соответствующие нормальному распределению.

Статистика теста Харка-Бера всегда является положительным числом, и чем дальше она от нуля, тем больше доказательств того, что данные выборки не подчиняются нормальному распределению.

В этом руководстве объясняется, как провести тест Харке-Бера в Python.

Как выполнить тест Харке-Бера в Python

Чтобы провести тест Jarque-Bera в Python, мы можем использовать функцию jarque_bera из библиотеки Scipy, которая использует следующий синтаксис:

jarque_bera (х)

куда:

  • x: массив наблюдений

Эта функция возвращает тестовую статистику и соответствующее p-значение.

Пример 1

Предположим, мы выполняем тест Харка-Бера для списка из 5000 значений, которые следуют нормальному распределению:

import numpy as np
import scipy.stats as stats

#generate array of 5000 values that follow a standard normal distribution
np.random.seed(0)
data = np.random.normal(0, 1, 5000)

#perform Jarque-Bera test
stats.jarque_bera(data)

(statistic=1.2287, pvalue=0.54098)

Статистика теста равна 1,2287 , а соответствующее значение p равно 0,54098.Поскольку это p-значение не меньше 0,05, мы не можем отвергнуть нулевую гипотезу. У нас нет достаточных доказательств, чтобы сказать, что эти данные имеют асимметрию и эксцесс, которые значительно отличаются от нормального распределения.

Этот результат не должен удивлять, поскольку сгенерированные нами данные состоят из 5000 случайных величин, которые подчиняются нормальному распределению.

Пример 2

Теперь предположим, что мы выполняем тест Харке-Бера для списка из 5000 значений, которые следуют равномерному распределению:

import numpy as np
import scipy.stats as stats

#generate array of 5000 values that follow a uniform distribution
np.random.seed(0)
data = np.random.uniform(0, 1, 5000)

#perform Jarque-Bera test
stats.jarque_bera(data)

(statistic=300.1043, pvalue=0.0)

Статистика теста равна 300,1043 , а соответствующее значение p равно 0,0.Поскольку это p-значение меньше 0,05, мы отвергаем нулевую гипотезу. Таким образом, у нас есть достаточно доказательств, чтобы сказать, что эти данные имеют асимметрию и эксцесс, которые значительно отличаются от нормального распределения.

Этот результат также не должен удивлять, поскольку сгенерированные нами данные состоят из 5000 случайных величин, которые следуют равномерному распределению, которое должно иметь асимметрию и эксцесс, сильно отличающиеся от нормального распределения.

Когда использовать тест Харке-Бера

Тест Харка-Бера обычно используется для больших наборов данных (n > 2000), в которых другие тесты на нормальность (например, тест Шапиро-Уилка) ненадежны.

Это подходящий тест, который следует использовать перед выполнением некоторого анализа, в котором предполагается, что набор данных следует нормальному распределению. Тест Харке-Бера может сказать, выполняется ли это предположение.

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.