연속확률분포

2025. 3. 13. 22:12·기초 수학/확률통계
목차
  1. 연속확률분포
  2. 확률밀도함수(Probability Density Function)
  3. 연속확률분포의 성질
  4. 균등 분포(Uniform Distribution)
  5. 정규 분포(Normal Distribution)
  6. 정규 분포의 확률밀도함수
  7. 표준 정규 분포(Normal Distribution)
  8. 지수 분포(Exponential Distribution)
  9. 지수 분포의 확률 밀도 함수
  10. 요약
  11. AI에서의 응용
728x90

연속확률분포

  • 확률변수 XX가 취할 수 있는 값이 무한한 경우, 이를 연속확률변수라고 한다.
  • 연속확률분포는 연속확률변수의 확률 분포를 의미
    • 셀 수 없이 많은 확률 변수들의 분포
    • 특정한 값xx에 대한 정확한 확률 값을 표현할 수 없다.
    • 특정한 구간 a≤x≤ba≤x≤b에 대한 확률로 표현한다.  

 

확률밀도함수(Probability Density Function)

  • 연속확률변수의 확률 분포를 나타내는 함수
  • 특정 지점에서의 확률 밀도를 나타냄 
  • 확률 변수가 특정 구간 내의 모든 실수값을 가질 수 있다.
  • 이산확률분포와 달리 각 지점에서의 정확한 확률은 0이며, 구간에 대한 확률만 의미가 있다.
    • 이런 특성 때문에 확률 질량 함수(PMF)가 아닌 확률 밀도 함수(PDF)를 사용 

 

연속확률분포의 성질

  • 확률 변수 XX가 어떠한 구간에 속할 확률은 0과 1사이
  • 확률 변수 XX가 값을 가질 수 있는 모든 구간의 확률을 합치면 1이다. (전체 면적 = 1)
  • f(x)≥0f(x)≥0 모든 x에 대해 (음수 확률은 없음)
  • ∫∞−∞f(x)dx=1∫−∞∞f(x)dx=1 (전체 확률의 합은 1)
  • 특정 구간 [a, b]에서의 확률: P(a≤X≤b)=∫baf(x)dxP(a≤X≤b)=∫abf(x)dx
  • f(x)f(x)는 확률을 의미하고, dxdx는 구간 길이를 의미
  • aa부터 bb까지의 구간에 대하여 "확률/구간 길이"의 값을 모두 더한 값
  • 구간 길이를 부피로 볼 때, 전체 공식은 "질량/부피"이므로, 이는 밀도를 의미

 

균등 분포(Uniform Distribution)

  • 가장 단순한 연속확률분포, 특정 구간 내 값들이 나타날 가능성이 균등
  • 모든 확률에 대해 일정한 확률을 가지는 확률 분포
  • XX가 균등 분포를 따를 때 X∼U(a,b)X∼U(a,b)로 표현
  • XX는 aa에서 bb 사이에서 일정하나 값을 취하고, P(a≤X≤b)=1P(a≤X≤b)=1이다.
  • 확률 밀도 함수는 해당 구간에서 일정한 높이를 유지하는 직사각형 형태를 가진다.
    • f(x;a,b)={1b−a,if a≤x≤b 0,otherwisef(x;a,b)={1b−a,if a≤x≤b 0,otherwise
  • 예시 : 버스 도착 시간 예측 
    • "버스가 12시에서 12시 30분 사이에 도착할 것" 이라는 정보와 균등하게 도착한다고 가정하면
    • 구간 12시에서 12시 30분 사이에서 균등한 확률 값을 가진다.
    • 구간 [0,30] X∼U(0,30)X∼U(0,30)
    • 특정 시간 구간에 버스가 도착할 확률
      • 버스가 12:10 에서 12:20 사이에 도착할 확률은?
      • P(10≤X≤20)P(10≤X≤20) = (20 - 10) / (30 - 0) = 10/30 = 1/3 ≈ 0.333 = 33.3%
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats

# 균등 분포 모델링 - 버스 도착 시간 예시
def simple_uniform_distribution():
    """
    버스 도착 시간을 균등 분포로 모델링하는 간단한 예시
    """
    # 시간을 분 단위로 표현 (12:00 = 0분, 12:30 = 30분)
    a, b = 0, 30  # 버스가 도착할 수 있는 시간 범위 [12:00, 12:30]
    
    # 특정 시간 구간의 확률 계산
    c, d = 10, 20  # [12:10, 12:20] 구간
    probability = (d - c) / (b - a)
    
    print("균등 분포 U(0, 30)에서 구간 확률 계산:")
    print(f"P(10 ≤ X ≤ 20) = P(12:10 ≤ 버스 도착 ≤ 12:20)")
    print(f"P(10 ≤ X ≤ 20) = (20 - 10) / (30 - 0) = 10/30 = {probability:.4f}")
    print(f"따라서 버스가 12:10-12:20 사이에 도착할 확률은 {probability*100:.1f}%입니다.")
    
    # 균등 분포 시각화
    x = np.linspace(-5, 35, 1000)
    pdf = stats.uniform.pdf(x, loc=a, scale=b-a)
    
    plt.figure(figsize=(10, 6))
    plt.rc('font', family='Malgun Gothic')
    # 전체 균등 분포 영역
    plt.plot(x, pdf, 'r-', lw=2, label='확률 밀도 함수')
    plt.fill_between(x, pdf, where=((x >= a) & (x <= b)), 
                     alpha=0.3, color='blue', label='전체 확률 분포 영역')
    
    # 특정 구간 강조
    plt.fill_between(x, pdf, where=((x >= c) & (x <= d)), 
                     alpha=0.6, color='green', 
                     label=f'P(12:10 ≤ X ≤ 12:20) = {probability:.2f}')
    
    # 경계선 표시
    plt.axvline(a, color='gray', linestyle='--', alpha=0.7, label='12:00')
    plt.axvline(b, color='gray', linestyle='--', alpha=0.7, label='12:30')
    plt.axvline(c, color='green', linestyle='--', alpha=0.7, label='12:10')
    plt.axvline(d, color='green', linestyle='--', alpha=0.7, label='12:20')
    
    # 실제 시간을 x축에 표시
    time_labels = ['11:55', '12:00', '12:05', '12:10', '12:15', '12:20', '12:25', '12:30', '12:35']
    plt.xticks(np.arange(-5, 40, 5), time_labels)
    
    plt.xlabel('버스 도착 시간')
    plt.ylabel('확률 밀도')
    plt.title('균등 분포를 이용한 버스 도착 시간 모델링')
    plt.xlim(-5, 35)
    plt.ylim(0, 0.05)
    plt.grid(True, alpha=0.3)
    plt.legend()
    
    plt.tight_layout()
    plt.show()

# 함수 실행
simple_uniform_distribution()

[그림1] 균등 분포 이용한 버스 도착 시간 모델링

 

정규 분포(Normal Distribution)

  • 연속확률분포 중 가장 중요하고 널리 사용되는 분포, 종모양의 대칭적인 형태를 가진다.
  • 정규분포의 모양은 ①평균,②표준편차로 결정된다.
  • 확률밀도함수는 평균을 중심으로 좌우 대칭인 종 모양을 형성
  • 관측되는 값의 약 98%가 ±± 2 표준편차 범위 안에 속한다.
  • 평균에 따라서 정규 분포가 좌우로 평행이동한다.
  • 분산이 클수록 정규분포가 옆으로 넓게 펴지게 된다.
  • 분산이 작을수록 정규 분포는 가파른 모양을 가진다.
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats

def normal_distribution_visualization():
    """
    정규분포의 기본 특성과 평균에 따른 평행이동 시각화
    """
    # x 값의 범위 설정
    x = np.linspace(-6, 8, 1000)
    
    # 정규분포 매개변수 설정
    mean1 = 0    # 첫 번째 분포의 평균
    mean2 = 2    # 두 번째 분포의 평균
    std = 1      # 표준편차 (두 분포 모두 동일)
    
    # 정규분포의 확률밀도함수(PDF) 계산
    pdf1 = stats.norm.pdf(x, loc=mean1, scale=std)
    pdf2 = stats.norm.pdf(x, loc=mean2, scale=std)
    
    # 시각화
    plt.figure(figsize=(12, 7))
    plt.rcParams['axes.unicode_minus'] = False
    # 두 정규분포 플롯
    plt.plot(x, pdf1, 'b-', linewidth=2, label=f'평균 = {mean1}, 표준편차 = {std}')
    plt.plot(x, pdf2, 'r-', linewidth=2, label=f'평균 = {mean2}, 표준편차 = {std}')
    
    # 분포 영역 채우기
    plt.fill_between(x, pdf1, alpha=0.2, color='blue')
    plt.fill_between(x, pdf2, alpha=0.2, color='red')
    
    # 평균값 표시
    plt.axvline(mean1, color='blue', linestyle='--', alpha=0.7, label=f'평균 {mean1}')
    plt.axvline(mean2, color='red', linestyle='--', alpha=0.7, label=f'평균 {mean2}')
    
    # 68-95-99.7 규칙 표시 (첫 번째 분포)
    plt.fill_between(x, pdf1, where=((x >= mean1-std) & (x <= mean1+std)), 
                    alpha=0.4, color='blue', label='68% 구간 (±1σ)')
                    
    # 68-95-99.7 규칙 표시 (두 번째 분포)
    plt.fill_between(x, pdf2, where=((x >= mean2-std) & (x <= mean2+std)), 
                    alpha=0.4, color='red')
    
    # 그래프 설정
    plt.xlabel('x', fontsize=12)
    plt.ylabel('확률 밀도', fontsize=12)
    plt.title('정규분포의 평균에 따른 평행이동', fontsize=14)
    plt.grid(True, alpha=0.3)
    plt.legend(fontsize=10)
    
    plt.tight_layout()
    plt.show()

# 함수 실행
normal_distribution_visualization()

[그림2] 정규분포 평균에 따른 평행이동

 

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats

def normal_distribution_variance_visualization():
    """
    정규분포의 분산(표준편차)에 따른 모양 변화 시각화
    """
    # x 값의 범위 설정
    x = np.linspace(-10, 10, 1000)
    
    # 정규분포 매개변수 설정
    mean = 0    # 모든 분포의 평균은 동일하게 0으로 설정
    
    # 다양한 표준편차 값
    stds = [0.5, 1, 2, 3]
    colors = ['green', 'blue', 'red', 'purple']
    
    # 첫 번째 그래프: 여러 분산 값의 정규분포 비교
    plt.figure(figsize=(12, 7))
    
    for i, std in enumerate(stds):
        # 정규분포 PDF 계산
        pdf = stats.norm.pdf(x, loc=mean, scale=std)
        
        # 플롯
        plt.plot(x, pdf, color=colors[i], linewidth=2, 
                 label=f'평균 = {mean}, 표준편차 = {std}')
        
        # 분포 영역 채우기
        plt.fill_between(x, pdf, alpha=0.1, color=colors[i])
        
        # 표준편차 범위 표시 (μ±σ)
        plt.fill_between(x, pdf, where=((x >= mean-std) & (x <= mean+std)), 
                        alpha=0.3, color=colors[i])
        
        # 표준편차 위치에 수직선 표시
        plt.axvline(mean+std, color=colors[i], linestyle='--', alpha=0.5)
        plt.axvline(mean-std, color=colors[i], linestyle='--', alpha=0.5)
    
    # 평균 위치에 수직선 표시
    plt.axvline(mean, color='black', linestyle='-', alpha=0.3, label='평균 = 0')
    
    # 그래프 설정
    plt.xlabel('x', fontsize=12)
    plt.ylabel('확률 밀도', fontsize=12)
    plt.title('정규분포의 분산(표준편차)에 따른 변화', fontsize=14)
    plt.grid(True, alpha=0.3)
    plt.legend(fontsize=10)
    
    plt.tight_layout()
    plt.show()


# 함수 실행
normal_distribution_variance_visualization()

 

[그림3] 정규분포의 분산에 따른 변화

정규 분포의 확률밀도함수

  • 공학 분야에서는 가우시안(Gaussian)분포로 부르기도 한다.
  • 확률 변수 XX의 확률밀도함수가 다음과 같을 때, XX가 정규분포를 따른다고 한다.
  • 평균 μμ과 분산 σ2σ2에 의해 분포의 모양이 결정된다.
  • f(x)=1σ√2πe−12(x−μσ)2f(x)=1σ2πe−12(x−μσ)2

 

표준 정규 분포(Normal Distribution)

  • 표준 정규 분포는 평균이 0, 표준편차가 1인 정규분포를 의미
  • 일반 정규분포의 확률 계산을 표준화하고 단순화하기 위해 사용
    • 확률을 계산하기 위해 정규 분포 함수를 직접 적분하는 것은 매우 어렵고 번거로움
  • 실제로는 정규 분포 함수를 표준 정규 분포로 변환한 뒤에 확률을 계산 
  • Z∼N(0,1)Z∼N(0,1)

 

지수 분포(Exponential Distribution)

  • 특정 시점에서 어떤 사건이 일어날 때까지 걸리는 시간을 측정할 때 사용
  • 포아송 과정에서 연속적인 사건 간의 시간을 모델링
  • 포아송 분포가 주어진 시간 동안 발생하는 사건의 수에 대한 확률을 구할 때 사용한다면, 지수 분포는 다음 사건이 발생할 때까지의 대기 시간에 대한 확률을 구할 때 사용 
  • 지수 분포의 중요한 성질 중 하나는 "기억 상실" 특성 
    • 이는 tt 시간 동안 기다린 후 사건이 발생할 확률은 처음부터 기다리기 시작한것과 동일하다는 의미

 

지수 분포의 확률 밀도 함수

  • f(x)=λe−λx,x≥0f(x)=λe−λx,x≥0
  • λλ : 단위 시간 동안 평균 사건 발생 횟수

 

요약

  • 균등 분포 : 주어진 범위 내 모든 값이 동일한 확률을 가지는 가장 단순한 분포.
  • 정규분포 : 자연과 사회에서 가장 흔하게 관찰되는 분포, 통계적 추론에 기반이 된다.
  • 표준 정규분포 : 평균 0, 표준편차 1을 가진 정규분포, 다양한 통계 계산의 표준이 된다.
  • 지수 분포 : 사건 간 시간 간격을 모델링하는데 적합한 분포

 

 

AI에서의 응용

  • 회귀 분석 : 정규분포는 선형 회귀에서 오차 항의 분포로 가정
  • 확률적 생성 모델 : VAE(Variational Autoencoder)와 같은 생성 모델에서 잠재 공간은 종종 정규분포로 가정
  • 강화 학습 : 지수 분포는 시간에 따른 보상 할인 모델링에 사용

 

728x90
저작자표시 비영리 변경금지 (새창열림)
  1. 연속확률분포
  2. 확률밀도함수(Probability Density Function)
  3. 연속확률분포의 성질
  4. 균등 분포(Uniform Distribution)
  5. 정규 분포(Normal Distribution)
  6. 정규 분포의 확률밀도함수
  7. 표준 정규 분포(Normal Distribution)
  8. 지수 분포(Exponential Distribution)
  9. 지수 분포의 확률 밀도 함수
  10. 요약
  11. AI에서의 응용
'기초 수학/확률통계' 카테고리의 다른 글
  • 이산확률분포
  • 확률 변수와 확률 분포
  • 확률개요
포장빵
포장빵
IT공부 및 프로그래밍
  • 포장빵
    포장빵의 IT
    포장빵
  • 전체
    오늘
    어제
    • AI 학습 노트 (113)
      • 기초 수학 (4)
        • 선형대수 (0)
        • 확률통계 (4)
        • 미적분 (0)
        • 최적화 이론 (0)
      • AI & 딥러닝 (1)
        • 이론 (0)
        • 컴퓨터 비전 (0)
        • 자연어 처리 (0)
        • 생성AI (0)
        • 강화학습 (0)
      • 데이터과학 (70)
        • R (47)
        • ADSP (21)
      • 연구 & 자료 (15)
        • 논문 (6)
        • 수료증 (3)
      • 프로그래밍 & 개발 환경 (22)
        • Python (22)
        • 개발도구 (0)
        • 알고리즘 (0)
      • 면접 자료 (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      R 원 그래프 퍼센트
      yolov10
      베르누이분포
      통계량에 의한 자료 분석
      none타입
      단순선형 회귀분석
      지수분포
      R 원 그래프
      논문
      CV
      str lib
      다차원 척보법
      Coursera Python Data Structures
      yolov9
      확률 분포
      Python Regular Expression Quick Guide
      R 도수분포표
      확률
      python 주요 데이터 타입
      상관분석
      시퀀스형
      주성분 분석(PCA)
      Coursera 1
      매핑형(딕셔너리)
      Python 크롤링 기초
      자료의 종류
      stylegan2
      k-평균 군집
      시계열 모형
      k-means clustering
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    포장빵
    연속확률분포

    개인정보

    • 티스토리 홈
    • 포럼
    • 로그인
    상단으로

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.