베이지안 통계(Bayesian Statistics)

베이지안 통계(Bayesian Statistics)는 통계적 추론의 한 방법으로, 확률을 주관적인 신념의 정도로 해석하고, 새로운 데이터를 관찰할 때 이 신념을 갱신해 나가는 접근법입니다. 베이지안 통계는 베이즈 정리(Bayes’ Theorem)를 기반으로 하며, 사전 확률(prior probability)과 사후 확률(posterior probability)을 사용하여 추론합니다. 다음은 베이지안 통계의 주요 개념과 과정에 대한 설명입니다.

참조 : 사후 확률http://www.statdc.com/?p=774

베이즈 정리 (Bayes’ Theorem)

베이즈 정리는 다음과 같은 형태로 표현됩니다:\(\)

\[ P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)} \]

여기서,

  • \( P(A|B) \): 사건 B가 발생한 후 사건 A가 발생할 조건부 확률 (사후 확률, posterior probability)
  • \( P(B|A) \): 사건 A가 발생한 후 사건 B가 발생할 조건부 확률 (우도, likelihood)
  • \( P(A) \): 사건 A의 사전 확률 (prior probability)
  • \( P(B) \): 사건 B의 전체 확률 (evidence)

베이지안 통계의 주요 개념

1.사전 확률 (Prior Probability):

    • 데이터 관찰 이전에 우리가 가지고 있는 믿음이나 지식을 나타내는 확률입니다.
    • 예를 들어, 질병의 유병률, 과거 경험 등을 바탕으로 설정합니다.

    2.우도 (Likelihood):

      • 주어진 데이터가 특정 파라미터 값을 가질 확률입니다.
      • 데이터가 주어졌을 때, 그 데이터가 특정 가설 하에서 얼마나 잘 설명되는지를 나타냅니다.

      3.사후 확률 (Posterior Probability):

        • 데이터를 관찰한 후에 사전 확률을 업데이트한 결과로 얻어진 확률입니다.
        • 새로운 데이터를 통해 사전 확률을 갱신하여 얻은 확률 분포입니다.

        베이지안 추론 과정

        1.사전 확률 설정:

          • 문제에 대한 초기 믿음이나 지식을 바탕으로 사전 확률을 설정합니다.

          2.데이터 수집 및 우도 계산:

            • 데이터를 수집하고, 주어진 데이터가 특정 파라미터 값일 때의 우도를 계산합니다.

            3.사후 확률 계산:

              • 베이즈 정리를 사용하여 사전 확률과 우도를 결합하여 사후 확률을 계산합니다.

              4.결론 도출 및 의사결정:

                • 사후 확률을 바탕으로 추론을 하고, 이를 통해 의사결정을 내립니다.

                베이지안 통계의 장점

                • 직관적 해석: 사전 확률과 사후 확률을 통해 문제를 직관적으로 해석할 수 있습니다.
                • 정보 갱신 가능: 새로운 데이터가 들어올 때마다 사후 확률을 갱신하여 더 정확한 추론이 가능합니다.
                • 복잡한 문제 해결: 복잡한 문제나 불확실성이 높은 문제를 다룰 때 유용합니다.

                베이지안 통계의 단점

                • 사전 확률의 주관성: 사전 확률을 설정하는 데 주관성이 개입될 수 있습니다.
                • 계산 복잡성: 베이지안 추론은 계산이 복잡할 수 있으며, 특히 고차원 문제에서는 계산 비용이 많이 듭니다.

                예제: 베이지안 추론

                다음은 베이지안 추론을 사용하여 동전을 던졌을 때 동전이 공정한지 여부를 판단하는 예제입니다.

                1.사전 확률:

                  • 공정한 동전일 확률 \( P(Fair) = 0.5 \)
                  • 치우친 동전일 확률 \( P(Biased) = 0.5 \)

                  2.우도:

                    • 10번 동전을 던져서 7번 앞면이 나올 확률
                    • 공정한 동전의 경우 \( P(7 Heads | Fair) \)
                    • 치우친 동전의 경우 \( P(7 Heads | Biased) \)

                    3.사후 확률 계산:

                      • 베이즈 정리를 사용하여 계산합니다.
                      from scipy.stats import binom
                      
                      # 사전 확률
                      P_Fair = 0.5
                      P_Biased = 0.5
                      
                      # 우도 계산
                      n = 10  # 동전을 던진 횟수
                      k = 7   # 앞면이 나온 횟수
                      
                      P_7Heads_Fair = binom.pmf(k, n, 0.5)  # 공정한 동전
                      P_7Heads_Biased = binom.pmf(k, n, 0.7)  # 치우친 동전 (예: 앞면 확률 0.7)
                      
                      # 사후 확률 계산
                      P_7Heads = P_7Heads_Fair * P_Fair + P_7Heads_Biased * P_Biased
                      
                      P_Fair_7Heads = (P_7Heads_Fair * P_Fair) / P_7Heads
                      P_Biased_7Heads = (P_7Heads_Biased * P_Biased) / P_7Heads
                      
                      print(f"공정한 동전일 사후 확률: {P_Fair_7Heads:.4f}")
                      print(f"치우친 동전일 사후 확률: {P_Biased_7Heads:.4f}")

                      이 예제는 10번의 동전 던지기에서 7번 앞면이 나온 데이터를 바탕으로, 동전이 공정한지 여부를 추론하는 과정을 보여줍니다. 베이즈 정리를 사용하여 사전 확률을 업데이트하고, 사후 확률을 계산합니다.