{{description>types of error, 오류의 종류, 1종 오류, 2종 오류, type I error, type II error}}
{{keywords>types of error, 오류의 종류, 1종 오류, 2종 오류, type I error, type II error}}
====== Types of error ======
{{ :pasted:20200501-173355.png?600}}
요약
* black line(bl): $\overline{x}=0, \text{sd}=1$ 정규분포곡선 = 영가설 Null Hypothesis
* red line(rl): $\overline{x}=3, \text{sd}=1$ 정규분포곡선 = 연구가설 Alternative Hypothesis
* green line: 가설테스트를 했을 때 영가설을 부정하게 되는 기준 (sd=2).
* 노란색 부분: type I error
* 회색 부분: type II error
설명
* H1: $\mu_{\text{black}} \neq \mu_{\text{red}} \;\;\; (0 \neq 3) $
* H0: $\mu_{\text{black}} = \mu_{\text{red}} \;\;\; (0 = 3) $
* H1: 새로운 약의 효과는 기존 약과 다를 것이다.
* H0: 새로운 약의 효과가 없을 것이다.
실제 현상이 (약의 효과가) 있는 것으로 가정하면 붉은 선이 현실이 된다. 그러나 연구자는 붉은 선은 가정을 할 뿐, 실제로는 알 수 없으며, 검은 선을 가지고 (즉 영가설을 가지고) 판단을 하게 된다. 이 때 판단의 기준은 녹색 선이며, 이는 SE 단위 둘을 사용한 .05를 가르킨다.
**__Type I Error__**
가설검증을 위해서 녹색선을 사용하였을 때, //샘플의 평균이 노란색 부분에서 나타났다면//, 연구자는 이것이 영가설의 평균과 통계적으로 유의미한 차이를 나타내 주는 것이라고 생각한다. 따라서 영가설을 부정하고 연구가설을 지지하게 된다. 즉, 영가설은 거짓이며, 연구가설은 참이라고 결론을 내린다 (테이블에서 A). 만약에 사실은 이 평균이 검은색의 모집단에서 나온 것이라면 (즉, 영가설 집단에서 나온 것이라면 혹은 1/20의 샘플링 확률에 걸린 것이라면), 연구자는 영가설이 참, 연구가설이 거짓인 실제(reality)를 영가설이 거짓, 연구가설이 참으로 결론 지은 것이 된다 (B). 이렇게 잘못 결론지을 확률이 .05이다. 이를 type I error라고 부르며, 이는 연구자가 가설검증을 설계할 단계에 이를 미리 지정해 놓고 알고 있는 (감수하고 있는) 오차의 한계이다. 이것을 알파($\alpha$)라고도 부른다.
**__Type II Error__**
그러나, 만약에 //샘플의 평균이 회색 부분의 선에서 나타났다면//, 연구자는 critical region을 넘지 못하였으므로 이것을 영가설의 모집단에서 나온 샘플의 평균으로 생각하게 된다. 따라서 영가설 부정에 실패하여, 연구가설을 지지하지 못하게 된다 (C). 그런데, 사실은 그 샘플의 평균이 붉은선의 모집단에서 나왔다고 한다면, 옳은 결론은 영가설은 거짓이어야 한다. 그런데, 이 가설검증에서 연구자는 영가설이 참, 따라서 연구가설은 거짓으로 잘못 진단한 것이다 (D). 이 범위를 type II error 혹은 베타($\beta$)라고 한다.
위의 설명은 아래 표와 같이 정리할 수 있다.
^ Table of \\ types of error ^^ Null Hypothesis(H0)가 ^^
^ ::: ^^ Valid/True ^ Invalid/False ^
^ Null Hypothesis \\ (H0)에 대한 판단 ^ Reject \\ (부정) | B: \\ Type I error \\ (alpha) | A: \\ 옳은 결정 |
^ ::: ^ Fail to reject \\ (부정에 실패) | C: \\ 옳은 결정 | D: \\ Type II error \\ (beta) |
알파의 경우는 연구자가 정하는 방법으로 컨트롤할 수 있다. 그러나, 베타의 경우는 알파와 같은 방법을 사용할 수는 없다. 베타를 줄이는, 즉 영가설이 거짓으로 부정을 해야하는데 그렇게 하지 못하는 경우를 줄이는 방법으로 상식, 보편적인 것은 샘플의 n을 키우는 것이다. 좀 더 설명하자면, 위의 그래프 에서 각각은 샘플링분포곡선을 의미하므로 각 라인의 표준편차는 표준오차를 의미한다. 표준오차가를 줄이게 되면 두 라인이 서로 겹쳐질 경우가 줄어들게 되고, 이는 곧 베타의 감소를 의미한다.
{{:pasted:20200501-173355.png?300}}
{{:pasted:20200501-184558.png?300}}
====== E.G. ======
이는 아래를 보면 더 확연해진다.
rnorm2 <- function(n,mean,sd) { mean+sd*scale(rnorm(n)) }
potato_sample <- rnorm2(25, 194,20)
mean(potato_sample)
sqrt(var(potato_sample))
t.test(potato_sample, mu=200)
One Sample t-test
data: potato_sample
t = -1.5, df = 24, p-value = 0.1467
alternative hypothesis: true mean is not equal to 200
95 percent confidence interval:
185.7444 202.2556
sample estimates:
mean of x
194
>
아래의 qt 펑션 이해를 위해서는 [[https://www.quora.com/In-R-what-is-the-difference-between-dt-pt-and-qt-in-reference-to-the-student-t-distribution|t-distribution function 문서]] 참조
> abs(qt(0.05/2, 24))
[1] 2.063899
즉, +-2.063899 이상이 되어야지 영가설을 부정할 수 있는데, 현재의 t-score는 -1.5이므로 영가설을 부정할 수 없는 상태이다.
se 값을 구하는 공식으로 sqrt(25)=5 이니 se = 20/5 = 4 이다. 만약에 n값이 (샘플사이즈) 2500 이라면 se값은 0.4일 것이다 (아래 참조)
> 20/sqrt(length(potato_sample))
[1] 4
potato_sample_large <- rnorm2(2500, 194,20)
mean(potato_sample_large)
[1] 194
> sqrt(var(potato_sample_large))
[1] 20
t.test(potato_sample_large, mu=200)
One Sample t-test
data: potato_sample_large
t = -15, df = 2499, p-value < 2.2e-16
alternative hypothesis: true mean is not equal to 200
95 percent confidence interval:
193.2156 194.7844
sample estimates:
mean of x
194
> abs(qt(0.05/2, 2499))
[1] 1.960914
위의 경우 critical t value는 +-1.960914 (approx. 2)면 영가설을 부정할 수 있는데, calculated t value는 -15이므로 부정할 수 있다.
> # standard error value
> 20/sqrt(length(potato_sample_large))
[1] 0.4
>
위 둘의 se를 비교해 보라. 그리고, 이를 type I and type II error와 관련지어 설명하라
mu = 200, sigma = 20 인 상황에서 a___ 뒤의 숫자가 샘플의 크기라고 하면,
> a25 <- rnorm(50000, 200, 4) # 4 = 20/sqrt(25) = std error값
> a100 <- rnorm(50000, 200, 2)
> a400 <- rnorm(50000, 200, 1)
> a900 <- rnorm(50000, 200, .667)
> a1600 <- rnorm(50000, 200, .5)
> a2500 <- rnorm(50000, 200, .4)
> a3600 <- rnorm(50000, 200, .333)
> a4900 <- rnrom(50000, 200, .286)
> a6400 <- rnorm(50000, 200, .25)
> a8100 <- rnorm(50000, 200, .222)
> pa25 <- hist(a25)
> pa100 <- hist(a100)
> pa400 <- hist(a400)
> pa900 <- hist(a900)
> pa1600 <- hist(a1600)
> pa2500 <- hist(a2500)
> pa3600 <- hist(a3600)
> pa4900 <- hist(a4900)
> pa6400 <- hist(a6400)
> pa8100 <- hist(a8100)
> plot(pa25, col=rgb(.1,.1,.1,.1), xlim=c(185,215), ylim=c(0,15000))
> plot(pa100, col=rgb(.2,.2,.2,.2), xlim=c(185,215), ylim=c(0,15000), add=T)
> plot(pa400, col=rgb(.3,.3,.3,.3), xlim=c(185,215), ylim=c(0,15000), add=T)
> plot(pa900, col=rgb(.4,.4,.4,.4), xlim=c(185,215), ylim=c(0,15000), add=T)
> plot(pa1600, col=rgb(.5,.5,.5,.5), xlim=c(185,215), ylim=c(0,15000), add=T)
> plot(pa2500, col=rgb(.6,.6,.6,.6), xlim=c(185,215), ylim=c(0,15000), add=T)
> plot(pa3600, col=rgb(.7,.7,.7,.7), xlim=c(185,215), ylim=c(0,15000), add=T)
> plot(pa4900, col=rgb(.8,.8,.8,.8), xlim=c(185,215), ylim=c(0,15000), add=T)
> plot(pa6400, col=rgb(.9,.9,.9,.9), xlim=c(185,215), ylim=c(0,15000), add=T)
> plot(pa8100, col=rgb(1,1,1,1), xlim=c(185,215), ylim=c(0,15000), add=T)
{{:sampling_distribution_25_to_8100.png}}
{{:sampling_distribution_25_to_8100_big.png}}
{{:sampling_distribution_25_to_8100.pdf}}
{{:sampling_distribution_25_2500.png}}
Where is my 194 (sample's mean)?
{{tag>"1종오류" "2종오류" "오류의 종류" "types of error" "type 1 error" "type 2 error"}}