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 [2023/11/21 11:49] – [Types of error] hkimscil | types_of_error [2026/04/21 22:13] (current) – hkimscil | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| {{description> | {{description> | ||
| {{keywords> | {{keywords> | ||
| + | |||
| + | 이 예는 감자의 예랑은 방향이 달라서 안 맞으므로 머리가 좋아지는 약 혹은 XR을 이용해서 공부하는 방법으로 통계점수가 달라지는 가설을 생각한다. 모집단의 평균은 0이고 샘플사이즈에 따른 표준오차는 1 이 되는데, 내 샘플의 평균이 어디선가 발견되는 순간이다 (see [[: | ||
| + | |||
| + | |||
| ====== Types of error ====== | ====== Types of error ====== | ||
| < | < | ||
| 요약 | 요약 | ||
| - | * 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 25: | Line 29: | ||
| 그러나, 만약에 //샘플의 평균이 회색 부분의 선에서 나타났다면//, | 그러나, 만약에 //샘플의 평균이 회색 부분의 선에서 나타났다면//, | ||
| - | 위의 설명은 아래 표와 같이 정리할 수 있다. | + | {{tabembedded>: |
| - | ^ Table of \\ types of error ^^ Null Hypothesis(H0)가 | + | 아래는 고등학교2년생들의 방학중 하루에 게임에 쓰는 시간을 분으로 가정한 것이다. 모집단의 (population) 평균은 |
| - | ^ ::: ^^ Valid/ | + | |
| - | ^ Null Hypothesis | + | |
| - | ^ ::: ^ Fail to reject \\ (부정에 실패) | C: \\ 옳은 결정 | + | |
| - | 알파의 경우는 연구자가 정하는 방법으로 컨트롤할 수 있다. 그러나, 베타의 경우는 알파와 같은 방법을 사용할 수는 없다. 베타를 줄이는, 즉 영가설이 거짓으로 부정을 해야하는데 그렇게 하지 못하는 경우를 줄이는 방법으로 상식, 보편적인 것은 샘플의 n을 키우는 것이다. 좀 더 설명하자면, | + | <tabbox rs.type.ii.error> |
| + | <code> | ||
| + | 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) { |
| - | <imgcaption fig2|standard error = 0.5 일 경우. 회색부분이 생길 가능성이 거의 없다는 것에 주목하라.>{{: | + | left <- m.p+se*3 |
| + | | ||
| + | flag <- -2*se | ||
| + | } else { | ||
| + | left <- m.p-se*3 | ||
| + | right <- m.pe+se*3 | ||
| + | flag <- 2*se | ||
| + | } | ||
| + | curve(dnorm(x, | ||
| + | main = " | ||
| + | ylab = " | ||
| + | abline(v=m.p, | ||
| + | curve(dnorm(x, | ||
| + | main = " | ||
| + | ylab = " | ||
| + | abline(v=m.p+e, | ||
| + | abline(v=m.p+flag, | ||
| + | abline(v=m.p-flag, | ||
| - | ====== E.G. ====== | + | c(m.p+flag, m.p, m.p-flag) |
| + | c((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 | ||
| - | 이는 아래를 보면 더 확연해진다. | + | yrng <- (dnorm(m.p, m.p, se)) |
| + | yrng | ||
| + | text(x=q.05, | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | pos = 4, col=' | ||
| + | |||
| + | </ | ||
| + | <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.1700567351.txt.gz · Last modified: by hkimscil
