Python에서 jarque-bera 테스트를 수행하는 방법


Jarque-Bera 검정은 표본 데이터가 정규 분포에 해당하는 왜도와 첨도를 나타내는지 여부를 확인하는 적합도 검정입니다.

Jarque-Bera 검정 통계량은 항상 양수이며 0에서 멀어질수록 표본 데이터가 정규 분포를 따르지 않는다는 증거가 더 많습니다.

이 튜토리얼에서는 Python에서 Jarque-Bera 테스트를 수행하는 방법을 설명합니다.

Python에서 Jarque-Bera 테스트를 수행하는 방법

Python에서 Jarque-Bera 테스트를 수행하려면 다음 구문을 사용하는 Scipy 라이브러리의 jarque_bera 함수를 사용할 수 있습니다.

jarque_bera(x)

금:

  • x: 관측치 표

이 함수는 검정 통계량과 해당 p-값을 반환합니다.

실시예 1

정규 분포를 따르는 5,000개의 값 목록에 대해 Jarque-Bera 테스트를 수행한다고 가정해 보겠습니다.

 import numpy as np
import scipy.stats as stats

#generate array of 5000 values that follows 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 이상이므로 귀무가설을 기각할 수 없습니다. 이러한 데이터가 정규 분포와 크게 다른 왜도 및 첨도를 보인다고 말할 수 있는 충분한 증거가 없습니다.

우리가 생성한 데이터는 정규 분포를 따르는 5,000개의 무작위 변수로 구성되어 있으므로 이 결과는 놀라운 일이 아닙니다.

실시예 2

이제 균일 분포를 따르는 5,000개의 값 목록에 대해 Jarque-Bera 테스트를 수행한다고 가정합니다.

 import numpy as np
import scipy.stats as stats

#generate array of 5000 values that follows 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보다 작으므로 귀무가설을 기각합니다. 따라서 우리는 이러한 데이터가 정규 분포와 상당히 다른 왜도와 첨도를 보인다고 주장할 수 있는 충분한 증거를 가지고 있습니다.

우리가 생성한 데이터는 정규 분포와 매우 다른 왜도와 첨도를 갖는 균일 분포를 따르는 5,000개의 무작위 변수로 구성되어 있으므로 이 결과는 놀라운 일이 아닙니다.

Jarque-Bera 테스트를 사용하는 경우

Jarque-Bera 검정은 일반적으로 다른 정규성 검정(예: Shapiro-Wilk 검정)을 신뢰할 수 없는 대규모 데이터 세트(n > 2,000)에 사용됩니다.

이는 데이터 세트가 정규 분포를 따른다고 가정하는 분석을 수행하기 전에 사용하기에 적합한 테스트입니다. Jarque-Bera 테스트를 통해 이 가정이 충족되는지 여부를 알 수 있습니다.

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다