【통계 기초 자기 학습】 푸아송 분포 (Python)

2382 단어 statistics파이썬

목적



통계 모델링에 대해 공부를 진행하기 위해 기초적인 지식을 습득한다.
우선은 포와송 분포에서.

참고로 한 것


  • htps : // 이 m/타 c케 y/있어 ms/96171베 393912fb333b3
  • 도쿄대학 출판회 통계학 입문

  • 노트



    여러가지 시험한 결과를 이하에 놓았다.

    이하, 학습 결과를 일부 발췌



    포아송 분포의 이용 방법


  • 프러시아 육군에서 말에 걷어차고 죽은 군인 수
  • 교통사고 건수
  • 대량 생산 불량품 수
  • 파산 건수
  • 화재 건수
  • 포탄명중수
  • 유전자의 돌연변이 수
  • 전화 통화 수
  • 혼잡하지 않은 고속도로 요금 게이트에 자동차 도착 수
    (도쿄 대학 출판회 통계 입문에서)

  • λ만으로 분포를 구한다.
    λ는 주어진 데이터 세트의 평균을 설정한다.
    이 특성은 데이터 세트의 평균값만으로 희귀 케이스의 확률 분포를 얻을 수 있다는 장점이 있습니다.

    예제



    이하의 예제를 생각해 보았다.

    연간 50건의 교통사고가 발생한 시에서 하루에 교통사고가 2건 이상 발생할 확률

    이하 발췌
    from scipy.stats import poisson
    
    accident_per_day = 50 / 365
    poisson_arr = np.random.poisson(lam=accident_per_day, size=10000)
    max_val = np.max(poisson_arr)
    
    # ポワソン分布に従った確率変数を取得
    x_range = np.arange(max_val + 1)
    poisson_prob = poisson.pmf(x_range, mu=accident_per_day)
    
    fig, ax1 = plt.subplots()
    ax1.hist(x=poisson_arr, align='mid', bins=10)
    ax2 = ax1.twinx()
    ax2.plot(x_range, poisson_prob, 'ro--')
    plt.show()
    
    



    2축이 된 것으로 y축의 원점이 어긋나 있지만, 대체로 경향은 문제 없을 것 같다.

    2건/1일 이상이 되는 곳을 추출하면 다음과 같다.
    # ランダムで発生したpoisson分布から求めた2件/1日以上の交通事故が発生する可能性
    arr_over_2 = np.sum(poisson_arr > 1) / 10000
    print('1日2件以上の交通事故発生確率: {}'.format(arr_over_2))
    
    # poisson分布に従った確率分布から求めた2件/1日以上の交通事故が発生する可能性
    prob_over_2 = np.sum(poisson_prob[2:])
    print('1日2件以上の交通事故発生確率: {}'.format(prob_over_2))
    
    1日2件以上の交通事故発生確率: 0.0086
    1日2件以上の交通事故発生確率: 0.008555063881597425
    

    두 패턴 모두 비슷한 확률로 밝혀졌다.

    좋은 웹페이지 즐겨찾기