import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm, laplace
# 가우시안 분포
= 0 # 평균
mu = 1 # 표준편차
sigma
= np.linspace(mu - 3*sigma, mu + 3*sigma, 100) # x 값 범위 설정
x = norm.cdf(x, loc=mu, scale=sigma) # 가우시안 분포 CDF
gaussian_cdf
plt.plot(x, gaussian_cdf)'Gaussian Distribution CDF')
plt.title('x')
plt.xlabel('Cumulative Probability')
plt.ylabel(
plt.show()
# 라플라스 분포
= 0 # 평균
loc = 1 # 스케일 매개변수
scale
= laplace.cdf(x, loc=loc, scale=scale) # 라플라스 분포 CDF
laplace_cdf
plt.plot(x, laplace_cdf)'Laplace Distribution CDF')
plt.title('x')
plt.xlabel('Cumulative Probability')
plt.ylabel( plt.show()
Definition
CDF(Cumulative Distribution Function) 누적 분포 함수
가우시안 분포
\[F(x) = \frac{1}{\sqrt{2\pi \sigma^2}} \int_{-\infty}^x e^{\frac{1}{2} (\frac{x-\mu}{\sigma})^2}, -\infty < x< \infty\]
라플라스 분포Laplace distribution
\[F(x) = \begin{cases} \frac{1}{2}e^{\frac{x-\mu}{b}} & if x \le \mu \\ 1-\frac{1}{2}e^{-\frac{x-\mu}{b}} & if x \ge \mu \end{cases}\]
PDF(Probability Distribution Function) 확률 밀도 함수
가우시안 분포
\[f(x) = \frac{1}{\sqrt{2\pi \sigma^2}} e^{\frac{1}{2} (\frac{x-\mu}{\sigma})^2}, -\infty < x< \infty\]
라플라스 분포Laplace distribution
\[f(x) = \frac{1}{2b}e^{-\frac{|x-\mu|}{b}}, -\infty < x< \infty\]
CDF
import numpy as np
import matplotlib.pyplot as plt
# 가우시안 분포
= 0 # 평균
mu = 1 # 표준편차
sigma
= np.linspace(mu - 3*sigma, mu + 3*sigma, 100) # x 값 범위 설정
x = np.exp(-(x - mu)**2 / (2 * sigma**2)) / (sigma * np.sqrt(2 * np.pi)) # 가우시안 분포 함수
gaussian
plt.plot(x, gaussian)'Gaussian Distribution')
plt.title('x')
plt.xlabel('Probability Density')
plt.ylabel(
plt.show()
# 라플라스 분포
= 0 # 평균
loc = 1 # 스케일 매개변수
scale
= np.exp(-np.abs(x - loc) / scale) / (2 * scale) # 라플라스 분포 함수
laplace
plt.plot(x, laplace)'Laplace Distribution')
plt.title('x')
plt.xlabel('Probability Density')
plt.ylabel( plt.show()
sigma/scale이 다를때
# 가우시안 분포
= 0 # 평균
mu = 1 # 표준편차
sigma
= np.linspace(mu - 3*sigma, mu + 3*sigma, 100) # x 값 범위 설정
x = np.exp(-(x - mu)**2 / (2 * sigma**2)) / (sigma * np.sqrt(2 * np.pi)) # 가우시안 분포 함수
gaussian
='sigma=1')
plt.plot(x, gaussian,label'Gaussian Distribution')
plt.title('x')
plt.xlabel('Probability Density')
plt.ylabel(
= 2 # 표준편차
sigma
= np.linspace(mu - 3*sigma, mu + 3*sigma, 100) # x 값 범위 설정
x = np.exp(-(x - mu)**2 / (2 * sigma**2)) / (sigma * np.sqrt(2 * np.pi)) # 가우시안 분포 함수
gaussian
='sigma=2')
plt.plot(x, gaussian,label
= 3 # 표준편차
sigma
= np.linspace(mu - 3*sigma, mu + 3*sigma, 100) # x 값 범위 설정
x = np.exp(-(x - mu)**2 / (2 * sigma**2)) / (sigma * np.sqrt(2 * np.pi)) # 가우시안 분포 함수
gaussian
='sigma=3')
plt.plot(x, gaussian,label='upper left',facecolor='white', frameon=True) plt.legend(loc
# 라플라스 분포
= 0 # 평균
loc = 1 # 스케일 매개변수
scale
= np.exp(-np.abs(x - loc) / scale) / (2 * scale) # 라플라스 분포 함수
laplace
='scale=1')
plt.plot(x, laplace,label'Laplace Distribution')
plt.title('x')
plt.xlabel('Probability Density')
plt.ylabel(
= 2 # 스케일 매개변수
scale
= np.exp(-np.abs(x - loc) / scale) / (2 * scale) # 라플라스 분포 함수
laplace
='scale=2')
plt.plot(x, laplace,label
= 3 # 스케일 매개변수
scale
= np.exp(-np.abs(x - loc) / scale) / (2 * scale) # 라플라스 분포 함수
laplace
='scale=3')
plt.plot(x, laplace,label='upper left',facecolor='white', frameon=True) plt.legend(loc