• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

개별 관측데이터에 대한 가우시안 커널함수 적용 파트에서 질문

21.05.04 23:12 작성 조회수 98

0

잘 이해가 되지 않는 부분이 있어 질문드립니다.

해당 파트에서 support로 -4에서 4까지의 범위를 200개로 나누는데

범위와 해당 범위를 몇개로 나눌 것인지는 임의로 정하는 것인지, 그리고 왜 해당 범위를 나누어 줘야 하는 것인지 궁금합니다.

또한 norm.pdf에서 pdf가 정규분포의 확률밀도 값을 구하기 위한 메서드가 맞나요? 

답변 1

답변을 작성해보세요.

0

1. 범위와 해당 범위를 몇개로 나눌 것인지는 임의로 정하는 것인지, 그리고 왜 해당 범위를 나누어 줘야 하는 것인지 궁금합니다.

=> 임의로 정하시면 됩니다. 단 관측값 x 는 support내에서 발생해야 합니다.

x = np.random.normal(0, 1, size=30)와 같이 평균이 0, 표준 편차가 1로 했으므로 -4 ~ 4 사이의 범위 값을 정하면 x데이터는 random으로 발생시켜도 99% 이상은 +/- 4배의 표준 편차 안에 포함되므로  적절한 범위라고 판단되어 -4 ~ 4 사이의 값을 정했습니다.

-4 ~ 4 사이의 값을 너무 작게 정해주면 확률 밀도 함수  norm.pdf(support)가 우리가 알고있는 좌우 대칭형의 종을 거꾸로 뒤집은 형태로 이상적인 값으로 잘 나오지 않습니다. 그래서 -4 ~4 사이에 200개의 값을 구해서 이를 기반으로 norm.pdf(support)를 구했습니다. 

아래와 같이 support를 10개만 만드는 코드로 변화 시키면 가우시안 커널이 정규 분포형태로 잘 만들어지지 않음을 알 수 있습니다.

bandwidth = 1.06 * x.std() * x.size ** (-1 / 5.)
support = np.linspace(-4, 4, 10)

2. norm.pdf에서 pdf가 정규분포의 확률밀도 값을 구하기 위한 메서드가 맞나요

=> stats.norm(x_i, bandwidth).pdf(support)는 평균이 x_i, 표준 편차가 bandwidth인 random 값에 대해서 평균이 0, 표준편차가 1, 모수가 support인 정규 분포 확률 밀도 함수를 반환합니다.