내가 이해하기 조금 어려운 질문을 찾을 수 있지만, 여기 내 해석은 다음과 같습니다 그렇다면 나는 다음과 같은 형식으로 상태에서 확률 분포를 식별 할.
다음 상태가 "LHR - BA"
인 것을 고려하십시오. 어떻게 그때
그래서 나는이 글을 읽을 방법은, 당신이 알고있는 상태에서 확률 분포를 파악 않는 시간에 톤 +1 시스템 상태 "LHR - BA"
에 당신은 시간에 분포 확률을 알고 싶어요 t. 즉, 당신은 무조건적인 분포의 일부 추정이 필요,이 확률이 작동하지
P(S(t)=x) * P(S(t+1)="LHR - BA" | S(t)=x)/P(S(t+1)="LHR - BA")
같다 Bayes' law에 따르면 조건부 확률
P(S(t)=x | S(t+1)="LHR - BA")
을합니다. t과 합리적인 (여기서는 정확한 용어를 모르는) 마르코프 체인의 경우 간단히 (희망적으로 고유 한) 정상 상태를 취할 수 있습니다.
mcEst <- mcFit$estimate
mcSteady <- steadyStates(mcEst)
sapply(states(mcEst), function(x) transitionProbability(mcEst, x, "LHR - BA")*mcSteady[1,x]/mcSteady[1,"LHR - BA"])
을하지만 아마 당신은 더 좋은 방법이 쓰고 싶어하고, 가능한 모든 S(t+1)
아니라 "LHR - BA"
에 대한 행이 : 그 해석하면 매우 직접적인 방식으로 R에 상기 식을 변환 할 수 있습니다. 이를 위해서는 transitionProbability
을 호출하는 대신에 변환 행렬을 직접 처리해야합니다. 왜냐하면이 방법은 벡터화 된 인수를 제대로 사용할 수 없기 때문입니다.
tm <- [email protected]
if ([email protected]) tm <- t(tm)
res <- tm * t(outer(mcSteady[1,], mcSteady[1,], "/"))
처음 두 줄은 천이 행렬을 획득하고, 행 (제 1 인덱스)가 목표 상태와 열 (제 인덱스) 소스 상태인지 확인. 이런 종류의 작업을 수행하는 배송 기능은 getMethods("transitionProbability")
을 참조하십시오. 그 시점에서 그래서 당신은 당신이 다음 정상 상태를 가지고, 모든 가능한 조합을
tm[i,j] = P(S(t+1)=i | S(t)=j)
있습니다. 당신은
outer(mcSteady[1,], mcSteady[1,], "/")[i,j] = mcSteady[1,i]/mcSteady[1,j]
입니다. 이것은 잘못된 방법입니다.그래서 당신은 조옮김하고 최종 결과를 얻기 위해 당신 곱 tm
에 의해
t(outer(mcSteady[1,], mcSteady[1,], "/"))[i,j] = mcSteady[1,j]/mcSteady[1,i]
수 :
res[i,j] = P(S(t+1)=i | S(t)=j) * P(S(t)=j)/P(S(t+1)=i)
그 결과 테이블의 각 행을 주어진 후속 상태에 대해 한 유통 될 것입니다. 요청한 사람을 포함 :
> res["LHR - BA",]
ATL - DL BOS - BA BOS - DL BOS - ZE BRU - BA IAD - ZE LGW - BA
0.23379630 0.37037037 0.00000000 0.00000000 0.02083333 0.00000000 0.20833333
LHR - BA TPA - BA
0.16666667 0.00000000