기본 콘텐츠로 건너뛰기

라벨이 정규성검정인 게시물 표시

[matplotlib]quiver()함수

[data analysis]Kolmogorov-Smirnov Test

Kolmogorov-Smirnov Test 관련된 내용 Q-Q plot shapiro-Wilk test Kolmogorov-Smirnov Test Anderson-Darling 검정 Jarque-Bera test Kolmogorov-Smirnov 검정 (K-S test)은 표본이 특정 분포를 가진 모집단에서 추출되었는지 결정하는 데 사용됩니다. 즉, 자료의 분포가 특정한 분포와의 일치정도를 정량화하여 검정하는 방법입니다. 분석대상 자료의 분포를 알 수 없으므로 식 1에 의해 생성된 경험적 분포 함수 (Emperical distribution fucntion, ECDF) 와 특정분포를 비교합니다. $$ECDF =\frac{n(i)}{N}$$ (식 1) 식 1의 n(i)는 데이터를 오름차순으로 정렬한 경우의 각 요소의 위치이며 분모인 N은 전체 자료수입니다. 자료가 오름차순으로 정렬되면 각 값까지의 누적확률은 그것이 위치하는 순서에 의존됩니다. 예를 들어 총 20개의 데이터 중의 2번째의 값의 누적확률은 0.1(2/20)이 됩니다. 전체적으로 각 데이터마다 1/20씩 증가하는계단함수가 됩니다. 이것을 경험적 누적분포함수라고 하며 이 함수가 정규분포의 누적함수와의 일치 정도로 자료의 정규성을 검정합니다. 그림 1은 100개의 랜덤 샘플에 대한 경험적 누적분포함수와 정규누적분포함수를 작성한 것입니다. np.random.seed(3) N=100 da=np.sort(np.random.randn(N)) ecdf=[i/N for i in range(1, N+1)] nCdf=stats.norm.cdf(da) plt.figure(figsize=(4,2)) plt.plot(da, ecdf, color="blue", label="ECDF") plt.plot(da, nCdf, color="red", label="normCDF") plt.legend(loc=...

[data analysis]shapiro-Wilk test

shapiro-Wilk test 관련된 내용 Q-Q plot shapiro-Wilk test Kolmogorov-Smirnov Test Anderson-Darling 검정 Jarque-Bera test 표본 x 1 , x 2 , …, x n 이 정규분포에 부합성 여부를 검정하기 위해 식 1과 같이 계산되는 shapiro-Wilk통계량인 W 를 사용하여 귀무가설(H0: 정규분포를 따릅니다.) 검정을 실시합니다. \begin{align}W&=\frac{\left(\sum^m_{i=1}a_ix_{(i)} \right)^2}{\sum^n_{i=1}(x_i-\bar{x})^2}\\x_{(i)}&=x_{n+1-i}-x_i\\ & n: \text{표본의 크기}\\ & m=\begin{cases}\frac{n}{2}&\text{for}\;n=\text{짝수}\\\frac{n-1}{2}&\text{for}\;n=\text{홀수} \end{cases}\end{align} (식 1) 식 1에서 a i 는 두 값 차이에 대한 가중치입니다. 그 가중치들은 정렬된 자료의 평균, 표준편차 등 통계량을 기준으로 산출된 상수로서 shapiro-Wilk table에서 결정할 수 있습니다. 식 1의 x (i) 를 나타내는 i는 [0, m] 사이의 정수값입니다. 즉 W값은 전체 퍼짐의 정도에서 각각의 작은값과 큰값의 차이의 비를 나타낸 값입니다. Shapiro-Wilk 검정의 W는 다음 과정으로 계산합니다. data 정렬 SS 계산 $SS=\sum^n_{i=1}(x_i-\bar{x})^2$ W의 분자인 b를 계산 $b=\sum^m_{i=1} a_i(x_{n+1-i}-x_i)$ 검정 통계량(W)계산 $W=\frac{b^2}{SS}$ shapiro-Wilk table를 기준으로 p-value를 산출 shapiro-Wilk table은 샘플수에 대한 가중치(a i )와 특정 유...