엑셀을 이용한 모델 구축 : 마르코프 모델의 기본 

마르코프 모델은 만성 질환을 처리하는 대표적인 모델 중 하나로 이번에는 엑셀을 사용해 간단한 마르코프 모델을 만들어 본다.

1. 이전까지의 모델 수정

마르코프 모델에 대한 이야기에 들어가기 전에 마지막까지 만들어 온 엑셀 모델을 수정하는 작업부터 한다. 

감도 분석을 실시한 결과, 미묘하게 결과가 다른 것은 일부 셀의 설정을 설명하는데 충분하지 않은 부분이 있었다. 

지난번에는 B약물을 사용했을 때의 부작용 발생률이 변화한 경우의 감도 분석을 실시했으나 ‘부작용이 있다’는 확률이 변화하면 저절로 ‘부작용’의 확률도 변화했다. 

‘부작용이 있다’는 확률이 0.1이라면 ‘부작용’ 확률은 0.9지만 ‘부작용이 있다’ 확률이 0.2가 되면 부작용 확률은 0.8이 돼야한다. 엑셀의 설정도 ‘부작용이 있다’ 확률이 변화하면 그에 응해 ‘부작용 없음’의 확률도 변화하도록 해야 한다. 

구체적으로는 <도표1>과 같은 부작용의 확률(0.9)이 입력되는 C12 셀에 숫자가 아닌 ‘= 1-C20’과 같은 계산식을 입력한다. 

이제 마지막으로 감도 분석을 실시해 기존의 결과와 동일한 결과를 얻을 수 있다고 살펴본다. 

2. 마르코프 모델의 기본

지금까지 다뤄 온 의사 결정 트리는 비교적 짧은 기간에 환자의 예후를 모델링하는 데 적합하고 주로 급성 질환의 분석에 사용된다. 한편 마르코프 모델은 환자의 장기 상태 변화를 시뮬레이션 하는 방법으로 주로 만성 질환의 분석에 사용된다. 

의사 결정 트리 구조가 비교적 단순하고 직관적으로 이해하기 쉬운 반면, 마르코프 모델은 구조를 이해하는데 다소 시간이 걸릴 수 있다. 엑셀을 이용한 모델 만들기에 들어가기 전에, 이번에는 먼저 마르코프 모델의 구조를 학습한다.

(1) 마르코프 모델의 구조

마르코프 모델은 유한의 상태 상과 상태 간 추이의 정의에 의해 구성된 모델이다. 그러면 왠지 어려울 것 같은 이미지이지만, 사실 아주 간단한 생각이다. 

마르코프 모델을 만들기 위해서는 먼저 그 분석에서 취급하고 싶은 환자의 상태 상들을 정의해야 한다. 다음 일정한 간격(1년마다, 1개월마다 등)에서 정의한 상태 사이를 환자가 어떻게 이동 하는지를 설정한다. 

“어떻게 이동할까"는 3가지 의미가 있다. 첫 번째는 “어떤 상태 간의 이동이 일어날까", 두번째는 “어느 방향으로 이동이 일어날까", 그리고 마지막은 “이동 속도는 어느 정도인가" 등이다. 

<도표2>에 간단한 마르코프 모델의 예를 제시했다. 이런 도표를 상태추이도(state-transition diagram)라고 한다. 

상태 추이도에서는 상정한 환자의 상태 이미지를 원으로 나타낸다. 당연한 이야기이지만, 여기에 표시되지 않은 상태는 그 모델에서 처리 할 수 없다. 애널리스트들은 분석에 필요한 상태 상을 분석하기 전에 모두 식별해야 한다. 

<도표2>의 마르코프 모델은 ‘건강', ‘이환', ‘사망' 등 3가지 상태를 정의하고 있다. 이러한 마르코프 모델에서 처리 상태를 마르코프 스테이츠라고 한다. 마르코프 모델에서 환자는 반드시 하나의 마르코프 스테이츠에 존재한다.
 
시간이 경과함에 따라 환자는 정의된 여러 마르코프 스테이츠 사이를 이동해 간다. 일례로 ‘건강’에 있던 환자의 일부는 점차 ‘이환’으로 이동한다. 그러한 추이는 ‘건강’에서 ‘이환’으로 향하는 화살표로 표시된다.
 
<도표2>는 ‘이환’에서 ‘건강’으로 향하는 화살표는 아니지만, 이것은 한 번 ‘이환' 상태가 되면 ‘건강' 상태로 돌아오지 않는 것을 의미한다. ‘사망’으로 이동해 버리면 이후 상태 변화는 일어나지 않고 계속 거기에 머물러 있다. 상태 간의 이동 속도를 설정하기 위해서는 먼저 이동을 생각하는 시간 단위를 결정해야 한다.
 
상태 간의 이동을 1년 단위로 생각하든가, 아니면 1개월 단위로 생각하든지 결정한다. 

이런 시간 단위의 수를 마르코프 주기라고 한다. 종종 마르코프 주기는 1년간 이용되고 있지만, 더 짧은 마르코프 주기(1개월과 3개월)가 사용되는 경우도 있다. 

<도표2>의 마르코프 모델에서는 마르코프 주기를 1년간으로 ‘건강’에서 매년 20%의 확률로 ‘질병’으로, 또 20%의 확률로 ‘사망’으로 전환하도록 정의돼 있다. 나머지 60%는 그대로 ‘건강’으로 남는다. ‘이환’에서 매년 40%의 확률로 ‘사망’으로 전환하거나 ‘이환’에 머물러야 한다. 

앞서 언급했듯이 ‘이환’에서 ‘건강’으로 향하는 화살표는 없다. 즉 이 모델에서는 ‘이환’은 불치병으로 한 번 발병하면 낫지 않는 병으로 설정돼 있다.

(2) 마르코프 모델에 의한 코호트 시뮬레이션

마르코프 모델을 사용한 비용대 효과 분석을 위해서는 우선 정의 된 마르코프 스테이츠 사이를 환자가 이동하는 모습을 시뮬레이션을 통해 추정한다. 이 시뮬레이션의 방법은 특정 집단(코호트)이 시간이 지남에 따라 각 마르코프 스테이츠로 분산해 나가는 모습을 시뮬레이션 한 방법(코호트 시뮬레이션)과 코호트를 구성하는 개개인이 각각 독립적으로 각 마르코프 스테이츠로 이동해 나가는 모습을 시뮬레이션 하는 방법(개인 레벨 시뮬레이션) 등 2종류가 있다. 

코호트 시뮬레이션을 통해 ‘건강’ 상태에 존재하는 100명의 코호트가 3년간 다른 마르코프 스테이츠로 옮겨가는 모습을 시뮬레이션 한 것은 <도표3>이다. 

<도표3>의 결과는 마르코프 스테이츠에 존재하는 코호트의 수와 마르코프 스테이츠 사이에 설정된 추이 확률에 따라 계산 할 수 있다. 

예를 들어 1년 간 ‘건강'에 있었던 100명 가운데 이듬해 20%는 ‘발병’으로, 다른 20%는 ‘사망’으로 이동한다. 나머지 60%는 다음 해에도 ‘건강’으로 남는다. 

‘이환’과 ‘죽음’의 수는 0명이므로 이러한 마르코프 스테이츠에서의 이동은 생각할 필요가 없다. 그래서 2년차에는 ‘건강’, ‘이환’, ‘사망’에 각각 60명(=100명 -20명 -20명), 20명, 20명을 분산시킬 수 있다. 

3년째 이후도 같은 계산에 의해 마르코프 스테이츠 사이의 분포를 계산 할 수 있지만 여러 마르코프 스테이츠의 출입을 고려할 필요가 있기 때문에 계산은 조금 복잡하다. 

이러한 계산을 반복하면 장기 코호트 분포(각 마르코프 스테이츠 환자가 어떻게 분포하고 있는지)를 추정 할 수 있다. <도표4>는 매년 코호트 분포를 시계열로 10년 간 표시한 것이다. 

먼저 ‘건강’에 있던 100명이 10년 후에는 거의 ‘사망’으로 전환하고 있는 모습을 알 수 있다.
 
코호트 시뮬레이션이 집단 단위로 상태 간 이동을 생각하는 반면 개인 차원 시뮬레이션은 환자 단위로 상태 간의 이동을 시뮬레이션 한다. 

코호트 시뮬레이션과 개인 차원 시뮬레이션은 엑셀을 사용해 실시 할 수 있지만, 개인 수준 시뮬레이션은 VBA라는 프로그램 기능을 사용하지 않으면 실시 할 수 없기 때문에 이번에는 코호트 시뮬레이션에 초점을 맞추었다.

(3) 마르코프 모델에 의한 치료 아웃컴(결과) 계산

각 사이클의 코호트 분포와 각 상태에 설정한 QOL 값이나 의료비에 의해 장기간에 걸친 QALY와 의료비를 계산 할 수 있다. 

<도표5>에 마르코프 모델의 비용과 QALY를 계산하는 방법을 제시했다. 

계산을 위한 전제 조건으로 ‘건강’, ‘이환’, '사망’의 연간 의료비를 각각 1만 엔, 10만 엔, 0엔으로 한다. 또한 마찬가지로 ‘건강’, ‘이환’, ‘사망’의 QOL 값을 각각 1, 0.5, 0으로 했다. 

우선 의료비의 계산을 생각한다. 1년차는 ‘건강’, ‘이환’, ‘사망’에 각각 100 명, 0명, 0명처럼 존재하고 있기 때문에, 각 마르코프 스테이츠의 연간 의료비를 걸어 1년차 의료비를 다음과 같이 계산한다. 

1만엔×100명+10만엔×0명+0엔×0명= 100만엔 

2년차에는 ‘건강’, ‘이환’, ‘사망’에 각각 60명, 20명, 20명이 존재하고 있기 때문에 2년째에 발생하는 의료비는 다음과 같이 계산할 수 있다. 

1만엔×60人+10만엔×20人+0엔×20명=260만엔
 
마찬가지로 3년째의 의료비는 다음과 같이 계산할 수 있다.
 
1만엔×36명+10만엔×24명+0엔×40명=276만엔 

따라서 3년간의 총 의료비는 100만엔+260만엔+276만엔=636만엔 이다. 

이 금액은 100명분의 3년간 기대 의료비로 간주 될 수 있다. 만약 1인 당인 경우 6.36만엔이다. 

QALY 계산도 의료비의 계산과 동일한 방법으로 실시 할 수 있다. QALY는 생존년을 QOL 값으로 가중치한 지표이기 때문에, 사이클마다 각 마르코프 스테이츠에 분산된 코호트 수와 마르코프 스테이츠에 설정된 QOL 값을 걸쳐 매년 QALY를 계산한다. 

예를 들어 2년째라면 ‘건강’, ‘이환’, ‘사망’에 각각 60명, 20명, 20명이 존재하고 각 마르코프 스테이츠의 효용 값은 1, 0.5, 0과 같이 설정돼 있기 때문에, 2년째의 QALY는 다음과 같이 계산할 수 있다. 

1.0×1년×60명+0.5×1년×20명+0×1년×20명=70QALYs
 
의료비와 마찬가지로 위의 QALY는 코호트 100명 당 값이므로 환자 1인당으로 환산하면, 70QALYs/100=0.7QALYs이다.

개의 댓글

0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400

내 댓글 모음

이 시각 추천뉴스
랭킹뉴스