User Tools

Site Tools


types_of_error

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
types_of_error [2025/11/25 22:14] hkimsciltypes_of_error [2026/04/21 22:13] (current) hkimscil
Line 8: Line 8:
 <imgcaption fig1|Types of error>{{ :pasted:20200501-173355.png?600}}</imgcaption>  <imgcaption fig1|Types of error>{{ :pasted:20200501-173355.png?600}}</imgcaption> 
 요약 요약
-  * black line(bl): $\overline{x}=0, \text{sd}=1$ 정규분포곡선 = 영가설 Null Hypothesis +  * black line(bl): $\overline{x}=0, \text{sd}=1$ 의 distribution of sample means 곡선 (샘플링분포) = 영가설 Null Hypothesis = z test의 경우 내 테스트점수가 z score로 +- 2 안에 있는지 확인하고자 한다. 내가 알고 있는 모집단에서 구한 샘플링분포이다. 
-  * red line(rl):  $\overline{x}=3, \text{sd}=1$ 정규분포곡선 = 연구가설 Alternative Hypothesis+  * red line(rl):  $\overline{x}=3, \text{sd}=1$ 정규분포곡선 = 연구가설 Alternative Hypothesis = 대개는 알수 없지만 효과를 알아보려고 하는 모집단의 평균을 갖는 샘플링분포이다. 여기서는 표준점수로 3점으로 나타난다. 현실에서는 거의 알아낼 수 없는 점수이다. 
   * green line: 가설테스트를 했을 때 영가설을 부정하게 되는 기준 (sd=2).   * green line: 가설테스트를 했을 때 영가설을 부정하게 되는 기준 (sd=2).
   * 노란색 부분: type I error   * 노란색 부분: type I error
Line 31: Line 31:
 {{tabembedded>:types_of_error:code01|R script, types_of_error:output01|R output}} {{tabembedded>:types_of_error:code01|R script, types_of_error:output01|R output}}
  
 +아래는 고등학교2년생들의 방학중 하루에 게임에 쓰는 시간을 분으로 가정한 것이다. 모집단의 (population) 평균은 (m.p) 140 분이고, 표준편차값은 20이다 (sigma). 그리고 미디어교육을 받은 모집단을 가정하여 (현실에서 이런 일은 거의 이러나지 않는다) 이 모집단의 평균이 140에서 10분을 뺀 130분이라고 가정한다 (m.pe). 이제 n = 40 인 샘플을 취하여 그 샘플에게 미디어교육을 시킨 후, 효과를 검증하려고 한다. 
  
 +<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) { 
 +  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/True  ^  Invalid/False  ^ +      main = "normalized distribution of sample means", 
-^ Null Hypothesis  \\ (H0)에 대한 판단  ^  Reject \\ (부정  B: \\ Type I error \\ (alpha  A: \\ 옳은 결정  | +      ylab = "Density", xlab = "z-value", col = "black", lwd = 2) 
-^ :::  ^  Fail to reject \\ (부정에 실패  C: \\ 옳은 결정  |  D: \\ Type II error \\ (beta |+abline(v=m.p, col="black", lwd=2) 
 +curve(dnorm(x, m.pe, se), from = left, to = right,  
 +      main = "normalized distribution of sample means", 
 +      ylab = "Density", xlab = "z-value", col = "blue", lwd = 2, add=T) 
 +abline(v=m.p+e, col="blue", lwd=2
 +abline(v=m.p+flag, col='red', lwd=2, lty=2) 
 +abline(v=m.p-flag, col='red', lwd=2, lty=2)
  
-알파의 경우는 연구자가 정하는 방법으로 컨트롤할 수 있다그러나베타의 경우는 알파와 같은 방법을 사용할 수는 없다베타를 줄이는즉 영가설이 거짓으로 부정을 해야하는데 그렇게 하지 못하는 경우를 줄이는 방법으로 상식보편적인 것은 샘플의 n을 키우는 것이다좀 더 설명하자면위의 그래프 <imgref fig1>에서 각각은 샘플링분포곡선을 의미하므로 각 라인의 표준편차는 표준오차를 의미한다표준오차가를 줄이게 되면 두 라인이 서로 겹쳐질 경우가 줄어들게 되고이는 곧 베타의 감소를 의미한다+c(m.p+flagm.pm.p-flag) 
 +c((m.p+e)-se*2m.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.pese) 
 +
 +p.out
  
-<imgcaption fig1|standard error = 1 일 경우>{{:pasted:20200501-173355.png?300}}</imgcaption>  +yrng <- (dnorm(m.p, m.p, se)) 
-<imgcaption fig2|standard error 0.5 일 경우회색부분이 생길 가능성이 거의 없다는 것에 주목하라.>{{:pasted:20200501-184558.png?300}}</imgcaption> +yrng 
 +text(x=q.05, y=yrng/2, labels=paste("decision line =",  
 +                                    '\n', round(q.05,6), 
 +                                    '\n', "p-value (reference to",  
 +                                    '\n', "130) =", round(p.out,6)),  
 +     pos = 4, col='red')
  
  
-====== E.G====== +</code> 
- +<tabbox ro.type.ii.error>
-이는 아래를 보면 더 확연해진다 +
 <code> <code>
-rnorm2 <- function(n,mean,sd) { mean+sd*scale(rnorm(n)) } +> m.p <- 140 
-potato_sample <- rnorm2(25194,20+> sigma <- 20 
-mean(potato_sample+> e <- -10 
-sqrt(var(potato_sample)) +> m.pe <- m.p+e 
- +> n <- 40 
-t.test(potato_samplemu=200+> se <- sigma / sqrt(n
- +> paste(m.psigmam.p+e, n, se) 
- One Sample t-test +[1] "140 20 130 40 3.16227766016838" 
- +>  
-data:  potato_sample +> if(m.p>m.pe
-t = -1.5df = 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: ++   left <- m.p-se*3 
-mean of x  ++   right <- m.pe+se*3 
-      194 ++   flag <- 2*se 
 ++ } 
 +>  
 +> curve(dnorm(xm.pse), from = left, to = right,  
 ++       main = "normalized distribution of sample means", 
 ++       ylab = "Density", xlab = "z-value", col = "black", lwd = 2) 
 +> abline(v=m.p, col="black", lwd=2
 +> curve(dnorm(x, m.pe, se), from = left, to = right,  
 ++       main = "normalized distribution of sample means", 
 ++       ylab = "Density", xlab = "z-value", col = "blue", lwd = 2, add=T
 +> abline(v=m.p+e, col="blue", lwd=2) 
 +> abline(v=m.p+flag, col='red', lwd=2, lty=2) 
 +> abline(v=m.p-flagcol='red', lwd=2, lty=2
 + 
 +> c(m.p+flag, m.p, m.p-flag) 
 +[1] 133.6754 140.0000 146.3246 
 +> c((m.p+e)-se*2, m.p+e, (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.05m.pese) 
 ++ } 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("decision line =",  
 ++                                     '\n', round(q.05,6), 
 ++                                     '\n', "p-value (reference to",  
 ++                                     '\n', "130) =", round(p.out,6)),  
 +     pos = 4, col='red')
 > >
 </code> </code>
 +</tabbox>
 +{{pasted:20260420-042828.png}}
 +n=40 샘플의 점수가 붉은 색 점선 사이에서 나오게 되면 가설검증에 실패하게 된다. 이 때 범할 수 있는 오류는 type ii error이다. 이 때 범할 수 있는 에러를 파란 색의 효과가 있는 모집단에 비교해서 생각하면 그 probability는 
 +  * ''pnorm(검증에실패하는점수, 130, se, lower.tail=F) = 0.123''
 +가 된다. 즉, 내가 얻은 점수가 p2 집단에서 나왔을 확률이 12.3%나 된다는 뜻이다. 이것은 내 판단이 (가설검증에 실패한다는 판단이) 잘못일 확률이 12.3%라는 뜻이다. 
  
-아래의 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 문서]] 참조 +{{pasted:20260420-042902.png}} 
-<code>       +의 그래프는 n = 40에서 n = 400으로 늘린 것이다. 이 때 가설 검증에 실패하는 구간을 정해놓고 내가 구한 샘플의 평균이 그 간에 속더라도, 이 점수가 p2에서 나왔을 확률이 0이 다. 즉, 내가 내린 "가설검증 실패"라는 판단이 잘 못일 확률이 0이라는 뜻이다
-> abs(qt(0.05/2, 24)) +
-[1] 2.063899 +
-</code>       +
-즉, +-2.063899 이상이 되어야지 영가설을 부정할 수 있는데, 현재의 t-score는 -1.5므로 영가설을 할 수 없는 상태다.  +
-se 값을 구하는 공식으로 sqrt(25)=5 니 se = 20/5 = 4 이다. 만약에 n값이 (샘플사즈) 2500 이라면 se값은 0.4일 것이다 (아래 참조) +
-<code>       +
-> 20/sqrt(length(potato_sample)) +
-[1] 4 +
-</code>+
  
-<code> +{{pasted:20260420-043927.png}} 
-potato_sample_large <- rnorm2(2500, 194,20+극단적으로 샘플의 크기가 10이라면 이 때의 se값이 상대적으로 크므로 (20/sqrt(10)) 두 그래프는 더욱 많이 겹치게 된다이럴 경우가설 검증에서 실패하여도, 그 점수가 p2에서 나왔을 확률은 33.7% 나 된다.
-mean(potato_sample_large) +
-[1] 194 +
-sqrt(var(potato_sample_large)) +
-[1]   20 +
-t.test(potato_sample_largemu=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  +
-</code> +
-<code> +
-> abs(qt(0.05/2, 2499)) +
-[1] 1.960914 +
-</code> +
-위의 경우 critical t value는 +-1.960914 (approx. 2)면 영가을 부정할 수 있는데, calculated t value는 -15므로 부정할 수 있다. +
-<code> +
-> # standard error value  +
-> 20/sqrt(length(potato_sample_large)) +
-[1] 0.4 +
->  +
-</code>+
  
-<WRAP help> 위 둘의 se를 비교해 보라. 그리고, 이를 type and type II error와 관련지어 설명하라 </WRAP>+^  Table of \\ types of error  ^^  Null Hypothesis(H0)가  ^^ 
 +^  :::  ^^  Valid/True  ^  Invalid/False 
 +^ Null Hypothesis  \\ (H0)에 대한 판단  ^  Reject \\ (부정)  |  B: \\ Type error \\ (alpha)  |  A: \\ 옳은 결정 
 +^ :::  ^  Fail to reject \\ (부정에 실패)  |  C: \\ 옳은 결정  |  D: \\ Type II error \\ (beta)  |
  
-mu = 200sigma = 20 인 황에서 a___ 뒤의 가 샘플의 크기라고 하면, +알파의 경우는 연구자가 정하는 방법으로 컨트롤할 수 있다. 그러나베타의 경우는 알파와 같은 방법을 사용할 수는 없다. 베타를 줄이는, 즉 영가설이 거짓으로 부정을 해야하는데 그렇게 하지 못하는 경우를 줄이는 방법으로 식, 보편적인 것은 샘플의 n을 키우는 것이다. 좀 더 설명하면, 위의 그래프 <imgref fig1>에서 각각은 샘플링분포곡선을 므로 각 라인의 표준편차는 표준오차를 의미한다. 표준오차가를 줄이게 되면 두 라인이 서로 겹쳐질 경우가 줄어들게 되고이는 곧 베타의 감소를 의미한다.  
 + 
 +<imgcaption fig1|standard error = 1 일 경우>{{:pasted:20200501-173355.png?300}}</imgcaption>  
 +<imgcaption fig2|standard error = 0.5 일 경우. 회색부분이 생길 가능성이 거의 없다는 것에 주목하라.>{{:pasted:20200501-184558.png?300}}</imgcaption> 
  
-<code>> 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) 
-</code> 
  
-{{: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"}} {{tag>"1종오류" "2종오류" "오류의 종류" "types of error" "type 1 error" "type 2 error"}}
types_of_error.1764108865.txt.gz · Last modified: by hkimscil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki