๐ ํ๋ฅ (Probability)
โ ํน์ ๊ฒฐ๊ณผ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ(๊ธฐํ)

- ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ ฮธ๊ฐ ์ฃผ์ด์ก์ ๋, ๋ฐ์ดํฐ X๊ฐ ๊ด์ธก๋ ํ๋ฅ
๐ ๊ฐ๋ฅ๋ (likelihood)
โ ํ๋ฅ ๋ชจ๋ธ์์ ๊ด์ธก๋ ๋ฐ์ดํฐ๊ฐ ์ฃผ์ด์ก์ ๋, ๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ ฮธ(๋๋ ๊ฐ์ )๊ฐ ๊ด์ฐฐ๋ ๋ฐ์ดํฐ์ ์ผ๋ง๋ ์ ํฉํ๊ฐ๋ฅผ ์์น๋ก ๋ํ๋ธ ์ฒ๋.
ฮธ๊ฐ ์ผ๋ง๋ ๋ฐ์ดํฐ X๋ฅผ ์ ์ค๋ช ํ๋๊ฐ?์ ๋ํ ์ฒ๋์ด๋ฏ๋ก ฮธ๋ฅผ ์์ง์ฌ๊ฐ๋ฉฐ ํ๊ฐํ๋ ๊ฒ์ด ๋ชฉ์ ์ด๋ค.
(๋ชจ๋ธ์ด๋ ๊ฐ์ค์ด ๊ด์ฐฐ๋ ๋ฐ์ดํฐ์ ์ผ๋ง๋ ์ ๋ง๋๊ฐ๋ฅผ ์์น์ ์ผ๋ก ๋ํ๋ธ ์ฒ๋)

- ๊ด์ธก๋ ๋ฐ์ดํฐ X๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฐ๊ฐ์


- X๋ผ๋ ๊ด์ธก๊ฐ์ด ์ฃผ์ด์ก์ ๋, ฮธ๋ฅผ ๋ฐ๋ฅด๋ ํ๋ฅ ๋ถํฌ์์ X๋ผ๋ ๊ด์ธก๊ฐ์ด ๋์ฌ ํ๋ฅ
- ์ด๋ฏธ X๊ฐ ์ฃผ์ด์ก์ ๋ ฮธ๊ฐ ๋ฌ๋ผ์ง์ ๋ฐ๋ผ X๋ฅผ ์ผ๋ง๋ ์ ์ค๋ช (ํ๋นํ)ํ๋์ง๋ฅผ ํ๋๋ด๋ ํจ์
- ฮธ๋ฅผ ๋ณ์๋ก ์ผ๊ณ , X๋ฅผ ๊ณ ์ ํ๋ค.

- ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ ฮธ๊ฐ ์ฃผ์ด์ก์ ๋, ๋ฐ์ดํฐ X๊ฐ ๋์ฌ ํ๋ฅ
- ฮธ๊ฐ ๊ณ ์ ๋ ์ํ์์ X๋ผ๋ ๋ฐ์ดํฐ๊ฐ ์ผ์ด๋ ํ๋ฅ
- X๋ฅผ ๋ณ์๋ก ์ผ๊ณ , ฮธ๋ฅผ ๊ณ ์ ํ๋ค.
๐ ์์
X : ์ฌ๊ณผ์ ๋ฌด๊ฒ
X ~ N(14, 9) : ํ๊ท ์ด 14, ํ์คํธ์ฐจ๊ฐ 3์ธ ์ ๊ท๋ถํฌ๋ฅผ ๋ฐ๋ฅด๋ ์ฌ๊ณผ๋ก ๊ฐ๋ ์ฐฌ ์๋์ด๊ฐ ์๋ค.
๊ทธ ์๋์ด์ ์ ๊ท ๋ถํฌ๋ ๋ค์๊ณผ ๊ฐ๋ค.

์ฌ๊ณผ์ ๋ฌด๊ฒ๊ฐ 15~16g์ผ ํ๋ฅ ์ ๋ค์๊ณผ ๊ฐ๋ค.
์์น ๋ ๋ถ๋ถ์ด ์ฌ๊ณผ์ ๋ฌด๊ฒ๊ฐ 15~16g์ผ ํ๋ฅ (probability)์ด๋ค.
(์ ๊ท)๋ถํฌ์ ๋งค๊ฐ๋ณ์(ํ๊ท ๊ณผ ํ์คํธ์ฐจ)๋ฅผ ์๊ณ ์์ผ๋ฉด, ์ฌ๊ฑด์ด ์ผ์ด๋ ํ๋ฅ ์ ์ ์ ์๋ค.
ํ๋ฅ = P(์ฌ๊ฑด | ๋ถํฌ )
๐ก ๋ถํฌ๋ฅผ ์๊ณ ์๋ค๋ ๊ฒ์ ํ๊ท ๊ณผ ํ์คํธ์ฐจ๋ฅผ ์๊ณ ์๋ ๊ฒ์ด๋ค.
๐ก ๋ถํฌ๊ฐ ์ฃผ์ด์ก์ ๋, ํด๋น ๋ถํฌ์์ ์ฌ๊ฑด์ด ์ผ์ด๋ ๊ฐ๋ฅ์ฑ์ ์์ธกํ๋ ๊ฒ์ด ํ๋ฅ ์ด๋ค.
โญ ํ๋ฅ ์ ํ๋ฅ ๋ฐ๋ ํจ์ ๊ณก์ ์๋์ ๋ฉด์ ์ด๋ค.

โญ๊ฐ๋ฅ๋๋ ํ๋ฅ ๋ฐ๋ ๊ณก์ ์์ x๊ฐ์ ๋์๋๋ y๊ฐ(๋ฐ๋๊ฐ)์ด๋ค.
ํ๊ท 14, ํ์คํธ์ฐจ 3์ธ ๋ถํฌ์์ ์ฌ๊ณผ์ ๋ฌด๊ฒ(X)๊ฐ 16.5์ผ ๋์ ๊ฐ๋ฅ๋๋ 0.094์ด๋ค.

ํ๊ท 15, ํ์คํธ์ฐจ 3์ธ ๋ถํฌ์์ ์ฌ๊ณผ์ ๋ฌด๊ฒ(X)๊ฐ 16.5์ผ ๋์ ๊ฐ๋ฅ๋๋ 0.117์ด๋ค.

์ฌ๊ณผ์ ๋ฌด๊ฒ 16.5์ ๋ํด ํ๊ท ์ด 14์ธ ๋ถํฌ๋ฅผ ๊ฐ์ง ๊ฐ๋ฅ๋๋ณด๋ค ํ๊ท ์ด 15์ธ ๋ถํฌ๋ฅผ ๊ฐ์ง ๊ฐ๋ฅ๋๊ฐ ๋ ๋๋ค.
์ฌ๊ณผ์ ๋ฌด๊ฒ 16.5๊ฐ ๋์ฌ ๊ฐ๋ฅ์ฑ์ด ๊ฐ์ฅ ๋์ ๋ถํฌ๋ ํ๊ท ์ด 16.5์ธ ๋ถํฌ์ด๋ค.
y๊ฐ(ํ๋ฅ ๋ฐ๋ ๊ฐ)์ด ์ ์ผ ํฌ๋ค.

๊ฐ๋ฅ๋ = L(๋ถํฌ | ๋ฐ์ดํฐ )
๋ฐ์ดํฐ(์ฌ๊ณผ์ ๋ฌด๊ฒ)๊ฐ ์ฃผ์ด์ง๋ฉด ํน์ ๋งค๊ฐ๋ณ์(ํ๊ท 14, ํ๊ท 15, ํ๊ท 16.5... ํ์คํธ์ฐจ 3,...)๋ฅผ ๊ฐ๋ ๋ถํฌ์์
์ด ๋ฐ์ดํฐ๊ฐ ์ํ๋ง๋ ๊ฐ๋ฅ์ฑ(ํ๋ฅ ๋ฐ๋๊ฐ)์ ์ธก์ ํ๋ค.
๐ ์ฝ๋
โ ํ๋ฅ ์๊ฐํํ๋ ์ฝ๋
import numpy as np
import matplotlib.pyplot as plt
# ํ๊ท ๊ณผ ํ์คํธ์ฐจ ์ค์
mu = 14
sigma = 3
# ๊ทธ๋ํ๋ฅผ ๊ทธ๋ฆด x๊ฐ์ ๋ฒ์ ์ค์ (ํ๊ท ยฑ3*ํ์คํธ์ฐจ ๋ฒ์)
x = np.linspace(mu - 3*sigma, mu + 3*sigma, 200)
# ์ ๊ท๋ถํฌ ํ๋ฅ ๋ฐ๋ํจ์(PDF) ๊ณ์ฐ
pdf = (1 / (sigma * np.sqrt(2 * np.pi))) * \
np.exp(-((x - mu) ** 2) / (2 * sigma ** 2))
#์์ ๋ฃ์ ๊ตฌ๊ฐ (x=15 ~ x= 16)
x_shade = np.linspace(15, 16, 100)
pdf_shade = (1 / (sigma * np.sqrt(2 * np.pi))) * \
np.exp(-((x_shade - mu) ** 2) / (2 * sigma ** 2))
plt.fill_between(x_shade, pdf_shade, color='green', alpha=0.3)
# ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ
plt.plot(x, pdf, color='green', label=f'(ฮผ={mu}, ฯ={sigma})')
plt.title(f'(ฮผ={mu}, ฯ={sigma})')
plt.xlabel("x(apple weight)")
plt.ylabel("Probability Density")
plt.legend()
#plt.grid(True)
plt.show()
โ ๊ฐ๋ฅ๋ ์๊ฐํํ๋ ์ฝ๋
import numpy as np
import matplotlib.pyplot as plt
# ํ๊ท ๊ณผ ํ์คํธ์ฐจ ์ค์
mu = 14
sigma = 3
# ๊ทธ๋ํ๋ฅผ ๊ทธ๋ฆด x๊ฐ์ ๋ฒ์ ์ค์ (ํ๊ท ยฑ3*ํ์คํธ์ฐจ ๋ฒ์)
x = np.linspace(mu - 3*sigma, mu + 3*sigma, 200)
# ์ ๊ท๋ถํฌ ํ๋ฅ ๋ฐ๋ํจ์(PDF) ๊ณ์ฐ
pdf = (1 / (sigma * np.sqrt(2 * np.pi))) * \
np.exp(-((x - mu) ** 2) / (2 * sigma ** 2))
# ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ
plt.plot(x, pdf, color='green', label=f'ฮผ={mu}, ฯ={sigma}')
x_line = 16.5
pdf_value = (1 / (sigma * np.sqrt(2 * np.pi))) * \
np.exp(-((x_line - mu) ** 2) / (2 * sigma ** 2))
#1) x=16.5์ ์ธ๋ก์ (๋นจ๊ฐ ์ ์ )๊ทธ๋ฆฌ๊ธฐ
plt.axvline(x=x_line, color='red', linestyle='--', label='x=16.5')
#2) ํด๋น ํ๋ฅ ๋ฐ๋๊ฐ์ ๊ฐ๋ก์ (๋นจ๊ฐ ์ค์ )๊ทธ๋ฆฌ๊ธฐ
plt.axhline(y=pdf_value, color='red', label=f'y={pdf_value:.3f}')
#๊ทธ๋ํ ๊พธ๋ฏธ๊ธฐ
plt.title(f'ฮผ={mu}, ฯ={sigma}')
plt.xlabel("x(apple weight)")
plt.ylabel("Probability Density")
plt.legend()
plt.show()
๐ ์ถ์ฒ
https://digestize.medium.com/stat-digest-likelihood-is-not-probability-b5bce82eded5
Stat Digest: Likelihood is not Probability
Clearly explained with examples
digestize.medium.com
https://modulabs.co.kr/blog/probability-versus-likelihood
ํ๋ฅ vs ๊ฐ๋ฅ๋
ํ๋ฅ ์ ํน์ ๊ฒฐ๊ณผ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด๋ ๊ธฐํ๋ฅผ ๋ํ๋ ๋๋ค. ๋ชจ๋ธ ๋งค๊ฐ๋ณ์์ ๋ฐ๋ผ ์์ธกํ ํน์ ๊ฒฐ๊ณผ์ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ ์๋ฏธํฉ๋๋ค. ๋ฐ๋ฉด ๊ฐ๋ฅ๋๋ ๋ชจ๋ธ์ด๋ ๊ฐ์ค์ด ๊ด์ฐฐ๋ ๋ฐ์ดํฐ์ ์ผ๋ง๋ ์
modulabs.co.kr