types_of_error
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| types_of_error [2025/11/25 22:14] – hkimscil | types_of_error [2026/04/21 22:13] (current) – hkimscil | ||
|---|---|---|---|
| Line 8: | Line 8: | ||
| < | < | ||
| 요약 | 요약 | ||
| - | * black line(bl): $\overline{x}=0, | + | * black line(bl): $\overline{x}=0, |
| - | * red line(rl): | + | * red line(rl): |
| * green line: 가설테스트를 했을 때 영가설을 부정하게 되는 기준 (sd=2). | * green line: 가설테스트를 했을 때 영가설을 부정하게 되는 기준 (sd=2). | ||
| * 노란색 부분: type I error | * 노란색 부분: type I error | ||
| Line 31: | Line 31: | ||
| {{tabembedded>: | {{tabembedded>: | ||
| + | 아래는 고등학교2년생들의 방학중 하루에 게임에 쓰는 시간을 분으로 가정한 것이다. 모집단의 (population) 평균은 (m.p) 140 분이고, 표준편차값은 20이다 (sigma). 그리고 미디어교육을 받은 모집단을 가정하여 (현실에서 이런 일은 거의 이러나지 않는다) 이 모집단의 평균이 140에서 10분을 뺀 130분이라고 가정한다 (m.pe). 이제 n = 40 인 샘플을 취하여 그 샘플에게 미디어교육을 시킨 후, 효과를 검증하려고 한다. | ||
| + | <tabbox rs.type.ii.error> | ||
| + | < | ||
| + | m.p <- 140 | ||
| + | sigma <- 20 | ||
| + | e <- -10 | ||
| + | m.pe <- m.p+e | ||
| + | n <- 40 | ||
| + | se <- sigma / sqrt(n) | ||
| + | paste(m.p, sigma, m.p+e, n, se) | ||
| - | 위의 설명은 아래 표와 같이 정리할 수 있다. | + | if(m.p>m.pe) { |
| + | left <- m.p+se*3 | ||
| + | right <- m.pe-se*3 | ||
| + | flag <- -2*se | ||
| + | } else { | ||
| + | left <- m.p-se*3 | ||
| + | right <- m.pe+se*3 | ||
| + | flag <- 2*se | ||
| + | } | ||
| - | ^ Table of \\ types of error ^^ Null Hypothesis(H0)가 ^^ | + | curve(dnorm(x, m.p, se), from = left, to = right, |
| - | ^ ::: ^^ Valid/ | + | main = " |
| - | ^ Null Hypothesis | + | ylab = " |
| - | ^ ::: ^ Fail to reject \\ (부정에 실패) | + | abline(v=m.p, col=" |
| + | curve(dnorm(x, m.pe, se), from = left, to = right, | ||
| + | main = " | ||
| + | ylab = " | ||
| + | abline(v=m.p+e, col=" | ||
| + | abline(v=m.p+flag, col=' | ||
| + | abline(v=m.p-flag, col=' | ||
| - | 알파의 경우는 연구자가 정하는 방법으로 컨트롤할 수 있다. 그러나, 베타의 경우는 알파와 같은 방법을 사용할 수는 없다. 베타를 줄이는, 즉 영가설이 거짓으로 부정을 해야하는데 그렇게 하지 못하는 경우를 줄이는 방법으로 상식, 보편적인 것은 샘플의 n을 키우는 것이다. 좀 더 설명하자면, 위의 그래프 | + | c(m.p+flag, m.p, m.p-flag) |
| + | c((m.p+e)-se*2, m.p+e, (m.p+e)+se*2) | ||
| + | q.05 <- (m.p)+flag | ||
| + | q.05 | ||
| + | if(m.pe < m.p+flag) { | ||
| + | p.out <- 1 - pnorm(q.05, m.pe, se) | ||
| + | } else { | ||
| + | p.out <- pnorm(q.05, m.pe, se) | ||
| + | } | ||
| + | p.out | ||
| - | <imgcaption fig1|standard error = 1 일 경우> | + | yrng <- (dnorm(m.p, m.p, se)) |
| - | < | + | yrng |
| + | text(x=q.05, y=yrng/2, labels=paste(" | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | pos = 4, col=' | ||
| - | ====== E.G. ====== | + | </ |
| - | + | <tabbox ro.type.ii.error> | |
| - | 이는 아래를 보면 더 확연해진다. | + | |
| < | < | ||
| - | rnorm2 | + | > m.p <- 140 |
| - | potato_sample | + | > sigma <- 20 |
| - | mean(potato_sample) | + | > e <- -10 |
| - | sqrt(var(potato_sample)) | + | > m.pe <- m.p+e |
| - | + | > n <- 40 | |
| - | t.test(potato_sample, mu=200) | + | > se <- sigma / sqrt(n) |
| - | + | > paste(m.p, sigma, m.p+e, n, se) | |
| - | One Sample t-test | + | [1] "140 20 130 40 3.16227766016838" |
| - | + | > | |
| - | data: potato_sample | + | > if(m.p> |
| - | t = -1.5, df = 24, p-value = 0.1467 | + | + left <- m.p+se*3 |
| - | alternative hypothesis: true mean is not equal to 200 | + | + right <- m.pe-se*3 |
| - | 95 percent confidence interval: | + | + flag <- -2*se |
| - | 185.7444 202.2556 | + | + } else { |
| - | sample estimates: | + | + |
| - | mean of x | + | + right <- m.pe+se*3 |
| - | | + | + flag <- 2*se |
| + | + } | ||
| + | > | ||
| + | > curve(dnorm(x, m.p, se), from = left, to = right, | ||
| + | + main = " | ||
| + | + ylab = " | ||
| + | > abline(v=m.p, col=" | ||
| + | > curve(dnorm(x, m.pe, se), from = left, to = right, | ||
| + | + main = " | ||
| + | + ylab = " | ||
| + | > abline(v=m.p+e, | ||
| + | > abline(v=m.p+flag, col=' | ||
| + | > abline(v=m.p-flag, col=' | ||
| + | > | ||
| + | > c(m.p+flag, m.p, m.p-flag) | ||
| + | [1] 133.6754 140.0000 146.3246 | ||
| + | > c((m.p+e)-se*2, | ||
| + | [1] 123.6754 130.0000 136.3246 | ||
| + | > q.05 <- (m.p)+flag | ||
| + | > q.05 | ||
| + | [1] 133.6754 | ||
| + | > if(m.pe < m.p+flag) { | ||
| + | + p.out <- 1 - pnorm(q.05, m.pe, se) | ||
| + | + } else { | ||
| + | + p.out <- pnorm(q.05, m.pe, se) | ||
| + | + } | ||
| + | > p.out | ||
| + | [1] 0.1225613 | ||
| + | > | ||
| + | > yrng <- (dnorm(m.p, m.p, se)) | ||
| + | > yrng | ||
| + | [1] 0.1261566 | ||
| + | > text(x=q.05, y=yrng/2, labels=paste(" | ||
| + | + ' | ||
| + | + ' | ||
| + | + ' | ||
| + | + pos = 4, col=' | ||
| > | > | ||
| </ | </ | ||
| + | </ | ||
| + | {{pasted: | ||
| + | n=40 샘플의 점수가 붉은 색 점선 사이에서 나오게 되면 가설검증에 실패하게 된다. 이 때 범할 수 있는 오류는 type ii error이다. 이 때 범할 수 있는 에러를 파란 색의 효과가 있는 모집단에 비교해서 생각하면 그 probability는 | ||
| + | * '' | ||
| + | 가 된다. 즉, 내가 얻은 점수가 p2 집단에서 나왔을 확률이 12.3%나 된다는 뜻이다. 이것은 내 판단이 (가설검증에 실패한다는 판단이) 잘못일 확률이 12.3%라는 뜻이다. | ||
| - | 아래의 qt 펑션 이해를 위해서는 [[https:// | + | {{pasted:20260420-042902.png}} |
| - | < | + | 위의 그래프는 n = 40에서 n = 400으로 늘린 것이다. 이 때 가설 |
| - | > abs(qt(0.05/2, 24)) | + | |
| - | [1] 2.063899 | + | |
| - | </ | + | |
| - | 즉, +-2.063899 이상이 되어야지 영가설을 부정할 수 있는데, 현재의 t-score는 -1.5이므로 영가설을 | + | |
| - | se 값을 | + | |
| - | < | + | |
| - | > 20/ | + | |
| - | [1] 4 | + | |
| - | </ | + | |
| - | < | + | {{pasted: |
| - | potato_sample_large <- rnorm2(2500, 194,20) | + | 극단적으로 샘플의 크기가 10이라면 이 때의 se값이 상대적으로 크므로 |
| - | 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: | + | |
| - | | + | |
| - | sample estimates: | + | |
| - | mean of x | + | |
| - | 194 | + | |
| - | </ | + | |
| - | < | + | |
| - | > abs(qt(0.05/ | + | |
| - | [1] 1.960914 | + | |
| - | </ | + | |
| - | 위의 | + | |
| - | < | + | |
| - | > # standard error value | + | |
| - | > 20/ | + | |
| - | [1] 0.4 | + | |
| - | > | + | |
| - | </ | + | |
| - | <WRAP help> 위 둘의 se를 비교해 보라. 그리고, 이를 type I and type II error와 관련지어 설명하라 </ | + | ^ Table of \\ types of error ^^ Null Hypothesis(H0)가 |
| + | ^ ::: ^^ Valid/ | ||
| + | ^ Null Hypothesis | ||
| + | ^ ::: ^ Fail to reject \\ (부정에 실패) | ||
| - | mu = 200, sigma = 20 인 상황에서 a___ 뒤의 숫자가 샘플의 | + | 알파의 경우는 연구자가 정하는 방법으로 컨트롤할 수 있다. 그러나, 베타의 경우는 알파와 같은 방법을 사용할 수는 없다. 베타를 줄이는, 즉 영가설이 거짓으로 부정을 해야하는데 그렇게 하지 못하는 경우를 줄이는 방법으로 |
| + | |||
| + | < | ||
| + | < | ||
| - | < | ||
| - | > a100 <- rnorm(50000, | ||
| - | > a400 <- rnorm(50000, | ||
| - | > a900 <- rnorm(50000, | ||
| - | > a1600 <- rnorm(50000, | ||
| - | > a2500 <- rnorm(50000, | ||
| - | > a3600 <- rnorm(50000, | ||
| - | > a4900 <- rnrom(50000, | ||
| - | > a6400 <- rnorm(50000, | ||
| - | > a8100 <- rnorm(50000, | ||
| - | > 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, | ||
| - | > plot(pa100, col=rgb(.2, | ||
| - | > plot(pa400, col=rgb(.3, | ||
| - | > plot(pa900, col=rgb(.4, | ||
| - | > plot(pa1600, | ||
| - | > plot(pa2500, | ||
| - | > plot(pa3600, | ||
| - | > plot(pa4900, | ||
| - | > plot(pa6400, | ||
| - | > plot(pa8100, | ||
| - | </ | ||
| - | {{: | ||
| - | {{: | ||
| - | {{: | ||
| - | {{: | ||
| - | Where is my 194 (sample' | ||
| {{tag>" | {{tag>" | ||
types_of_error.1764108865.txt.gz · Last modified: by hkimscil
