정규성 검정의 힘 평가 (R)


9

R에서 다른 표본 크기에 대한 정규성 검정의 정확성을 평가하고 싶습니다 (정상 성 테스트가 오도 할 수 있음을 알고 있습니다 ). 예를 들어 Shapiro-Wilk 테스트를 살펴보기 위해 다음과 같은 시뮬레이션을 수행하고 결과를 플로팅하고 샘플 크기가 증가함에 따라 null 감소를 거부 할 확률이 예상됩니다.

n <- 1000
pvalue_mat <- matrix(NA, ncol = 1, nrow = n)

for(i in 10:n){
    x1 <- rnorm(i, mean = 0, sd = 1)
    pvalue_mat[i,] <- shapiro.test(x1)$p.value
}   

plot(pvalue_mat)

제 생각에는 샘플 크기가 커짐에 따라 거부율이 낮아야하지만 꽤 균일 한 것 같습니다. 나는 이것을 오해하고 있다고 생각합니다-모든 생각을 환영합니다.


2
: 당신은 한 번 봐 가지고 할 수 있습니다 stats.stackexchange.com/questions/2492/...
니코

답변:


7

귀무 가설 (정규 분포) 하에서 시뮬레이션하고 있으므로 거부율은 예상 한대로 유의 수준으로 경향이 있습니다. 검정력을 평가하려면 비정규 분포에서 시뮬레이션해야합니다. 연구의 범위에 따라 무한한 가능성 / 시나리오 (예 : 왜곡도가 증가하는 감마 분포, df가 감소하는 t 분포 등)가 있습니다.


답변 주셔서 감사합니다. 비정규 분포에 대해 시뮬레이션 할 때 원점과 관련하여 볼록한 패턴을 관찰합니다. 즉, 비정규 분포에 대해 표본 크기가 커질수록 정규 null을 기각 할 확률이 증가합니다. 그러나 정규 분포에서 그림을 그릴 때 왜 반대가 아닌지 이해하지 못합니다. 샘플 크기가 커질 때 null 감소를 거부 할 확률은 왜입니까? 감사합니다
user94759

3
이러한 유형 1 오류를 저지를 확률은 정의상 의미 수준과 동일하므로 정의가 일정합니다. 다르게 말하면, p 값은 널 아래에 균일하게 분포됩니다. Btw에서는 코드에서와 같이 n을 선택하는 것을 포함하여 설정 당 많은 시뮬레이션을 수행하는 것이 좋습니다.
Michael M

7

통계적 가설 검정의 검정력 분석을 이해하고 결과를 면밀히 검토하여 향상시킬 수 있습니다.


디자인으로 크기의 테스트 됩니다 위한 최소한의 기회로 귀무 가설을 거부 널 사실 (예상되는 경우 위양성률 ). αα 우리가이 속성을 가진 대안 적 절차 중에서 선택할 수있는 능력 (또는 사치)을 가질 때, 우리는 (a) 실제로 공칭 오 탐율에 가깝고 (b) 귀무 가설이 거부 될 때 상대적으로 더 높은 확률을 갖는 것을 선호 할 것이다. 사실이 아니다.

두 번째 기준은 규정 우리를 필요로 어떤 방법으로 (들)얼마로 널이 사실로 실패합니다. 교과서의 경우 대안이 범위가 제한되어 있고 명확하게 지정되어 있기 때문에 이것은 쉽다. Shapiro-Wilk와 같은 분포 테스트에서는 대안이 훨씬 모호합니다. "비정규"입니다. 분포 테스트 중에서 선택하는 경우 분석가는 문제에 관심이있는보다 구체적인 대안 가설에 대해 테스트가 얼마나 잘 수행되는지 평가하기 위해 자체 일회성 검정력 연구를 수행해야합니다.

Michael Mayer의 답변에 의해 동기가 부여 된 는 대체 분포가 Student t 분포의 패밀리와 유사한 자질을 가질 수 있다고 주장합니다. 숫자 파라미터 패밀리, (위치 및 크기뿐 아니라하여) 큰 한계에 포함 정상 분포.ν1ν

실제 테스트 크기 또는 검정력을 평가하든 상관없이 특정 분포에서 독립적 인 샘플을 생성하고 각 샘플에 대해 테스트를 실행하여 귀무 가설을 기각하는 비율을 찾아야합니다. 그러나 테스트 결과에는 P- 값에 대한 추가 정보가 있습니다. 이러한 시뮬레이션 중에 생성 된 P- 값 집합을 유지함으로써 나중에 우리가 관심을 가질만한 모든 값에 대해 테스트가 null을 거부하는 속도를 평가할 수 있습니다 . 전력 분석의 핵심은이 P- 값 분포를 생성하는 서브 루틴입니다 (방금 설명한대로 시뮬레이션 또는 이론적 공식을 사용하여). 다음은 코드화 된 예제입니다 . 그 주장은 다음과 같습니다.αR

  • rdist, 일부 분포에서 무작위 표본을 생성하는 함수의 이름

  • n, 요청할 샘플의 크기 rdist

  • n.iter, 그러한 샘플의 수

  • ..., 전달 될 선택적 매개 변수 rdist(예 : 자유도 ).ν

나머지 매개 변수는 결과 표시를 제어합니다. 이들은 주로이 답변에서 그림을 생성하기위한 편의로 포함됩니다.

sim <- function(rdist, n, n.iter, prefix="",
                breaks=seq(0, 1, length.out=20), alpha=0.05,
                plot=TRUE, ...) {

  # The simulated P-values.
  # NB: The optional arguments "..." are passed to `rdist` to specify
  #     its parameters (if any).
  x <- apply(matrix(rdist(n*n.iter, ...), ncol=n.iter), 2, 
             function(y) shapiro.test(y)$p.value)

  # The histogram of P-values, if requested.
  if (plot) {
    power <- mean(x <= alpha)
    round.n <- 1+ceiling(log(1 + n.iter * power * (1-power), base=10) / 2)
    hist(x[x <= max(breaks)], xlab=paste("P value (n=", n, ")", sep=""), 
         breaks=breaks, 
         main=paste(prefix, "(power=", format(power, digits=round.n), ")", sep=""))
    # Specially color the "significant" part of the histogram
    hist(x[x <= alpha], breaks=breaks, col="#e0404080", add=TRUE)
  }

  # Return the array of P-values for any further processing.
  return(x)
}

계산에는 실제로 한 줄만 걸립니다. 나머지 코드는 히스토그램을 플로팅합니다. 설명하기 위해 예상 오 탐율을 계산하는 데 사용하겠습니다. 테스트의 속성은 일반적으로 샘플 크기에 따라 다르므로 "등급"은 복수형입니다. 이 샘플 크기가 큰 경우 분배 테스트가 질적으로 작은 대안에 대해 높은 전력을 가지고 잘 알려져 있기 때문에, 본 연구는 종종 같은 테스트가 실제로 적용된 작은 샘플 크기의 범위에 초점을 맞추고 : 일반적으로 약 로 계산을 저장하려면 시간, 나는 에서 사이 의 값에 대해서만보고합니다5100.n520.

n.iter <- 10^5                 # Number of samples to generate
n.spec <- c(5, 10, 20)         # Sample sizes to study
par(mfrow=c(1,length(n.spec))) # Organize subsequent plots into a tableau
system.time(
  invisible(sapply(n.spec, function(n) sim(rnorm, n, n.iter, prefix="DF = Inf ")))
)

매개 변수를 지정한 후이 코드는 한 줄입니다. 다음과 같은 결과가 나타납니다.

널에 대한 히스토그램

이것은 예상 된 모양입니다. 히스토그램은 에서 까지의 전체 범위에 걸쳐 거의 균일 한 P- 값 분포를 보여줍니다 . 공칭 크기가 설정 되면 P- 값의 과 사이의 시뮬레이션 보고서 는 실제로 해당 임계 값보다 작습니다.이 결과는 빨간색으로 강조 표시됩니다. 이러한 주파수와 공칭 값의 근접성은 Shapiro-Wilk 테스트가 알려진대로 수행됨을 증명합니다.01α=0.05,.04810.0499

( 근처에서 비정상적으로 높은 P- 값 빈도에 대한 경향이있는 것 같습니다 . 거의 모든 응용에서 P- 값이 이하 이기 때문에 거의 관심이 없습니다 .)10.2

이제 힘을 평가 해 봅시다. Student t 분포에 대한 의 전체 범위 값은 에서 의 몇 가지 사례를 평가하여 적절하게 연구 할 수 있습니다 . 어떻게 알 수 있습니까? 매우 적은 수의 반복 ( ~ ) 을 사용하여 예비 실행을 수행했지만 시간이 전혀 걸리지 않았습니다. 이제 코드에는 이중 루프가 필요합니다 (더 복잡한 상황에서는 변화해야하는 모든 측면을 수용하기 위해 종종 삼중 또는 사중 루프가 필요합니다). 자유도. 다시 한 번, 모든 코드는 한 줄의 코드 (세 번째 및 마지막)로 완료됩니다.νν=100ν=11001000

df.spec <- c(64, 16, 4, 2, 1)
par(mfrow=c(length(n.spec), length(df.spec)))
for (n in n.spec) 
  for (df in df.spec)
    tmp <- sim(rt, n, n.iter, prefix=paste("DF =", df, ""), df=df)

대안에 대한 히스토그램

이 tableau에 대한 약간의 연구는 힘에 대한 좋은 직감을 제공합니다. 가장 두드러지고 유용한 측면에 주목하고 싶습니다.

  • 자유도가 ν=64 왼쪽에 ν=1오른쪽에서 점점 더 많은 P- 값이 작으므로 정규 분포와 이러한 분포를 구별하는 힘이 증가 함을 나타냅니다. (파워 제목은 각 플롯 제목에서 수량화됩니다. 히스토그램 영역의 빨간색 비율과 같습니다.)

  • 표본 크기가 증가함에 따라 n=5 맨 윗줄에 n=20 바닥에 힘이 증가합니다.

  • 대체 분포가 null 분포와 더 다르고 표본 크기가 증가함에 따라 P- 값이 왼쪽으로 수집되기 시작하지만 여전히 "꼬리"가 계속 이어집니다. 1. 이것은 전력 연구의 특징입니다. 그것은 보여줍니다 테스트가 도박 : 귀무 가설이 극악 무도 위반 및 우리의 샘플 크기가 상당히 큰 경우에도, 우리의 공식적인 테스트가 중요한 결과를 생성하지 못할 수 있습니다 경우에도.

  • 오른쪽 하단의 극단적 인 경우에도 20 와 학생 t 분포에서 가져옵니다 1 자유도 (코시 분포), 힘은 그렇지 않습니다 1: 이있다 10086.57=13% 의 샘플은 20 iid Cauchy 변이는 정상 수준과 크게 다르지 않습니다. 5% (즉, 95% 자신).

  • 우리는 모든 가치에서 힘을 평가할 수 있습니다. α우리는이 히스토그램에 막대를 더 많거나 적게 채색하여 선택합니다. 예를 들어α=0.10, 각 막대 그래프에서 왼쪽 두 막대의 색상을 지정하고 해당 영역을 전체의 일부로 추정합니다.

    (이 값은 너무 잘 작동하지 않습니다. α 보다 작은 0.05이 그림으로. 실제로, 히스토그램을 사용되는 범위 내에서만 P- 값으로 제한 할 수 있습니다.020%전원을 시각적으로 평가할 수 있도록 충분히 자세하게 표시합니다. α=0.01 또는 α=0.005. (이것이 breaks선택할 수 있는 옵션 sim입니다.) 시뮬레이션 결과의 후 처리는 더 자세한 정보를 제공 할 수 있습니다.


실제로는 3 개의 코드 라인 (지정된 분포에서 iid 샘플을 시뮬레이트하기위한 것, 널 분포의 배열에 적용하기위한 것, 세 번째 코드에 적용하는 것)에서 많은 것을 얻을 수 있다는 것이 재미있다. 대체 분포 배열. 다음은 전력 분석에 들어가는 세 단계입니다. 나머지는 결과를 요약하고 해석합니다.


1

(댓글 이상, 아마도 완전한 답은 아님)

[I]는 표본 크기가 증가함에 따라 null 감소를 거부 할 확률이 감소 할 것으로 예상

치우친 테스트에 대한 고려 사항을 제외하고 (적합하지 않은 경우가 많으므로 언급 할 가치가 있음), 거부율과 관련하여 고려해야 할 세 가지 상황이 있습니다.

1) null에서 시뮬레이션 할 때의 거부율 (질문에서하고있는 것처럼)

여기서 기각 률은 유의 수준 또는 그 와 비슷 해야합니다. 따라서 유의 수준을 일정하게 유지하면 n이 증가함에 따라 기각 률이 감소하지는 않지만 n / 가까이 유지됩니다.α.

2) 일부 대안에서 시뮬레이션 할 때 거부율

여기서 거부율은 n이 증가함에 따라 증가 해야합니다 .

3) 실제 데이터의 일부 수집에 대한 거부율

실제로, null은 실제로는 사실이 아니며 실제 데이터에는 비 통계량이 혼합되어 있습니다 (테스트 통계로 측정). 비정규도가 표본 크기와 관련이없는 경우 n이 증가 함에 따라 거부율이 증가합니다.

사실, 이러한 상황에서는 표본 크기에 따라 거부율이 감소하지 않아야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.