통계

7.2 Confidence Intervals for the Difference of Two Means

VirtualJin 2025. 1. 3. 13:03

* 본 블로그 포스트에서 사용된 표, 이미지 및 기타 관련 자료는 "PROBABILITY AND STATISTICAL INFERENCE 9th Edition"에서 발췌한 것입니다. 이 자료들은 내용을 요약하고 이해를 돕기 위한 참고용으로 제공됩니다. 또한, 해석 과정에서 일부 오류가 있을 수 있으니 원본을 참고하여 확인하시기 바랍니다

 

1. 이론 정리
 1) 두 평균 차에 대한 정의(Definition)  
   (1) 정의  
     a) 서로 다른 두 모집단에서 관심 있는 모집단 평균을 각각  
     
     \[
       \mu_1,\quad \mu_2
     \]
     
     라고 하자. 이때 우리가 알고자 하는 값은  
     
     \[
       \mu_1 - \mu_2
     \]
     
     의 크기이다. 흔히 이것을 “두 모집단 평균 차”라고 부른다.  
       (a) 예를 들어, 특정 약물 처리군의 평균 혈압 변화 \(\mu_1\)와 위약 대조군의 평균 혈압 변화 \(\mu_2\)가 있을 때, 두 군 간 평균 차 \(\mu_1 - \mu_2\)를 구간 추정하는 상황을 생각할 수 있다.  
       (b) 교육 방법 A와 B가 있을 때, 학생들의 평균 시험 성적을 각각 \(\mu_1\), \(\mu_2\)라 하면, 그 차이 \(\mu_1 - \mu_2\)에 대한 신뢰구간을 설정하여 어느 방법이 더 효과적인지, 그리고 그 차이가 얼마나 큰지를 추정할 수 있다.  

 2) 두 평균 차의 추정에서 중요한 가정(조건)  
   (1) 독립 표본(independent samples) 가정  
     a) 두 모집단에서 각각 추출된 표본이 서로 독립적이어야 한다. 예를 들어, 표본 1이 임의 추출되고 난 뒤 표본 2가 별도의 독립적 절차로 추출되는 경우 등을 말한다.  
       (a) 독립 표본이 아닐 때(예: 짝지어진 자료, 대응표본 등)에는 다른 방식(예: 대응표본 t-검정에서 쓰이는 신뢰구간)으로 접근해야 한다.  
   (2) 분산에 대한 정보  
     a) 모집단 분산(또는 표준편차)을 알고 있는 경우(상대적으로 드묾)에는 정규분포의 \(Z\)-값을 사용하여 신뢰구간을 구한다.  
     b) 일반적으로 분산을 모를 때는 표본분산으로 추정해야 하며, 그 과정에서 등분산 가정 여부에 따라 공식이 달라진다.  
       (a) 등분산 가정 시: 공통 분산 추정량 \(S_p^2\) 사용  
       (b) 이분산 가정 시: Welch 방법 등을 적용하여 자유도(d.f.)를 근사한다.  

 3) 두 평균 차에 대한 신뢰구간(Theorem)  
   (1) 등분산 가정 시(unknown but common variance \(\sigma^2\))  
     a) 표본 1과 표본 2의 크기를 각각 \(n_1, n_2\), 표본평균을 각각 \(\bar{X}_1, \bar{X}_2\), 표본분산을 각각 \(S_1^2, S_2^2\)라 하자. 모집단 분산이 동일하다고 가정하면(등분산), 공통분산의 추정량 \(S_p^2\)는 아래와 같이 정의한다.  
       
       \[
         S_p^2 \;=\; \frac{(n_1 - 1)S_1^2 + (n_2 - 1)S_2^2}{n_1 + n_2 - 2}.
       \]
       
       (a) 이때, 두 모집단이 정규분포임을 가정하거나, 또는 표본크기가 충분히 커서 중심극한정리로 근사 가능하다고 보면, 다음의 신뢰구간을 얻게 된다.  
       
       \[
         (\bar{X}_1 - \bar{X}_2) \;\pm\; t_{\alpha/2,\, (n_1 + n_2 - 2)} \;\sqrt{\,S_p^2\,\biggl(\frac{1}{n_1} + \frac{1}{n_2}\biggr)}.
       \]
       
       (b) 여기서 \(t_{\alpha/2,\,(n_1 + n_2 - 2)}\)는 자유도 \(n_1 + n_2 - 2\)를 갖는 \(t\)-분포에서 상위 \(\alpha/2\) 위치의 임계값이다(양측 100\(\times\)(1 - \(\alpha\))% 신뢰수준).  
       (c) 증명(스케치): 두 표본이 정규분포를 따르고, 분산이 같다고 할 때, 
         
         \[
           T \;=\; \frac{(\bar{X}_1 - \bar{X}_2) - (\mu_1 - \mu_2)}{S_p\,\sqrt{\frac{1}{n_1}+\frac{1}{n_2}}}
         \]
         
         가 자유도 \(n_1 + n_2 - 2\)인 \(t\)-분포를 따른다는 점에 근거한다.  
       (d) 따라서, 
         
         \[
           P\!\Biggl(\,-t_{\alpha/2} \;\le\; T \;\le\; t_{\alpha/2}\Biggr) \;=\; 1 - \alpha
         \]
         
         로부터 위 식의 구간을 도출한다.  
   (2) 이분산 가정 시(unknown and unequal variances \(\sigma_1^2\neq \sigma_2^2\))  
     a) 등분산을 가정할 근거가 없을 경우, 각 표본분산을 그대로 사용한다. 즉,  
       
       \[
         (\bar{X}_1 - \bar{X}_2) \;\pm\; t_{\alpha/2,\, \nu} \;\sqrt{\frac{S_1^2}{n_1} + \frac{S_2^2}{n_2}},
       \]
       
       (a) 여기서 \(\nu\)는 Welch–Satterthwaite 식으로 근사한 자유도이다. 보통 교재에서 7.2절(혹은 유사 단원)에 아래처럼 표현된다.  
         
         \[
           \nu \;\approx\; \frac{\Bigl(\frac{S_1^2}{n_1} + \frac{S_2^2}{n_2}\Bigr)^2}{\frac{(S_1^2/n_1)^2}{n_1 - 1} \;+\; \frac{(S_2^2/n_2)^2}{n_2 - 1}}.
         \]
         
       (b) 증명(스케치): 등분산이 아닌 경우에도, 정규성(또는 표본 수가 큰 경우 중심극한정리) 하에서 \(\bar{X}_1 - \bar{X}_2\)의 분산은 \(\sigma_1^2/n_1 + \sigma_2^2/n_2\)로 근사되므로, 이를 \(S_1^2, S_2^2\)로 치환해 추정치를 만들고, 그에 대응되는 자유도를 근사적으로 구하여 \(t\)-분포에 접근시킨다.  

 4) 보조정리(Corollary): 모집단 분산을 “알고” 있을 경우  
   (1) 매우 드문 케이스이긴 하지만, \(\sigma_1^2\), \(\sigma_2^2\)를 알고 있다고 하면,  
     
     \[
       Z \;=\; \frac{(\bar{X}_1 - \bar{X}_2) - (\mu_1 - \mu_2)}{\sqrt{\frac{\sigma_1^2}{n_1} + \frac{\sigma_2^2}{n_2}}}
     \]
     
     는 표준정규분포를 따른다. 따라서 두 평균 차에 대한 신뢰구간은  
     
     \[
       (\bar{X}_1 - \bar{X}_2) \;\pm\; z_{\alpha/2}\,\sqrt{\frac{\sigma_1^2}{n_1} + \frac{\sigma_2^2}{n_2}}
     \]
     
     가 된다(여기서 \(z_{\alpha/2}\)는 표준정규분포의 임계값). 증명은 동일한 접근(고정된 분산값 사용)으로 간단히 보일 수 있다.  

2. 예제  

 1) 문제
   (1) 문제1  
     a) 쿠키 A, B 두 종류에서 지방 함유량 차이를 알아보고자 한다. 쿠키 A에서 무작위 10개(\(n_1=10\)), B에서 무작위 10개(\(n_2=10\))를 뽑아 지방 함유량(단위: %)을 측정했다. 표본평균은 각각 \(\bar{X}_1 = 74\), \(\bar{X}_2 = 70\), 표본분산은 각각 \(S_1^2 = 25\), \(S_2^2 = 20\)였다. 두 모집단 분산이 같다고 볼 만한 사전 근거가 있다고 하자. 유의수준 5%에서 두 평균 차( A - B )에 대한 95% 신뢰구간을 구하라.  
   (2) 문제2  
     a) 신약군(n=12)과 기존군(n=15)의 평균 혈압 감소량 차이를 보고자 한다. 신약군 표본평균은 8.2, 분산은 4.2, 기존군 표본평균은 6.8, 분산은 5.0이다. 분산이 서로 다르다고 가정하고, 90% 신뢰구간을 구하라.  
   (3) 문제3  
     a) 두 대학교의 평균 졸업률 차이를 분석하려고 한다. 첫 번째 대학 표본크기 \(n_1=30\), 표본평균 82%, 표본분산 16, 두 번째 대학 표본크기 \(n_2=25\), 표본평균 78%, 표본분산 20이다. 등분산 가정이 애매하므로, 이분산 가정(Welch 접근)으로 95% 신뢰구간을 구하라.  

 2) 답안  
   (1) 풀이
     a) 등분산 가정  
       (a) 먼저 공통분산추정량 \(S_p^2\)을 구한다.  
         
         \[
           S_p^2 \;=\; \frac{(n_1 - 1)S_1^2 + (n_2 - 1)S_2^2}{n_1 + n_2 - 2}
           \;=\; \frac{(10-1)\times 25 \;+\;(10-1)\times 20}{10 + 10 - 2}.
         \]
         
         i) 분자: \((9\times 25) + (9\times 20) = 225 + 180 = 405\).  
         ii) 분모: \(10 + 10 - 2 = 18\).  
         iii) 따라서  
           
           \[
             S_p^2 \;=\; \frac{405}{18} \;=\; 22.5,
             \quad
             S_p \;=\; \sqrt{22.5}\;\approx\;4.7434.
           \]
           
       (b) 신뢰구간 공식  
         
         \[
           (\bar{X}_1 - \bar{X}_2)\;\pm\; t_{0.025,\,(n_1 + n_2 -2)} \;\, S_p \,\sqrt{\frac{1}{n_1} + \frac{1}{n_2}}.
         \]
         
         i) \(\bar{X}_1 - \bar{X}_2 = 74 - 70 = 4\).  
         ii) 자유도 \(df = 10 + 10 - 2 = 18\).  
         iii) 유의수준 \(\alpha=0.05\) 이므로, \(t_{0.025,\;18}\approx2.101\) (통계표 또는 소프트웨어 참조).  
         iv) 표준오차(SE) 부분은  
           
           \[
             S_p\sqrt{\frac{1}{10} + \frac{1}{10}}
             \;=\; 4.7434 \,\times\, \sqrt{0.1 + 0.1}
             \;=\; 4.7434 \,\times\, \sqrt{0.2}
             \;\approx\; 4.7434 \,\times\, 0.4472
             \;\approx\; 2.121.
           \]
           
         v) 따라서 신뢰구간은  
           
           \[
             4 \;\pm\; 2.101 \times 2.121
             \;=\; 4 \;\pm\; 4.45
             \;=\; (-0.45,\; 8.45).
           \]
           
   (2) 풀이
     a) 표본크기: \(n_1=12,\,n_2=15\). 표본평균 차: \(8.2 - 6.8 = 1.4\). 표본분산: \(S_1^2=4.2,\,S_2^2=5.0\).  
       (a) 표준오차(SE)는  
         
         \[
           \sqrt{\frac{4.2}{12} + \frac{5.0}{15}}
           \;=\;\sqrt{0.35 + 0.3333}
           \;=\;\sqrt{0.6833}
           \;\approx\;0.8265.
         \]
         
       (b) Welch의 자유도 근사 \(\nu\)는  
         
         \[
           \nu \;\approx\; \frac{\Bigl(\frac{4.2}{12} + \frac{5.0}{15}\Bigr)^2}{\frac{(4.2/12)^2}{12-1} \;+\;\frac{(5.0/15)^2}{15-1}}
           \;\approx\; 23 \quad(\text{소수점 아래 생략})
         \]
         
         (실제 계산 과정에서 정확도는 달라질 수 있으나, 대략 23 근처로 가정).  
       (c) 90% 신뢰구간에서 \(\alpha=0.1\), 즉 \(\alpha/2=0.05\).  
         i) \(t_{0.05,\;\nu\approx23}\approx1.714\).  
       (d) 구간:  
         
         \[
           1.4 \;\pm\; 1.714 \times 0.8265
           \;=\; 1.4 \;\pm\; 1.418
           \;=\; (-0.018,\; 2.818).
         \]
         
   (3) 풀이
     a) 첫 대학 표본평균 \(\bar{X}_1=82\), 분산 \(S_1^2=16\), 크기 \(n_1=30\). 두 번째 대학 \(\bar{X}_2=78\), 분산 \(S_2^2=20\), 크기 \(n_2=25\).  
       (a) 평균 차: \(82 - 78 = 4\). 표준오차(SE):  
         
         \[
           \sqrt{\frac{16}{30} + \frac{20}{25}}
           = \sqrt{0.5333 + 0.8}
           = \sqrt{1.3333}
           \approx 1.155.
         \]
         
       (b) 자유도 \(\nu\) 근사는 위 공식을 통해 계산(여기서 세부 수치는 생략 없이 전개 가능). 예를 들면,  
         
         \[
           \nu \;\approx\; \frac{(0.5333 + 0.8)^2}{\frac{(0.5333)^2}{30-1} + \frac{(0.8)^2}{25-1}}
           \;\approx\; 45\quad(\text{대략}).
         \]
         
       (c) 95% 신뢰수준에서 \(t_{0.025,\;\nu\approx45}\approx2.014\).  
       (d) 따라서 신뢰구간은  
         
         \[
           4 \;\pm\; 2.014 \times 1.155
           = 4 \;\pm\; 2.326
           = (1.674,\; 6.326).
         \]
         

3. 연습문제  

 1) 문제(연습문제)  
   (1) 문제1  
     a) 음료 캔 생산 라인 A(n=12)와 B(n=10)에서 각각 무작위 표본을 뽑았을 때, A의 표본평균이 350.2g, 표본분산이 1.5, B의 표본평균이 349.6g, 표본분산이 1.8이라고 하자. 분포가 정규라고 가정하고, 두 모집단의 분산이 같다고 볼 만한 근거가 있을 경우(등분산 가정), 유의수준 5%(즉 95% 신뢰구간)에서 두 평균 차(A - B)를 추정하라.
   (2) 문제2  
     a) 새로운 교육과정(실험집단, n=20)과 기존 교육과정(통제집단, n=15)의 평균 성적 차이를 알아보려고 한다. 각 집단의 표본평균이 82와 78로 관측되었고, 표본분산이 각각 36, 49라고 하자. 두 집단의 분산이 같지 않다고 보고(이분산 가정), 유의수준 10%(즉 90% 신뢰구간)에서 실험집단 - 통제집단의 평균 차를 추정하라.  
   (3) 문제3  
     a) 공장 A와 B에서 생산된 동일 부품의 내구성을 조사한다. 공장 A에서는 25개(n=25), 표본평균 105, 표본분산 81, 공장 B에서는 25개(n=25), 표본평균 100, 표본분산 95라 하자. 정규성 가정은 타당하지만, 등분산 가정이 어려우므로 이분산(Welch) 접근을 사용하고, 유의수준 1%(99% 신뢰구간)에서 A-B 평균 차를 추정하라.

 2) 답안
   (1) 풀이: 등분산 가정  
     a) 공통분산추정량 \(S_p^2\)을 다음과 같이 구한다.  
     \[
       S_p^2 
       = \frac{(n_1 - 1)S_1^2 + (n_2 - 1)S_2^2}{n_1 + n_2 - 2}.
     \]  
     여기서  
     \[
       n_1 = 12,\quad n_2 = 10,\quad S_1^2 = 1.5,\quad S_2^2 = 1.8.
     \]  

     구체적으로 계산하면  
     \[
       (n_1 - 1)S_1^2 = 11 \times 1.5 = 16.5, \quad
       (n_2 - 1)S_2^2 = 9 \times 1.8 = 16.2.
     \]  
     따라서  
     \[
       S_p^2 
       = \frac{16.5 + 16.2}{12 + 10 - 2}
       = \frac{32.7}{20}
       = 1.635, 
       \quad
       S_p = \sqrt{1.635} \approx 1.278.
     \]  

     b) 표본평균 차이는  
     \[
       \bar{X}_A - \bar{X}_B 
       = 350.2 - 349.6 
       = 0.6.
     \]  

     c) 신뢰구간은 다음 공식을 쓴다(등분산 t-구간):  
     \[
       (\bar{X}_A - \bar{X}_B)
       \;\pm\;
       t_{\alpha/2,\;(n_1+n_2-2)}
       \;\;
       S_p \,\sqrt{\frac{1}{n_1} + \frac{1}{n_2}}.
     \]

     - 자유도:  
       \[
         df = n_1 + n_2 - 2 = 12 + 10 - 2 = 20.
       \]  
     - 유의수준 \(\alpha = 0.05\) 이므로, 95% 신뢰구간에서 \(t_{0.025,\,20}\)는 약 2.086 (또는 2.09 근처, 표나 소프트웨어에 따라 약간 다를 수 있음).  
     - 표준오차(standard error)는  
       \[
         S_p \,\sqrt{\frac{1}{12} + \frac{1}{10}}
         \;\approx\;
         1.278 \,\times\, \sqrt{0.0833 + 0.1}
         \;\approx\;
         1.278 \,\times\, \sqrt{0.1833}
         \;\approx\;
         1.278 \,\times\, 0.428
         \;\approx\; 0.548.
       \]  

     d) 최종 신뢰구간 계산:  
     \[
       0.6 \;\pm\; 2.086 \times 0.548
       \;\approx\;
       0.6 \;\pm\; 1.14
       \;=\;
       (-0.54,\; 1.74).
     \]  
     즉, 약 \((-0.54,\; 1.74)\)가 95% 신뢰구간이 된다(표준오차·임계값·반올림 등에 따라 약간의 차이는 있을 수 있음).  

(2) 풀이: 등분산 가정     

     a) 표본크기  
       \[
         n_1 = 20, \quad n_2 = 15.
       \]  
       표본평균 차:  
       \[
         \bar{X}_1 - \bar{X}_2 = 82 - 78 = 4.
       \]  
       표본분산:  
       \[
         S_1^2 = 36, \quad S_2^2 = 49.
       \]  

     b) 표준오차(standard error)는 이분산 가정하에  
       \[
         \sqrt{\frac{S_1^2}{n_1} + \frac{S_2^2}{n_2}}
         = \sqrt{\frac{36}{20} + \frac{49}{15}}.
       \]  
       구체적으로,  
       \[
         \frac{36}{20} = 1.8,
         \quad
         \frac{49}{15} \approx 3.2667.
       \]  
       따라서 합은 \(1.8 + 3.2667 = 5.0667\),  
       \[
         SE = \sqrt{5.0667} \approx 2.2536.
       \]  

     c) Welch 근사 자유도 \(\nu\)는 아래 공식으로 계산:  
       \[
         \nu 
         \;\approx\;
         \frac{\Bigl(\frac{36}{20} + \frac{49}{15}\Bigr)^2}
              {\frac{(36/20)^2}{n_1 - 1} + \frac{(49/15)^2}{n_2 - 1}}.
       \]  
       실제로 대입하면  
       \[
         (36/20)^2 = 1.8^2 = 3.24,
         \quad
         (49/15)^2 \approx 3.2667^2 = 10.68\ (\text{약}).
       \]  
       분모 부분 등에 따라 실제 계산값은 조금 복잡하지만, 대략 \(\nu\)가 20 전후로 나올 수 있다. (정확히 해 보면 보통 17~22 사이 정도가 될 수 있음)  

     d) 90% 신뢰구간(\(\alpha=0.1\))에서 상·하단 꼬리는 각각 5%(0.05). 즉 \(t_{0.05,\nu}\)를 찾는다. \(\nu\)가 20 근처라면 \(t_{0.05,\;20}\approx1.725\) 정도. (본 예시에서는 \(\nu\)가 정확히 몇이 나오는지에 따라 1.7~1.73 사이일 것이다.)  

     e) 최종 신뢰구간은  
       \[
         (\bar{X}_1 - \bar{X}_2) \;\pm\; t_{0.05,\nu} \times SE
         = 4 \;\pm\; 1.72\ (\text{가정}) \times 2.2536.
       \]  
       \[
         1.72 \times 2.2536 \approx 3.877.
       \]  
       따라서 구간은 대략  
       \[
         4 \;\pm\; 3.88 
         = (\,0.12,\; 7.88\,).
       \]  
       (임계값 1.72 부분이나 자유도 근사에 따라 약간씩 달라짐)  

     - 실제로 조금 더 정밀 계산하면 \(\nu\)가 18~19 정도일 수 있고, \(t\)값이 1.73 근처가 될 수도 있다. 그럴 경우 구간 폭이 조금 달라진다.  

(3) 풀이  

   (a) 표본평균 차:  
     \[
       \bar{X}_A - \bar{X}_B = 105 - 100 = 5.
     \]  
   (b) 분산이 서로 다르다고 가정하므로, 표준오차는  
     \[
       \sqrt{\frac{81}{25} + \frac{95}{25}}
       = \sqrt{3.24 + 3.8}
       = \sqrt{7.04}
       \approx 2.655.
     \]  

   (c) Welch 자유도 근사:  
     \[
       \nu 
       \approx
       \frac{\bigl(\frac{81}{25} + \frac{95}{25}\bigr)^2}
            {\frac{(\frac{81}{25})^2}{25 - 1} + \frac{(\frac{95}{25})^2}{25 - 1}}
       \;=\;
       \frac{(3.24 + 3.8)^2}{\frac{(3.24)^2}{24} + \frac{(3.8)^2}{24}}.
     \]  
     대략 (3.24 + 3.8 = 7.04, 제곱=49.56), (3.24^2=10.4976, (3.8)^2=14.44). 분모에 각각을 24로 나누어 더하면 근사값이 나오는데, 실제 계산 시 \(\nu\approx 40\sim45\) 근방이 될 수 있다.  

   (d) 99% 신뢰수준 \(\alpha=0.01\)이므로, 양쪽 꼬리 각각 0.005, 즉 \(t_{0.005,\nu}\)를 찾는다. \(\nu\)가 40~45 근처라면 보통 2.70 전후(2.68~2.71 사이). 예컨대 \(\nu=42\)일 때 \(t_{0.005,\,42}\approx2.70\).  

   (e) 최종 구간은  
     \[
       5 \;\pm\; 2.70 \times 2.655
       = 5 \;\pm\; 7.169
       = (\,-2.169,\; 12.169\,).
     \]  
     즉 대략 \((-2.17,\; 12.17)\) 정도가 99% 신뢰구간이다(정확 자유도 계산, t값, 반올림에 따라 조금 달라질 수 있음).  

# R code
# 문제 1
 nA <- 12
 nB <- 10
 xbarA <- 350.2
 sA2 <- 1.5
 xbarB <- 349.6
 sB2 <- 1.8

 Sp <- sqrt( ((nA-1)*sA2 + (nB-1)*sB2 )/(nA+nB-2) ) 

 alpha <- 0.05
 df <- nA + nB - 2
 t_val <- qt(1 - alpha/2, df)

 est_diff <- xbarA - xbarB
 se <- Sp * sqrt(1/nA + 1/nB)

 CI_lower <- est_diff - t_val*se
 CI_upper <- est_diff + t_val*se

 CI_lower
 CI_upper
 
 # 문제 2
n1 <- 20
n2 <- 15
xbar1 <- 82
xbar2 <- 78
s1_sq <- 36  # S1^2
s2_sq <- 49  # S2^2

alpha <- 0.10

# 평균 차
est_diff <- xbar1 - xbar2

# 표준오차(SE) - Welch
SE <- sqrt(s1_sq / n1 + s2_sq / n2)

# Welch 자유도 근사
num <- (s1_sq / n1 + s2_sq / n2)^2
den <- ( (s1_sq / n1)^2 / (n1 - 1) ) + ( (s2_sq / n2)^2 / (n2 - 1) )
df_welch <- num / den  # 근사 자유도

# t 분포 임계값 (양쪽 꼬리 alpha=0.1 -> alpha/2=0.05)
# qt(1 - alpha/2, df) => qt(0.95, df)
t_val <- qt(1 - alpha/2, df_welch)

# 신뢰구간 계산
CI_lower <- est_diff - t_val * SE
CI_upper <- est_diff + t_val * SE

# 결과 출력
CI_lower
CI_upper
df_welch

# 문제 3
nA <- 25
nB <- 25
xbarA <- 105
xbarB <- 100
sA2 <- 81
sB2 <- 95

alpha <- 0.01

# 평균 차
est_diff <- xbarA - xbarB

# 표준오차(SE)
SE <- sqrt(sA2 / nA + sB2 / nB)

# Welch 자유도
num <- (sA2 / nA + sB2 / nB)^2
den <- ( (sA2 / nA)^2 / (nA - 1) ) + ( (sB2 / nB)^2 / (nB - 1) )
df_welch <- num / den

# t 분포 임계값 (99% CI -> alpha=0.01 -> alpha/2=0.005)
t_val <- qt(1 - alpha/2, df_welch)

CI_lower <- est_diff - t_val * SE
CI_upper <- est_diff + t_val * SE

CI_lower
CI_upper
df_welch

 

# Python code
# 문제 1
 import math
 import mpmath as mp

 nA = 12
 nB = 10
 xbarA = 350.2
 sA2 = 1.5
 xbarB = 349.6
 sB2 = 1.8

 Sp = math.sqrt( ((nA-1)*sA2 + (nB-1)*sB2)/(nA+nB-2) )
 alpha = 0.05
 df = nA + nB - 2

 t_val = mp.qtf(1 - alpha/2, df)

 est_diff = xbarA - xbarB
 se = Sp * math.sqrt(1.0/nA + 1.0/nB)
 CI_lower = est_diff - t_val*se
 CI_upper = est_diff + t_val*se

 print("95% CI:", (CI_lower, CI_upper))
 
 import math
import mpmath as mp

# 문제 2
n1 = 20
n2 = 15
xbar1 = 82
xbar2 = 78
s1_sq = 36  # S1^2
s2_sq = 49  # S2^2

alpha = 0.10

# 평균 차
est_diff = xbar1 - xbar2

# 표준오차(SE)
SE = math.sqrt(s1_sq / n1 + s2_sq / n2)

# Welch 자유도 근사
num = (s1_sq / n1 + s2_sq / n2)**2
den = ((s1_sq / n1)**2 / (n1 - 1)) + ((s2_sq / n2)**2 / (n2 - 1))
df_welch = num / den

# mp.qtf: p분위수 함수 -> t_val = mp.qtf(1 - alpha/2, df_welch)
t_val = mp.qtf(1 - alpha/2, df_welch)

CI_lower = est_diff - t_val * SE
CI_upper = est_diff + t_val * SE

print("Welch df =", df_welch)
print("t-value =", t_val)
print("90% CI:", (CI_lower, CI_upper))


# 문제 3
nA <- 25
nB <- 25
xbarA <- 105
xbarB <- 100
sA2 <- 81
sB2 <- 95

alpha <- 0.01

# 평균 차
est_diff <- xbarA - xbarB

# 표준오차(SE)
SE <- sqrt(sA2 / nA + sB2 / nB)

# Welch 자유도
num <- (sA2 / nA + sB2 / nB)^2
den <- ( (sA2 / nA)^2 / (nA - 1) ) + ( (sB2 / nB)^2 / (nB - 1) )
df_welch <- num / den

# t 분포 임계값 (99% CI -> alpha=0.01 -> alpha/2=0.005)
t_val <- qt(1 - alpha/2, df_welch)

CI_lower <- est_diff - t_val * SE
CI_upper <- est_diff + t_val * SE

CI_lower
CI_upper
df_welch

1. 왜 표본평균이 정규분포 \(N(\mu_X, \sigma_X^2/n)\) 형태가 되는가?  

 1) 전제: 모집단이 정규분포, 분산 \(\sigma_X^2\)가 “알려져” 있다고 가정  
   (1) \(X_1, X_2, \dots, X_n\)이 동일한 정규분포 \(N(\mu_X, \sigma_X^2)\)에서 추출된 서로 독립인 표본이라고 하자.  
   (2) 표본평균을 \(\overline{X} = \frac{1}{n}\sum_{i=1}^n X_i\)라고 할 때, 정규분포의 성질상  
     
     \[
       \overline{X} \;\sim\; N\!\Bigl(\,\mu_X,\;\frac{\sigma_X^2}{n}\Bigr).
     \]
     
     즉, 표본의 개수가 \(n\)이므로 분산이 \(\sigma_X^2/n\)이 된다(평균을 합으로 표현했을 때 분산이 \(n\)-배 줄어드는 효과).  
   (3) 이는 \(\sigma_X^2\)가 “알려진(known)” 상황에서 정확히 성립한다.  

 2) 따라서, 두 독립 표본 평균 \(\overline{X}, \overline{Y}\) 각각에 대해 분산을 \(\sigma_X^2/n\), \(\sigma_Y^2/m\)이라 표기  
   (1) 문제에서 \(\overline{X} \sim N(\mu_X, \sigma_X^2/n)\)와 \(\overline{Y} \sim N(\mu_Y, \sigma_Y^2/m)\)라고 한 것은 “각각 독립된 정규분포 표본” + “분산 \(\sigma_X^2, \sigma_Y^2\)를 안다”고 가정한 결과이다.  

2. 만약 모분산을 모를 때는 어떻게 되는가?  

 1) 보통은 표본분산 \(S^2\)를 사용하며, 그 경우 \(\overline{X}\) 자체가 정규(\(\mu_X, \sigma_X^2/n\))로 “정확”하게 분포하진 않는다.  
   (1) 다만, 모집단이 정규분포라는 전제하에서는  
     
     \[
       T = \frac{\overline{X} - \mu_X}{S / \sqrt{n}}
     \]
     
     가 \(t\)-분포(자유도 \(n-1\))를 따르는 성질이 생긴다(“표본분산”을 사용함). 이때 분산이 미지이므로, \(\sigma_X^2\) 대신 표본분산 \(S^2\)를 써서 추정한다.  
   (2) 즉, 모분산을 모르고 정규성만 가정할 경우, \(\overline{X}\) 분포를  
     
     \[
       \overline{X}\;\sim\; \text{(모수 불명 정규 샘플평균)}
     \]
     
     라고 할 때, \(\overline{X}\)에 대한 단순 “정규분포 \(\sigma^2/n\)” 꼴로 표현하기보다는,  
     
     \[
       \overline{X} - \mu_X \quad\text{및}\quad S^2
     \]
     
     를 함께 고려해야 하며, 이때 \(\overline{X}\)와 \(S^2\)를 결합해 \(t\)-분포 기반의 추론을 하게 된다.  

 2) 표본 수가 충분히 크면(\(n\)이 큰 경우), 중심극한정리에 따라 표본평균이 근사적으로 정규분포 \(\bigl(\mu_X,\, \frac{\sigma_X^2}{n}\bigr)\) 형태가 되지만, 그때도 \(\sigma_X^2\)를 모를 경우에는 결국 \(S^2\approx \sigma_X^2\)로 근사하여 추론을 진행한다(예: large-sample \(Z\)-근사).  

정리하면, 문제에 주어진  
\[
  \overline{X} \sim N(\mu_X, \tfrac{\sigma_X^2}{n}),\quad
  \overline{Y} \sim N(\mu_Y, \tfrac{\sigma_Y^2}{m})
\]
라는 표현은 “각 표본이 정규분포를 따르며, 모분산 \(\sigma_X^2,\sigma_Y^2\)를 ‘알고 있다’”고 가정했기 때문이다. 만약 모분산을 모르고(즉 실제 상황에서 \(\sigma_X^2,\sigma_Y^2\)가 미지) 정규성만 알고 있다면, 표본분산 \(S_X^2, S_Y^2\)를 이용하여 \(t\)-분포를 사용하는 식으로 바뀐다.