2013-12-18 5 views
3
I이 같은 비율을 평가 해 할

의 합계 exponetial의 비율을 평가하는 것이다것이 가능 지수들

enter image description here

또는 대형 Y 값

\begin{equation} 
\frac{e^{y_t}}{\sum_{i=1}^T{e^{y_i}}} 
\end{equation} 

. 그러나 통계 소프트웨어 (예 : R)는 exp (800) 또는 더 큰 수를 평가할 수 없습니다. 그런 다음 문제는 분수가 NaN으로 평가된다는 것입니다. 그러나 우리는이 비율이 항상 0과 1 사이임을 알고 있습니다. 문제를 해결하기 위해 수학이나 프로그래밍 기법을 사용할 수 있습니까? 정말 고맙습니다.

+1

필자는 사용하지 않았지만이 R 라이브러리는 http://cran.r-project.org/web/packages/Rmpfr/index.html에서 임의의 정밀도로 숫자를 허용합니다 (즉, 당신은 메모리와 컴퓨팅 파워를 가지고 있습니다.) –

+0

나는 이것을 시도 할 것이고, 고마워요. – Glenn

답변

3

나는 지수

를 합산하여

  • 가 상단에 1을 넣어 시도하고 합

  • 합의 각 용어를 단순화의 각 용어에 exp(-Y[t])를 배포 할 것

    또는 일부 그러한 대수.

    그것을 보는 또 다른 방법은 ...

    당신은 전체 부분이 가까이 1의 경우 음 0과 1 , 즉 분모가 합리적 바인딩 의미 말한다.

    0에 가까울 경우 분모가 매우 커진다는 의미입니다. 분모를 합산하는 것이 부당하게 커지면 방금 종료하십시오. 당신은 그것이 증가 할 수 있다는 것을 알고 있습니다.

    또한 합계의 조건을 정렬하여 가장 큰 지수가 먼저있는 조건을 정렬 할 수 있습니다. 그런 식으로 당신은 더 일찍 비합리성에 빠지게됩니다.

+0

어쩌면 나는 분명히하지 않았다. 여기서 문제는 y_t = 800 일 때 exp (800)가 Inf라고 평가된다는 것입니다. 그러면 분모는 Inf입니다. Inf/Inf는 정의되지 않았습니다. 그러나 소프트웨어 (또는 컴퓨터)가 충분히 강력하면 exp (800)는 크지 만 유한 수로 평가됩니다. 그리고 분모도 마찬가지입니다. 그렇다면 전체 분수는 0에서 1 사이의 숫자입니다. – Glenn

+0

@ user2966729 : 합계의 용어를 합리적인 숫자로 줄이기를 원한다면 전체를 'exp (-Y_t)'로 스케일 할 것을 제안하려고했습니다. 엄청난 수를 거대한 수로 나눌 필요는 없습니다. –

+1

도움 주셔서 감사드립니다. 첫 번째 코멘트를 추가 한 순간 나는 후회했다. 당신의 아이디어는 훌륭합니다. 나는이 간단한 방법을 깨닫지 못했다. – Glenn