모든 정규성 검정에서 귀무 가설을 기각하는 이유는 무엇입니까?


12

Kolgomorov-Smirnov 검정, Shapiro 검정 등은 모두 분포가 정상이라는 가설을 기각합니다. 그러나 정규 Quantile과 막대 그래프를 그릴 때 데이터는 분명히 정상입니다. 아마도 시험의 힘이 높기 때문에?

표본 크기는 약 650입니다. 따라서 이러한 검정 중 하나 이상이 귀무 가설을 기각하지 않아야합니까?

결과 :

           Kolmogorov-Smirnov    D          0.05031          Pr > D       <0.010
           Cramer-von Mises      W-Sq       0.30003          Pr > W-Sq    <0.005
           Anderson-Darling      A-Sq       1.66965          Pr > A-Sq    <0.005
           Chi-Square            Chi-Sq  3250.43596     18   Pr > Chi-Sq  <0.001

1
사이트에 오신 것을 환영합니다. 힘은 실제로 문제 일 수 있습니다. 보다 구체적으로 결과를 게시 할 수 있습니까?
StasK

1
히스토그램이나 Quantile을 살펴보면 정확도를 높게 평가하는 것은 거의 불가능합니다. 이 테스트 중 처음 세 개는 확률도 (일반 qq 그림)의 편차를 측정하므로 해당 그림은 어떻게 선형입니까?
whuber

답변:


13

정규성 테스트는 시간 낭비이며 예제는 그 이유를 보여줍니다. 작은 표본의 경우 정규성 검정의 검정력이 낮으므로 사용할 통계 모델에 대한 결정은 사전 지식을 기반으로해야합니다 . 이러한 경우 널을 거부하지 못한다고 해서 모집단 수준에서 널이 거의 참 임을 증명하지는 않습니다 .

표본이 크면 정규성 검정이 엄청나게 강력 해지지 만 아직 알지 못한 것은 없습니다. 실제 수량은 정확히 정상적으로 분포 되지 않습니다 . 정규 분포는 수학적 추상화 일 뿐이며 많은 경우에 근사치입니다. 이것의 간단한 증거가 걸릴 수 있습니다 실제 수량 (내가 생각할 수있는 최소한 없음)이 없다는 것입니다 어떤 값으로 실수가. 예를 들어, 우주에는 너무 많은 분자가 있습니다. 돈 공급에는 너무 많은 달러가 있습니다. 빛의 속도는 유한합니다. 컴퓨터는 유한 크기의 숫자 만 저장할 수 있으므로, 모든 실수를 지원하는 것이라도 측정 할 수는 없습니다.

요점은 데이터가 정확하게 정규 분포되어 있지 않다는 것을 이미 알고 있었지만 정규성 테스트는 데이터의 비정규 상태에 대해서는 아무 것도 알려주지 않습니다. 정규성을 가정하는 통계적 추론 방법이 정답을 얻을 수 있도록 데이터가 대략 정규 분포 되어 있는지 여부에 대한 힌트는 전혀 없습니다 . 아이러니하게도, 정규성을 가정하는 일반적인 테스트 (예 : T- 검정 및 분산 분석)는 큰 표본 크기에서 비정규성에 대해 더 강력합니다.


귀하의 답변에 따라, 나는 비정규 성의 좋은 지수를 구성하는 것에 관한 질문을 게시했습니다 : stats.stackexchange.com/questions/16646/… 어떤 생각?
Jeromy Anglim

양자화되고있는 세계의 모든 것에 관해서는 : 이산 데이터도 정상적으로 분산 될 수 없습니까?
xmjx

컴퓨터 문제에 대한 한 가지 더 언급 : 컴퓨터에 십진수를 저장하는 데 자주 사용되는 메커니즘은 작은 숫자와 큰 숫자의 범위에 대해 세분성이 다릅니다. 따라서 컴퓨터가 저장할 수있는 숫자의 최소 차이는 작은 숫자의 경우 작고 큰 숫자의 경우 더 큽니다. 컴퓨터의 경우 100000.1과 100000.2는 동일하지만 0.1과 0.2는 동일하지 않을 수 있습니다. (실제 세계에서는 그렇게 나쁘지 않습니다.)
xmjx

@xmjx : 불연속 데이터는 대략 정규 분포가 가능하므로 거의 모든 실제적인 목적에 가깝습니다. 그러나 이론적으로 표본 크기가 충분히 크면 불연속 분포로 인해 정규성 검정이 실패합니다. 정규 분포는 연속적이며 그 주위에 방법이 없습니다.
dsimcha

@dsimcha 그러나 정규 분포는 이산 변수의 주어진 구간에서 관측치 수를 예측할 수있는 확률 밀도 함수일뿐입니다. 따라서, "실제 변수가 정확히 정규 분포되어 있지 않아서 어떤 시점에서 정규성 검정이 실패하는 것입니다." 그러나 "독립적 인 데이터는 연속적이지 않기 때문에 정상적으로 분산 될 수 없습니다"에 대해서는 약간의 참조가 필요합니다. 나는 그런 종류의 것들에 정말로 관심이 있습니다. 여기서 싸움을 시작하고 싶지 않습니다.
xmjx

4

충분히 큰 표본 크기로 데이터 생성 분포가 실제로 (정확히) 정상이 아닌 한 좋은 테스트는 귀무 가설을 기각해야합니다.

가설 검정을 사용하면 일반적으로 "강력한"검정을 찾는 데 관심이 있습니다.이 검정은 가능한 적은 데이터로 귀무 가설에서 아주 작은 편차를 찾을 수있는 검정입니다.

크기 20, 50, 100, 200의 서브 샘플로 테스트를 실행하고 테스트가 거부하기 시작하는 크기를 확인하십시오. 히스토그램이 대칭적이고 일반적으로 종 모양인지 쉽게 알 수 있지만 분포의 꼬리는 눈으로 평가하기가 더 어렵습니다. 데이터에 특이 치가있어 테스트를 거부 할 수 있습니까? 있는 경우 제거 할 때 어떤 일이 발생하는지 확인하십시오.


답변 해주셔서 감사합니다. 잔차가 정상인지 여부를 테스트하는 것이 목적입니다. 정규 양 분위수 플롯을보고 y = x에 있는지 여부가 가장 좋은 방법이라고 생각합니까?
Robbie

@ 로비 당신의 잔차가 정상인지 알아 내고자한다면 육안 검사는 괜찮습니다. 분포에 대한 통계 테스트는 실제로 필요하지 않습니다. 이미 언급했듯이 정규성에서 벗어나는 편차, 심지어 실제로 중요하지 않은 편차를 선택할 수 있습니다.
Fomite

@EpiGrad 동의하지 않습니다. 정규성 검정의 전력이 낮습니다. 위의 답변을 참조하십시오. 반면에 편집 은 회귀가 비정규성에 상당히 강하므로 정상으로 보이면 그 목적에 적합하다는 데 동의합니다.
David J. Harris

@David J. Harris : "명백하게 저전력"? 650의 표본 크기? 이것은 내가 읽거나 경험 한 모든 것과 상반됩니다. 인용이 있습니까?
whuber

@ DavidJ.Harris 나는 큰 표본으로 인한 핵심, 저전력 또는 가짜 중요성을 생각합니다. 정상 가정의 일상적인 검사에는 전체 운동이 필요하지 않습니다.
Fomite

3

가능한 원인은 데이터가 약간 비정규 적이며 샘플 크기가이를 나타내기에 충분하기 때문입니다.

분포가 실제로 정상이면, 다음 중 하나의 테스트 만 통과하는 다음 R 예에서와 같이 일반적으로 이러한 테스트를 통과해야합니다.

> require(nortest)
> 
> set.seed(1)
> dat <- rnorm(650,mean=100, sd=5)
> 
> ad.test(dat)

        Anderson-Darling normality test

data:  dat 
A = 0.439, p-value = 0.2924

> cvm.test(dat)

        Cramer-von Mises normality test

data:  dat 
W = 0.0882, p-value = 0.1619

> lillie.test(dat)

        Lilliefors (Kolmogorov-Smirnov) normality test

data:  dat 
D = 0.0334, p-value = 0.08196

> pearson.test(dat)

        Pearson chi-square normality test

data:  dat 
P = 37.96, p-value = 0.035

> sf.test(dat)

        Shapiro-Francia normality test

data:  dat 
W = 0.9978, p-value = 0.5186

> shapiro.test(dat)

        Shapiro-Wilk normality test

data:  dat 
W = 0.9981, p-value = 0.675

당신은 qqplot을하고 싶을 수도 있고 이것이 직선에 가깝다면 그것을 당신의 목적을 위해 정상에 충분히 가깝게 취급하기로 결정할 수 있습니다. 오히려 그 목적이 무엇인지에 달려 있습니다.


선형 회귀 분석에서 잔차가 정상적인 지 여부를 테스트하기위한 목적으로 사용됩니다.
로비

1
@ 로비. 분명히 그들은 아니지만, 이것이 중요하지 않을 정도로 충분히 가까울 수 있습니다. qqplot을 사용해보십시오.
Henry

Pearson chi square 결과는 데이터가 정규 분포를 따르지 않은 것처럼 보입니다. 그냥 말하면 그러한 결과로 무엇을해야합니까?
xmjx

@xmjx : 많지 않음-0.05 기준을 적용하는 경우 시간의 오 탐지율이 5 % 인 경우 놀라지 않아야합니다.
Henry

@ 헨리. 의미하는 바 : 정상 성 테스트를 선 택하면 "중요"라고 할 테스트를 선택할 가능성이 있습니다. 배터리를 사용하는 것이 좋습니다. 평균? 과반수 투표하러 가십니까?
xmjx

2

dsimcha의 답변에 동의하지 않겠습니다. "정상 성 테스트는 시간 낭비이며 예제는 그 이유를 보여줍니다." 정규성 테스트는 시간 낭비가 아니며 항상 데이터를 통해 배울 수 있습니다. 또한, 분석을 수행하기 전에 테스트해야하는 조건 (예 : 분산 분석, 회귀 등)이 있습니다. 상대적으로 큰 샘플 크기는 플롯 (QQplot, 막대 그래프)으로 테스트하는 것이 좋습니다. 이러한 경우 시각화는 멀티 모달 동작 등에 대한 훨씬 더 많은 정보를 제공합니다.

분산 분석 및 회귀 분석은 큰 표본 크기를 처리 할 때 비정규성에 강하지 만 문제를 일으키는 주요 데이터 유형은 다중 모드 데이터 표본입니다.

작은 샘플 크기의 Kolgomorov-Smirnov 테스트는 주로 감도로 인해 최상의 옵션입니다.


1

나는 지금까지 게시 된 다른 답변에 약간 동의하지 않을 것입니다. 정상성에 대한 이러한 테스트는 적어도 특정 종류의 편차에 대해 상대적으로 큰 표본 크기에서도 명목상의 힘이 거의 없습니다.

다음은 간단한 예입니다. 나는 평균이 sd로 분리 된 두 개의 법선의 혼합물을 생성했습니다.

set.seed(1)
reps = replicate(
  10000, 
  shapiro.test(c(rnorm(325, mean = 0), rnorm(325, mean = 1)))$p.value
)
mean(reps < .05)
[1] 0.0525

그것이 실제로 정상이더라도 정상의 편차 5 %를 "검출"할 것이라는 점을 고려하면, 그것은 그리 인상적이지 않습니다.

또 다른 예는 다음과 같습니다. 두 가지 표준 편차의 크기 범위에 균일 한 노이즈를 추가합니다. 이것은 상당히 비정규 적입니다.

set.seed(1)
reps = replicate(
  10000, 
  shapiro.test(rnorm(650) + 2 * runif(650))$p.value
)
mean(reps < .05)
[1] 0.0523

다시 말하지만, 정규성에서 꽤 큰 이탈을위한 극도로 낮은 전력.

qqplot을 올바르게 읽고 있습니까? 볼 수 있도록 업로드 해 주시겠습니까?

반면에 편집 은 회귀가 비정규성에 대해 상당히 강력하므로 육안 검사는 대부분의 목적에 충분할 것입니다.


3
두 분포 사이의 실제 편차와 공식에 기록 된 "편차"의 겉보기 크기를 혼동 할 수 있습니다 . 두 경우 모두 결과는 현저하게 정상 부근에 있습니다. 사례 1의 경우 PDF를 시각적으로 일반 PDF와 구분하기가 어렵습니다. 모든 홀수 모멘트는 (분명히) ; 첨도는 이며 표준 법선 ( ) 보다 약간 작습니다 . Shapiro-Wilks 테스트는 이 혼합물이 의사 샘플을 사용하여 비정상으로 식별 할 수 있는 힘 이 있다는 사실 625가 놀랍습니다. 두 번째 경우는 비슷합니다. (73) / 25 75 / 25073/2575/25
whuber
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.