[Math] Multinomial Distribution (다항분포)

2024. 5. 22. 21:01·.../Math
728x90
728x90

Multinomial Distribution : 

$K$ 개 class인 Categorical Variable의

sample을 $N$개 얻을 때의

각각의 class $i$가 각각 $x_i$번 나오는 random variable $\textbf{X}$의 이산 확률 분포.

 

달리 말하면 $\textbf{x}$가 $(x_1, x_2, \cdots, x_K)$가 되는 확률의 분포를 가르킴.

 

수식으로 표현할 경우 다음과 같음.

$$
\textbf{X} \sim \text{Mul}(x;N,\mu)
$$

class가 $K$인 multinomial trial을 1회 수행한 경우의 확률변수는 Categorical distribution을 따른다고 하며,
class가 $K$인 multinomial trial을 $N$회 수행한 경우의 확률변수는 Multinomial distirbution을 따른다.
($N=1$인 경우, Multinomial distribution은 Categorical distribution임)

2024.05.22 - [.../Math] - [Math] Categorical Distribution

 

[Math] Categorical Distribution

Categorical Distribution일반적으로 multi-class classification (다중분류문제)에서 사용되는 확률분포.Categorical Random Variable$K$개의 정수값 중 하나를 가질 수 있는 확률변수.이때 가질 수 있는 $K$개의 정수값

dsaint31.tistory.com

 

2023.03.14 - [.../Math] - [Math] Binomial Distribution (이항분포)

 

[Math] Binomial Distribution (이항분포)

Binomial Distribution (이항분포) :1. 정의 1이 나올 확률(or 성공확률)이 $p$이고, 0이 나올 확률(or 실패확률)이 $1-p$인 Bernoulli trial을 $N$번 반복하는 경우의 성공횟수를 Random Variable $X$라고 할 경우, $X$가

dsaint31.tistory.com


PMF 수식

$$
\begin{aligned}\text{Mul}(x;N,\mu)&=\frac{N!}{x_1!x_2!\cdots x_K!}\prod_{i=1}^K\mu_i^{x_i}\end{aligned}
$$

where

  • $N!$ : factorial.
  • $N! = N\cdot(N-1)\cdot(N-2) \cdots 2\cdot1$

Moment

Categorical Distribution의 moment가 vector인 것처럼,
Multinomial의 경우도 vector로 나오며, 각 element는 다음과 같음.

Expected Value (기댓값)

$$E[x_i]=N\mu_i$$

Variance (분산)

$$\text{Var}[x_i]=N\mu_i(1-\mu_i)$$


scipy.stats.binom

import scipy.stats
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()

# random variable : rv
N  = 30 
K  = 6
mu = [0.1,0.2,0.2,0.2,0.2,0.1]
rv = scipy.stats.multinomial(N, mu)

# np.random.seed(973037)
x = rv.rvs(100, random_state=973037)

print(x[:10])

import pandas as pd
df = pd.DataFrame(x)
df.columns = df.columns+1
print(df)
df2 = df.stack().reset_index()
df2.columns = ['trial #','class','count']
plt.figure(figsize=(20,10))
sns.violinplot(x='class', y='count', data=df2, color='gray')
sns.swarmplot(x='class', y='count', data=df2)
plt.show()

같이보면 좋은 자료들

2024.04.18 - [.../Math] - [Math] Probability Distribution

 

[Math] Probability Distribution

Probability DistributionProbability Distribution은 특정 random variable(확률 변수)이 취할 수 있는 각각의 값에 대한 확률을 나타내는 분포임.Probability Distribution Function (PDF)으로 기술되며,random variable이 어떤 값

dsaint31.tistory.com


 

'... > Math' 카테고리의 다른 글

[Math] Optimization 이란 (Introduction)  (0) 2024.06.01
[Math] Categorical Distribution  (0) 2024.05.22
[Math] Example: Variable  (0) 2024.05.02
[Math] The Law of Total Probability  (0) 2024.04.23
[Math] Probability Distribution  (0) 2024.04.18
'.../Math' 카테고리의 다른 글
  • [Math] Optimization 이란 (Introduction)
  • [Math] Categorical Distribution
  • [Math] Example: Variable
  • [Math] The Law of Total Probability
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (739)
      • Private Life (13)
      • Programming (56)
        • DIP (104)
        • ML (26)
      • Computer (119)
        • CE (53)
        • ETC (33)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (9)
      • ... (350)
        • Signals and Systems (103)
        • Math (171)
        • Linear Algebra (33)
        • Physics (42)
        • 인성세미나 (1)
      • 정리필요. (54)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (1)
        • PET Study 2009 (1)
        • 방사선 장해방호 (4)
        • 방사선 생물학 (3)
        • 방사선 계측 (9)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

    • Test
    • PET Study 2009
    • 기타 방사능관련.
  • 인기 글

  • 태그

    fourier transform
    SS
    random
    signals_and_systems
    opencv
    Term
    Probability
    검사
    numpy
    Vector
    math
    linear algebra
    Programming
    인허가제도
    Convolution
    signal_and_system
    Optimization
    Python
    function
    SIGNAL
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dsaint31x
[Math] Multinomial Distribution (다항분포)
상단으로

티스토리툴바