Koo's.Co

오차함수와 정규분포와의 관계 본문

DataScience

오차함수와 정규분포와의 관계

kth321 2020. 9. 2. 04:13

1. 오차 함수

다음과 같은 함수를 오차 함수(Error Function)라 한다. 줄여서 erf라고도 한다.

 

2. 오차 함수와 정규분포와의 관계

오차 함수는 정규분포의 cdf와 밀접한 관계가 있는데 둘의 관계를 확인해 보려 한다.

 

즉, 정규분포의 cdf와 오차함수는 본질적으로 같은 함수임을 알 수 있다. 오차 함수에 값을 대입하고 평행이동을 하면 정규분포의 cdf를 구할 수 있다.

 

3. 그래프 확인하기

math.erf 함수를 이용하면 정규분포의 CDF를 구할 수 있다

import matplotlib.pyplot as plt
import math

def normal_cdf(x, mu=0, sigma=1):
    return (1+math.erf((x-mu)/math.sqrt(2)*sigma))/2

xs = np.arange(-5, 5, 0.1)
plt.plot(xs, [normal_cdf(x, sigma=1) for x in xs], '-', label='mu=0, sigma=1')

평균값이 동일할 때, 표준편차가 커지면 기울기가 완만해지고,

표준편차가 작으면 기울기가 가팔라진다

또한 표준편차가 동일하면 그래프는 같고 평행 이동한 그래프가 나옴을 알 수 있다

 

scipy.stats.norm의 pdf와 마찬가지로 cdf도 제공하므로 scipy를 이용하면 간편하게 플롯 할 수 있다

import numpy as np
import scipy.stats as st

xs = np.arange(-5, 5, 0.1)
xs_2 = np.arange(-5, 5, 0.1)
plt.plot(xs_2, st.norm.cdf(xs_2, loc=0, scale=1), 'r+')
plt.plot(xs, [normal_cdf(x, sigma=1) for x in xs], '-', label='mu=0, sigma=1')
plt.legend()
plt.title('Gaussian CDF')

erf함수를 이용하여 구한 정규분포의 CDF와 scipy를 이용해 구한 CDF 함수의 그래프가 동일함을 볼 수 있다

Comments