전환 매트릭스 : 이산-> 연속 시간


8

나는 Tauchen (1986) (Python equivalent to this )에 해당하는 코드를 가지고 있는데, 이는 이산 시간 AR (1) 프로세스의 이산 근사를 생성합니다.

예를 들어 그리드 크기를 3으로 설정하면 생산성 벡터가 제공됩니다.

[A_1, A_2, A_3,]

전이 확률 매트릭스

A_11, A_12, A_13
A_21, A_22, A_23
A_31, A_32, A_33

row i, column j은에서에서 i로 전환 할 확률을 제공 j하며 각 행의 합이 대략 1임을 만족시킵니다.

나는 이것을 전환 행렬과 동등한 연속 시간으로 어떻게 변환 할 수 있는지 궁금합니다. 상태들 사이의 유량을 제어하는 ​​포아송 확률 세트.

이 점에서 내가 기억하는 것은 다음을 사용하여 포아송 확률에 대한 선형 근사를 얻을 수 있다는 것입니다.

Prob(ij)=limΔ0exp(λijΔ)1λijΔ

그러나 그것이 이전 행렬을 로 변환하는 데 어떻게 도움이되는지 알 수 없습니다 ... 나는 어떤 제안을 기대하고 있습니다.λ

답변:


6

가정하자 인 포아송 전이 속도의 행렬 에 대한 이고 비율이 상태되는 상태로 천이 , 그리고 비율을 준다 있는 상태에서 다른 상태로 전환됩니다. 각 행은 0에 합산됩니다.Bn×nBij0ijijBii0iB

만약 가 시간 에서의 확률 분포를 , 정의에 의해 우리는 ODE 우리는 이런 종류의 ODE에 대한 해결책이 무엇인지 알고 있습니다 : , 는 IS 행렬 지수 의 . 따라서 이후에 가 Markov 전환 행렬 를 생성하도록하려면 가 필요합니다 .p(t)tB

p˙(t)=Bp(t)
p(t)=eBtp(0)eBtBtBAt=1eB=A

원칙적으로 얻을 , 우리는 복용, 매트릭스 지수를 반전해야하는 행렬 대수 의 . 문제는 각 행렬에 많은 행렬 로그가 있다는 것입니다. 1 차원 복소 공간의 로그에는 무한히 많은 가지가 있으며 이는 차원 공간의 행렬에 대해 이야기 할 때 더욱 복잡해 집니다. 이러한 로그의 대부분은 만족스럽지 못한 포아송 전이 행렬이 아닙니다. 아마도 실제 값이 아니거나 항목에 올바른 부호가 없을 것입니다. 그러나 둘 중 하나 이상이 될 수 있습니다. 어떤 경우에는 Poisson 가 없는 것처럼 Markov 해당하는 둘 이상의 PoissonBAnBAB 해당합니다 . 지저분합니다.A

다행히도, 삶이 상대적으로 단순하고 거의 확실하게 자신의 경우를 포함하는 상황 이 있습니다. 모든 고유 값 이 양 의 고유A 한 현실 일 . 이 경우 실제 되는 로그는 하나 뿐이며 계산하기 쉽습니다. 행렬을 로 대각선 화 하고 고유 값의 실제 로그를 가져 와서 얻습니다. , 여기서 입니다. 실제로이 작업을 직접 수행 할 필요는 없습니다. Matlab에서 명령 (아마도 Python도 가능)을 사용하면이 를 정확하게 얻을 수 있습니다 .AA=VΣV1B=VΩV1ωii=log(σii)logm(A)B

이 주어지면 실제로 포아송 행렬인지 확인하는 것입니다. 의 구성으로 인해 행이 모두 0으로 설정되는 첫 번째 요구 사항은 자동으로 충족됩니다 . ** 두 번째 요구 사항은 대각선 요소가 음수이고 비 대각선 요소가 양수 여야한다는 것입니다. ), 확인하기 쉽습니다.BB

이 작업을 확인하기 위해 불연속 AR (1)과 유사한 3- 상태 Markov 프로세스 의 를 고려해 보겠습니다 . 이제 를 Matlab에 입력하면 get 이것은 실제로 유효한 포아송 전이 행렬입니다. 행의 합은 0이고 올바른 부호가 있으므로 이것이 우리의 대답입니다.A

A=(0.50.40.10.20.60.20.10.40.5)
B=logm(A)
B=(0.860.800.060.400.800.400.060.800.86)

양의 고유 값을 갖는 경우는 Markov 체인에 부정적이거나 복잡한 고유 값을 요구하는 일종의 진동 동작이없는 모든 경우에 걸쳐 이산 AR (1)을 포함하여 매우 중요합니다.

보다 일반적으로 Matlab 의 명령 은 모든 고유 값을 와 사이의 허수 부분으로 만드는 주 스칼라 로그와 유사한 행렬 로그를 제공합니다 . 문제는 이것이 반드시 원하는 로그 일 필요는 없다는 점입니다.이를 보면 생성 하는 포아송 를 놓칠 수 있습니다 . (그래서 우리가 이것에 대해 걱정할 필요가없는 긍정적 고유 값 사례가 그렇게 좋았습니다.) 그럼에도 불구하고, 이러한 다른 경우에도 그것이 작동하는지보기 위해 상처를 입을 수는 없습니다.logmππBA

그런데, 마르코프 행렬 를 생성 하는 가 있는지를 보는이 문제는 광범위하게 연구되어왔다. 이를 포함 가능성 문제 라고합니다 . Davies의이 훌륭한 설문 조사 기사 에서 일부 개요와 참조를보십시오 . 그래도 문제의 기술적 측면에 대해서는 전문가가 아닙니다. 이 답변은 내 자신의 해킹 경험과 직관을 기반으로합니다.BA

나는 ecksc의 의견을 두 번째로 끝내고 Tauchen 방법을 통해 얻은 행렬을 가져 오는 것보다 신중하게 장착 된 AR (1)을 유한 상태 연속 시간 프로세스로 변환하는 더 좋고 더 직접적인 방법이있을 수 있다고 말하면서 의무감을 느낍니다. 계속해서 그러나 나는 그 더 좋은 방법이 무엇인지 개인적으로 모른다!


** 설명 (녹슬지 만) : 는 고유 한 Perron-Frobenius 고유 ​​값이 1이며 가 확률 적이므로이 고유 값의 올바른 고유 벡터는 단위 벡터 입니다. 이것은 우리가 행렬 로그를 취할 때 여전히 고유 값이 0 인 올바른 고유 벡터입니다.AAe


2

댓글을 달 수 없거나 더 자세한 내용을 먼저 요청합니다. 당신이 연속 시간 프로세스에 이산 시간 시리즈에 끼워진 AR (1) 과정을 변환하려는 경우, 나는 관련 자원 발견 여기에 4 페이지를.

AR (2) 프로세스에서 CAR (2) 프로세스의 계수를 추정하기 위해 계산이 제공되지만 물론 두 번째 계수를 0으로 대체하여 변환을 얻을 수 있습니다.

불연속 시간 Markov Chain을 연속 시간으로 변환하려는 경우 더 복잡해지며 더 많은 도움을주기 전에 더 읽어야합니다. :) 그동안 계속되는 Markov Chains에 관한 좋은 독서 자료가 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.