Sei sulla pagina 1di 16

MODELOS DE CADENAS DE MARKOV EN LA PRÁCTICA:

UNA REVISIÓN DE OPCIONES DE SOFTWARE DE BAJO


COSTE
Jiaru Bai*1, Cristina del Campo**2, L. Robin Keller*3
* Paul Merage School of Business, University of California, Irvine, 92697-3125, USA.
** Corresponding author, Facultad de Ciencias Económicas y Empresariales, Campus de Somosaguas,
Universidad Complutense de Madrid, 28223 Pozuelo de Alarcón (Madrid), SPAIN

ABSTRACT

Markov processes (or Markov chains) are used for modeling a phenomenon in which changes over time of a
random variable comprise a sequence of values in the future, each of which depends only on the immediately
preceding state, not on other past states. A Markov process (PM) is completely characterized by specifying the
finite set S of possible states and the stationary probabilities (i.e. time-invariant) of transition between these
states. The software most used in medical applications is produced by TreeAge, since it offers many advantages
to the user. But, the cost of the TreeAge software is relatively high. Therefore in this article two software
alternatives are presented: Sto Tree and the zero cost add-in program "markovchain" implemented in R. An
example of a cost-effectiveness analysis of two possible treatments for advanced cervical cancer, previously
conducted with the TreeAge software, is re-analyzed with these two low cost software packages.

KEYWORDS: cervical cancer treatments, cost-effectiveness analysis, Markov decision trees, stationary
transition probabilities

RESUMEN

Los procesos de Markov (o cadenas de Markov) se utilizan para el modelización de un fenómeno en el que el
cambio con el tiempo de una variable aleatoria comprenden una secuencia de valores en el futuro, cada uno de
los cuales depende únicamente del estado inmediatamente anterior, no de otros estados pasados. Un proceso de
Markov (PM) se caracteriza por completo mediante la especificación del conjunto S finito de estados posibles y
las probabilidades estacionarias (es decir, invariante en el tiempo) de transición entre esos estados. El software
más utilizado en aplicaciones médicas es producido por TreeAge, ya que ofrece muchas ventajas para el usuario.
Pero, el coste del software TreeAge es relativamente alto. Por lo tanto, en este artículo se presentan dos
alternativas de software: Sto Tree y el coste cero del paquete "markovchain" implementado en R. Un ejemplo de
un análisis de coste-efectividad de dos tratamientos posibles para el cáncer de cuello uterino avanzado, llevado a
cabo previamente con el software TreeAge, se volvió a analizar con estos dos paquetes de software de bajo
coste.

PALABRAS CLAVE: tratamientos del cáncer de cuello uterino, análisis coste-efectividad, árboles de decisión
de Markov, probabilidades de transición estacionarias

1. INTRODUCCIÓN

Los procesos o cadenas de Markov son herramientas bien conocidas para la modelización de una
amplia gama de fenómenos en los que los cambios en el tiempo de una variable aleatoria conforman una
secuencia de valores temporales, en los que además su situación futura depende únicamente de su estado actual,
no de sus estados pasados. Un proceso de Markov (PM) queda totalmente caracterizado cuando se determina el
conjunto S (finito) de sus posibles estados y las probabilidades estacionarias (i.e. invariantes en el tiempo) de
transición entre dichos estados (Pss' = P(St+1 = s'/St = s)). Los procesos de Markov tienen aplicaciones en el
modelado y análisis de una amplia gama de los fenómenos en todas las ramas de la ciencia, que van desde la
lingüística o la biología, hasta las ciencias políticas, la medicina, la economía, la informática, y muchas otras.

Ahora bien, si a cada cambio de estado se le asigna una cantidad numérica tendremos un modelo de
Markov con recompensa. Y así surgieron durante los años sesenta y setenta, los procesos de Markov con

1
JiaruB@uci.edu
2
campocc@ccee.ucm.es
3
LRKeller@uci.edu

1
recompensa (PMR), principalmente por su aplicación en campos relacionados con la ingeniería (Howard[6]),
mientras que en otros campos como la economía hubo que esperar un poco más (ver, por ejemplo Norberg [9],
donde se presenta una aplicación de los PMR en seguros de vida). Un PMR es simplemente un proceso de
Markov en el que en cada estado se recibe una recompensa distinta (R s = E[Rt+1/St = s]). Si bien la definición
más general también incluye un posible descuento ([0,1]), puesto que con ello se evita un retorno infinito en
los procesos de Markov cíclicos así como posibilita que, si la recompensa es de carácter financiero, las
recompensas inmediatas tengan más interés que las recompensas retrasadas o futuras. Si el modelo no tiene
descuento simplemente  = 1.

Sin embargo, los procesos de Markov, con o sin recompensa, no se pueden utilizar para representar
problemas en los que en cada uno de los estados del proceso markoviano haya un gran número de decisiones
incrustadas, hecho que ocurre a menudo en situaciones que requieren toma de decisiones secuenciales donde un
decisor puede elegir entre varias opciones, cada una de ellas con una posible recompensa y una probabilidad de
transición diferentes. Dicho problema se modeliza como un proceso de decisión de Markov (PDM), que se
define como un PMR en el que además del conjunto finito de estados, S, existe un conjunto (finito) de
alternativas o acciones (A) y cuyas probabilidades de transición dependerían también de la acción considerada
Pss',a = P(St+1 = s'/St = s, A = a). Evidentemente la función de recompensa también dependería de dicha
alternativa considerada Rs,a = E[Rt+1/St = s, A = a].

Para un estudio más en profundidad de estos métodos tan potentes y sistemáticos de análisis de
sistemas estocásticos como son los procesos de Markov ver, por ejemplo, Gouberman y Siegle [3], Rubio-Terrés
[10]
o Soto Álvarez[11].

El software más utilizado en aplicaciones médicas es TreeAge, puesto que ofrece muchas ventajas al
usuario como una interfaz gráfica amigable, modelización de procesos de Markov, gráficos e informes coste-
efectividad, la posibilidad de realizar análisis de sensibilidad gráficamente, simulación Monte-Carlo integrada y
otras características. Para una descripción detallada del software, TreeAge Pro Healthcare, consulte la
documentación así como la versión de prueba en www.treeage.com.

Pero el problema que presenta TreeAge es fundamentalmente su precio, y la necesidad de renovar la


licencia todos los años (si la licencia es anual) o pagar la cuota de mantenimiento (si la licencia es estándar), lo
que, en el medio o largo plazo, termina produciendo una cantidad que puede resultar excesiva. Por ello en este
artículo se presentan dos alternativas bien de coste bajo, Sto Tree, o de coste nulo, paquete “markovchain” sobre
R y se aplican para comparar los resultados del estudio de coste-efectividad de dos tratamientos para el cáncer
de cuello uterino.

2. ANTECEDENTES

Las tecnologías de la información y de apoyo a las decisiones han evolucionado rápidamente en las
últimas décadas. Miles de millones de dólares invertidos en la investigación de la tecnología han estimulado
mejoras en la potencia de procesamiento informático, hardware, software, redes y telecomunicaciones. La rápida
evolución de estas tecnologías, ha provocado que en sólo unos pocos años la mayoría de los usuarios tengamos
ahora ordenadores personales, bien en el trabajo, bien en casa o en ambos, y una alta proporción de ellos
utilicemos paquetes de aplicaciones integradas, como, por ejemplo, Microsoft Office para Windows, LibreOffice
u OpenOffice para Linux o la suite propietaria de Mac, en nuestro día a día.

Por supuesto, la idea de revisar los programas software que se utilizan como apoyo a la toma de
decisiones no es nueva, pero según lo que las autoras han encontrado en su revisión de la literatura, Menn y
Holle[7] han publicado, hasta el momento, la única revisión existente de software de ayuda a la toma de
decisiones sanitarias basada en modelos de Markov que implementan y evalúan los costes-efectividad de
distintos tratamientos médicos. Hay algunas otras evaluaciones, como por ejemplo Bhargava, Sridhar y
Herrick[1], pero se refieren a Sistemas de ayuda a la decisión en general, sin centrarse únicamente en modelos de
Markov. Sin embargo dicha revisión se basa fundamentalmente en la comparación de estos programas con
respecto a la facilidad de uso e implementación de un modelo, el tiempo de ejecución, las características de la
presentación de resultados, y la flexibilidad, mientras que en el presente artículo las autoras están interesadas, en
tres aspectos:
– Facilidad para aprender a utilizar el programa - muchos de los sistemas disponibles son demasiado
complejos para que los usuarios los conozcan y los puedan utilizar con éxito dentro del poco tiempo que se suele
tener disponible.
– Capacidad para examinar la lógica del sistema - Un usuario que utiliza un programa desea que sea

2
transparente en su funcionamiento. Es difícil entender lo que está sucediendo a menos que se pueda comprender
la lógica de las operaciones realizadas por el sistema.
– Coste - con un presupuesto disponible siempre limitado a la hora de invertirlo en un programa software
de ayuda a la decisión se necesita un sistema libre, o al menos de coste reducido.

No parece haber una gran gama de sistemas de ayuda a la decisión médica y sanitaria propuestos en la
abundante literatura puesto que la gran mayoría de los artículos revisados por las autoras del presente artículo
utilizan TreeAge. Ello hace todavía más necesaria la revisión de las distintas opciones ahora mismo disponibles,
dos de las cuales se presentan en este artículo, con la característica añadida de su bajo o nulo coste.

3. EL EJEMPLO

Los modelos de cadena de Markov fueron introducidos en la literatura médica por Beck y Pauker [2] y
proporcionan un medio muy cómodo, y que ha sido utilizado en numerosos análisis posteriores, para dar cuenta
de las opciones de un tratamiento médico y los riesgos que se producen no sólo en el presente, sino también en
el futuro cercano o lejano. En concreto, en el artículo escrito por Minion et al. [8]) se lleva a cabo un análisis del
coste-efectividad del tratamiento de quimioterapia frente a la quimioterapia combinado con un medicamento
denominado Bevacizumab (B), vendido con el nombre de Avastin, en pacientes con cáncer de cuello uterino
persistente o metastásico. Dicho análisis se modeliza mediante un proceso de Markov con recompensa, en el que
se establecen cinco posibles estados de salud (Figura 1): respuesta (R), complicaciones limitadas (CL), progreso
(P), complicaciones graves (CG) y muerte (M), ver Figura 1. Este es el ejemplo que las autoras van a utilizar
para ilustrar cómo implementar un proceso de Markov con recompensa en distintas herramientas software.

Figura 1. Diagrama de Transiciones de la Cadena de Markov (Creado con el R Software)

En dicho modelo un paciente que está en un estado durante un mes, podrá bien permanecer en el mismo
estado o bien hacer transición a un estado diferente, con una cierta probabilidad (diferente para cada uno de los
dos tratamientos en evaluación), en el siguiente mes (Tabla 1). (En comunicación privada, Minion et al.
señalaron errores tipográficos en su tabla 2 publicada[8] originalmente: En la tabla de probabilidad de las
transiciones, la probabilidad de pasar de " Complicaciones Graves" a "Progreso" en un mes es 0,9 (no 0), y la
probabilidad de pasar de "Complicaciones Graves" a "Muerte" es 0 (no 0.9), para ambas opciones de
tratamiento. En el presenta artículo se utilizan las probabilidades corregidas) Este es el ejemplo que las autoras
van a utilizar para ilustrar cómo implementar un proceso de Markov con recompensa en distintas herramientas
software.

3
Tabla 1. Probabilidades de Transición del Estado i al Estado j en un Ciclo
De Respuesta Complicaciones Progreso Complicaciones Muerte
iaj Limitadas Graves
R CL P CG M
Quimio R 0,8671 0,0024 0,1270 0,0035 0
CL 1 0 0 0 0
P 0 0 0,8623 0 0,1377
CG 0 0 0,9 0,1 0
M 0 0 0 0 1
Quimio + B R 0,8720 0,0273 0,0823 0,0184 0
CL 1 0 0 0 0
P 0 0 0,8771 0 0,1229
CG 0 0 0,9 0,1 0
M 0 0 0 0 1

4. EL SOFTWARE STO TREE

Otra opción que permite formular un modelo de Markov es mediante el uso del software Sto Tree (Hazen[5],
http://users.iems.northwestern.edu/~hazen/StoTreeOv.html), una macro que se incrusta en Microsoft Excel, por
lo que otras características de Excel también están disponibles al mismo tiempo. Y tiene además otra ventaja
competitiva frente a TreeAge, y es que el software Sto Tree sólo cuesta 20$.

Respecto al uso concreto del software, lo primero que se debe reseñar es que Sto Tree no genera un
diagrama de transición de Markov (como el de la Figura 1), pero, en cambio, utiliza un árbol de Markov similar
al que utiliza TreeAge (Figura 2).

Figura 2. Árbol de Decisión de Markov en Sto Tree

La construcción de un modelo de Markov en Sto Tree es de un estilo más libre. No existe una
formulación estándar en Sto Tree y los nodos y arcos se pueden arrastrar a cualquier lugar de la hoja de cálculo,
a gusto del usuario. Es fácil construir un modelo de Markov en el software, simplemente añadiendo nodos y
arcos, no se necesita ningún trabajo de codificación. Lo único que hay que tener en cuenta es que para Sto Tree
hay dos tipos de arcos: la flecha ondulada representa una transición con una determinada velocidad; mientras la
flecha recta muestra una transición instantánea. El software está más adaptado a modelos de Markov continuos,
y es algo menos eficiente en modelos de Markov discretos, aunque cualquier probabilidad p se puede convertir a
una tasa r mediante el uso de la fórmula p = 1 – e-rs, donde s es la duración del ciclo. El software no considera

4
tiempo de duración para esas transiciones con la flecha recta, ya que son vistas como algo que ocurre
instantáneamente.

Siempre que haya una transición a los estados pre-existentes anteriores, se tiene que seleccionar un
nodo duplicado para representar dicha transición. Por ejemplo, del estado “Complicaciones limitadas” (CL) se
puede volver al estado “Respuesta” (R), por lo que un nodo duplicado R (con el círculo punteado en la figura 2)
se crea después de CL. A diferencia del software TreeAge, en el que el nodo terminal debe ser uno de los estados
de Markov que aparecen en ese árbol de Markov particular, el software Sto Tree puede seleccionar cualquier
estado que se haya creado anteriormente.

Los parámetros se pueden definir fácilmente usando el nombre de la función definido en Excel, lo que
permite cambiar fácilmente los valores de las variables en las celdas con nombre, y permite también hacer
análisis de sensibilidad manualmente de esta manera. Análisis automático de la sensibilidad también está
disponible en Sto Tree a través de un botón de menú, lo que permite, por ejemplo, el análisis de sensibilidad de
las probabilidades.

Figura 3. Hoja de Cálculo de Sto Tree para el Cálculo de los costes (Costs) y años de vida ajustados por calidad
(QALY, en inglés) durante 60 Ciclos de Tratamiento Mensual

La celda de la última columna es un valor lógico que mostraría “True” (verdadero) si esta fila tiene
todas las sumas en el nodo de decisión o de azar inicial. En nuestro caso (Figura 3), el nodo de azar / decisión es
"Cáncer de cuello uterino", pero en el momento 0 todos los cargos son en el estado “Quimio R1”, ya que la
flecha recta emplea 0 tiempo. Así que la celda muestra el valor “False” (falso).

El software Sto Tree no permite hacer optimización de estos modelos de Markov, que lo permite
TreeAge, lo que significa que trata los nodos de decisión de igual manera que los nodos de azar. Se puede, eso
sí, indicar la decisión elegida adjudicando la probabilidad de la rama como 1 y las demás como 0. Por ejemplo,
en la Figura 2, el paciente puede elegir entre dos tipos de tratamiento: la quimioterapia solamente y
quimioterapia más Bevacizumab. Asignamos la primera opción con probabilidad 1 y la segunda con 0, lo que
significa que la rama con sólo quimioterapia está activa ahora y eso permite obtener los resultados para esa
rama. Y lo mismo se podría hacer con la opción quimioterapia más Bevacizumab. Sin embargo, el software no
compara el resultado de las dos opciones y por tanto tampoco indica cuál es la alternativa óptima, eso queda
para el usuario.

Finalmente, se puede realizar un análisis por cohorte una vez que el árbol estocástico está completo,
como se muestra en la Figura 3. Sólo hay que especificar el tiempo de ciclo y el horizonte de tiempo, y, en su
caso, la tasa de descuento, puesto que el software también acepta tasa de descuento como en cualquier PMR.
Los años de vida ajustados por calidad (AVAC o QALY, en inglés) y los costes se pueden calcular una vez que
se han introducido los parámetros del modelo en la tabla. En la figura, cada ciclo es un mes, y por eso, el cálculo
es de los meses de vida ajustados por calidad (MVAC). La hoja es sencilla y su implementación no presenta
dificultades.

5
El usuario puede hacer un clic en "step ahead one cycle” (avanzar un ciclo) para comprobar los cálculos
en cada etapa, o puede utilizar “calculate sheet” (textualmente, calcular la hoja) para obtener los resultados
globales para el horizonte de tiempo especificado. Sin embargo, el software no proporciona una salida detallada
del análisis de la cohorte, sino que el usuario tiene que registrar el resultado de cada paso y resumir los
resultados incrementales y acumulativos en consecuencia.

Y como último detalle, una versión sin licencia permite crear los árboles estocásticos, pero no se puede
realizar ninguna de las operaciones computacionales. Sin embargo, si un árbol estocástico se ha creado en una
versión con licencia, dicho modelo puede ser compartido y utilizado en una versión sin licencia.

5. R: LA OPCIÓN GRATUITA A CONSIDERAR

Las tres autoras de este artículo son, todas ellas, profesoras en una facultad de Administración y
Dirección de Empresas. En concreto, algunas de ellas dan clase a alumnos del grado de Administración y
Dirección de Empresas y/o de Economía enseñando a dichos alumnos una amplia gama de técnicas estadísticas,
tanto básicas como avanzadas, y el paquete estadístico que utilizan con más frecuencia es R. Las ventajas de
dicho programa es que incluye todas las técnicas que se necesitan, es de código abierto y disponible sin coste
para todas las plataformas (Windows, Linux o Mac), es fácil de instalar y utilizar, e incluso se puede ejecutar
desde una unidad de CD o un USB.

Para aquellos que no han oído hablar de R o aquellos que sí han oído hablar pero se sienten
atemorizados ante la idea de tener que utilizarlo escribiendo código, les recomendamos que se lo instalen
(https://www.r-project.org/) y se bajen algunos de los manuales que existen en español (por ejemplo
https://cran.r-project.org/doc/contrib/R-intro-1.1.0-espanol.1.pdf). Pero sobre todo les recomendamos que se
instalen una de las interfaces gráficas de usuario especialmente diseñadas para trabajar con R y que lo que hacen
es facilitar al usuario el acceso a una selección de técnicas de análisis de uso muy común utilizando unos
sencillos menús (equivalentes, por ejemplo, a los que tiene SPSS). Las autoras les recomiendan el R-comander
(comúnmente conocido como Rcmdr) por ser, en su opinión, la más utilizada y sobre la que más documentación
podrán encontrar. Consulte, por ejemplo, la página web http://www.uv.es/innovamide/l4u/R/R0/R0.wiki, en
español, sobre cómo instalar R sobre Windows y cómo instalar Rcmdr y ver, por ejemplo, Guisande González,
Vaamonde Liste y Barreiro Felpeto[4] sobre cómo usarlo para diversos análisis.

Volviendo ahora al problema que nos ocupa de los procesos de Markov. En este caso el paquete de R
que se va a utilizar (markovchain) no está incorporado todavía a Rcmdr, pero a continuación explicaremos en
detalle cómo usarlo y facilitaremos, en primer lugar, el código para poder repetir el análisis realizado en este
artículo y, en segundo lugar, poder adaptarlo a cualquier problema de similares características que el lector
pueda enfrentar. En el código que aparece debajo en el cuadro gris, el signo de sostenido (#) indica que el texto
que aparece a continuación es un comentario. Las líneas que no tienen dicho signo contienen las sentencias que
realmente se deben ejecutar.
El código que aparece a continuación calcula los resultados para el tratamiento únicamente con la
quimioterapia. Para obtener los resultados del tratamiento de la quimioterapia con Bevacizumab, únicamente
habría que repetir el código sustituyendo el nombre “quimio” por “quimio+B”, y además sustituyendo las
probabilidades de transición y los costes por los correspondientes a esta segunda opción.

# Instala la librería.
# Una vez instalada en un ordenador no se vuelve a ejecutar la sentencia
install.packages("markovchain")

# Carga la librería para poder utilizarla en la sesión actual.


# Esta sentencia hay que ejecutarla al principio de cada sesión
library(markovchain, pos=4)

# Crea la cadena de markov, utilizando el paquete “markovchain”


# Se especifican a continuación los nombres de los estados de la cadena (entre comillas)
# Después se escriben de manera continua las probabilidades de transición, por filas (byrow=TRUE)
# Se precisa la dimensión de la matriz (nrow = 5)
# Y por último, optativo, el nombre que se le quiera dar a la cadena de Markov
quimio <- new("markovchain", states = c("R", "CL", "P", "CG", "M"),transitionMatrix = matrix(data =
+ c(0.8671, 0.0024, 0.1270, 0.0035, 0, 1, 0, 0, 0, 0, 0, 0, 0.8623, 0, 0.1377, 0, 0, 0.9, 0.1, 0, 0, 0, 0, 0, 1), byrow
+ = TRUE, nrow = 5), name = "Quimio")

6
# Verificamos que la matriz de transición es correcta, ya que la imprime en formato matriz
quimio

# Dibuja el diagrama de markov


plot(quimio)

# Dibuja otro diagrama de markov más bonito en blanco y negro (en concreto el de la Figura 1)
# Para ello necesita instalar otra librería. Una vez instalada en un ordenador no se vuelve a ejecutar la sentencia
install.packages("diagram")
# Se carga la librería, para poder utilizarla en esta sesión
library(diagram, pos=4)
# Y ahora se le pide a R que haga el gráfico
plot(quimio, package="diagram", box.size = 0.04)

# Guarda el gráfico en formato png


dev.copy(png,'C:/investigacion_operacional/figura_1.png')
dev.off()

# Cálculo de la matriz fundamental


Q_quimio = matrix(data = c(0.8671, 0.0024, 0.1270, 0.0035, 1, 0, 0, 0, 0, 0, 0.8623, 0, 0, 0, 0.9, 0.1), byrow =
+ TRUE, nrow = 4)
I4 = diag(4)
F_quimio = solve(I4-Q_quimio)
F_quimio
# Tiempo esperado para la absorción, considerando que se empieza en el estado respuesta
t_quimio = F_quimio%*%c(1,0,0,0)
cat(“Tiempo esperado de vida=”)+ print(t_quimio)

# Cálculo del coste del tratamiento, como lo hace TreeAge


# Los costes son los mensuales en cada estado de la cadena
coste = cbind(c(524,262,809,4157,0))
utilidad = c(1,0.75,0.5,0.5,0)
x <- c(1,0,0,0,0)
coste0 = x%*%coste
Cost=0
for(i in seq(1:60)) {
x = x*quimio
Rewardeff = utilidad*x
Rewardcost = coste0%*%Rewardeff
Cost = sum(Rewardcost) + Cost
}
cat("Coste del tratamiento =") + print(Cost)

6. CONCLUSIÓN

Sto Tree y R con el paquete markovchain son buenas opciones de software de TreeAge relativamente caro para
el árbol de decisión de análisis coste-efectividad de Markov.

RECIBIDO: ABRIL, 2016.

REFERENCIAS

[1] BHARGAVA, H. K., SRIDHAR, S., y HERRICK, C. (1999): Beyond spreadsheets: Tools for building
decision support systems. IEEE Computer, 3 (3), 31-39.

[2] BECK, J.R. y PAUKER, S.G. (1983): The Markov process in medical prognosis. Medical Decision
Making, 3(4), 419-58.

[3] GOUBERMAN, A., y SIEGLE, M. (2014): Markov reward models and Markov decision processes in

7
discrete and continuous time: Performance evaluation and optimization. En: Remke, A. y Stoelinga, M.
(Eds.) Stochastic Model Checking. Rigorous Dependability Analysis Using Model Checking
Techniques for Stochastic Systems, 156-241, Springer, Berlin Heidelberg.

[4] GUISANDE GONZÁLEZ, C., VAAMONDE LISTE, A. y BARREIRO FELPETO, A. (2011):


Tratamiento de datos con R, Statistica y SPSS, Ediciones Díaz de Santos, Madrid.

[5] HAZEN, G.B. (2002): Stochastic trees and the StoTree modeling environment: Models and software for
medical decision analysis, Journal of Medical Systems, 26(5), 399-413.

[6] HOWARD, R. A. (1971): Dynamic Probabilistic Systems, Vol. 1-2, Wiley, New York.

[7] MENN, P. y HOLLE, R. (2009): Comparing three software tools for implementing Markov models for
health economic evaluations, Pharmaeconomics, 27(9), 745-753.

[8] MINION, L. E., BAI, J., MONK, B. J., KELLER, L. R., ESKANDER, R. N., FORDE, G. K., CHAN, J.K.
y TEWARI, K. S. (2015): A Markov model to evaluate cost-effectiveness of antiangiogenesis therapy using
bevacizumab in advanced cervical cancer, Gynecologic oncology, 137(3), 490-496.

[9] NORBERG, R. (1995): “Differential Equations for Moments of Present Values in Life Insurance,”
Insurance: Mathematics and Economics, 17(2), 171-180.

[10] RUBIO-TERRÉS, C. (2000): Introducción a la utilización de los modelos de Markov en el análisis


farmaeconómico. Revista Farmacia Hospitalaria, 24(4), 241-247.

[11] SOTO ÁLVAREZ, J. (2012)"Evaluación económica de medicamentos y tecnologías sanitarias: Principios,


métodos y aplicaciones en política sanitaria”, Springer Healthcare Iberica, Madrid.

8
MARKOV CHAIN MODELS IN PRACTICE:
A REVIEW OF LOW COST SOFTWARE OPTIONS
Jiaru Bai*4, Cristina del Campo**5, L. Robin Keller*6
* Paul Merage School of Business, University of California, Irvine, 92697-3125, USA.
** Corresponding author, Facultad de Ciencias Económicas y Empresariales, Campus de Somosaguas,
Universidad Complutense de Madrid, 28223 Pozuelo de Alarcón (Madrid), SPAIN

ABSTRACT

Markov processes (or Markov chains) are used for modeling a phenomenon in which changes over time of a
random variable comprise a sequence of values in the future, each of which depends only on the immediately
preceding state, not on other past states. A Markov process (PM) is completely characterized by specifying the
finite set S of possible states and the stationary probabilities (i.e. time-invariant) of transition between these
states. The software most used in medical applications is produced by TreeAge, since it offers many advantages
to the user. But, the cost of the Treeage software is relatively high. Therefore in this article two software
alternatives are presented: Sto Tree and the zero cost add-in package "markovchain" implemented in R. An
example of a cost-effectiveness analysis of two possible treatments for advanced cervical cancer, previously
conducted with the Treeage software, is re-analyzed with these two low cost software packages.

KEYWORDS: cervical cancer treatments, cost-effectiveness analysis, Markov decision trees, stationary
transition probabilities

RESUMEN

Procesos de Markov (o cadenas de Markov) se utilizan para el modelización de un fenómeno en el que cambia
con el tiempo de una variable aleatoria comprenden una secuencia de valores en el futuro, cada uno de los que
depende sólo del estado inmediatamente anterior, no en otros estados pasados. Un proceso de Markov (PM) se
caracteriza por completo mediante la especificación del conjunto S finito de estados posibles y las
probabilidades estacionarias (es decir, invariante en el tiempo) de transición entre estos estados. El software más
utilizado en aplicaciones médicas es producido por TreeAge, ya que ofrece muchas ventajas para el usuario.
Pero, el costo del software TreeAge es relativamente alto. Por lo tanto, en este artículo se presentan dos
alternativas de software: Sto Tree y el coste cero de complemento de "markovchain" paquete implementado en
R. Un ejemplo de un análisis de coste-efectividad de dos tratamientos posibles para el cáncer de cuello uterino
avanzado, llevaron a cabo previamente con el TreeAge software, se volvió a analizar con estos dos paquetes de
software de bajo costo.

PALABRAS CLAVE: tratamientos para cáncer de cuello uterino, análisis coste-efectividad, árboles de decisión
de Markov, probabilidades de transición estacionarias

1. INTRODUCTION

Markov processes (or Markov chains) are well known tools for modeling a wide range of phenomena
in which changes over time of a random variable comprise a sequence of values in the future, each of which
depends only on the immediately preceding state, not on other past states. A Markov process (PM) is completely
characterized by specifying the finite set S of possible states and the stationary probabilities (i.e. time-invariant)
of transition between these states (define Pss' = P(St+1 = s'/St = s)). Markov processes have applications in
modeling and analysis of a wide range of phenomena in all branches of science, ranging from linguistics and
biology to political science, medicine, economics, computer science, and many others.

Now if each change of state is assigned a numerical quantity, we have a Markov model with rewards.
During the sixties and seventies, Markov processes with rewards (PMR) were applied in engineering-related
(Howard[6]) fields, whereas in other fields, such as the economy, applications occurred a bit later (see, for
example Norberg[9] for a PMR application to life insurance). A PMR is simply a Markov process in which in

4
JiaruB@uci.edu
5
CampoCC@ccee.ucm.es
6
LRKeller@uci.edu

9
each state a different reward (Rs = E[Rt+1/St = s]) is received. The broader definition also includes a possible
temporal discount factor ([0, 1]), since thereby an infinite return on Markov processes is avoided. If the
reward is financial, the immediate rewards can be set to be larger than delayed future rewards. If the model does
not discount, then  = 1.

However, Markov processes, with or without rewards, cannot be used to represent problems in which
each of the states of the Markov process has a large number of embedded decisions, which often occurs in
situations requiring sequential decisions where the decision-maker can choose from several options, each with a
potential reward and different transition probabilities. This problem is modeled as a Markov decision process
(MDP), defined as a PMR where, in addition to the finite set S of states, there is a finite set of alternatives or
actions (A), whose transition probabilities, Pss',a = P(St+1 = s'/St = s, A = a), also depend on the proposed action.
Obviously, the reward function, Rs,a = E[Rt+1/St = s, A = a], also depends on the considered alternative.

For a more in-depth study of powerful and systematic methods for analyzing stochastic systems such as
[3] [10] [11]
Markov processes, see, for example, Gouberman and Siegle Rubio-Terrés or Soto Álvarez .

The software most used in medical applications is by TreeAge, since it offers many advantages
including a user-friendly integrated graphical user interface, Markov process modeling capability, graphs and
reports for cost-effectiveness analysis, the ability to perform sensitivity analyses and display results graphically,
Monte-Carlo simulation and other features. For a detailed description of the TreeAge Pro Healthcare software,
see the documentation and the trial at www.treeage.com.

But a basic problem is the price of the TreeAge software, and the need to renew annually the license
(for annual licenses) or the maintenance (for the standard perpetual license), which, in the medium to long term,
results in an amount that may seem excessive. Therefore in this article two software alternatives are
demonstrated to compare treatments for cervical cancer in a cost-effectiveness analysis: the rather low cost Sto
Tree program or using the zero cost "markovchain" package implemented in R.

2. BACKGROUND

Information technology and decision support have evolved rapidly in recent decades. Billions of dollars
invested in technology research have stimulated improvements in computer processing power, hardware,
software, networks and telecommunications. The rapid evolution of these technologies has advanced so far that
most users now have personal computers, either at work, at home or both, and a high proportion of them use
packages of integrated applications, such as for example, Microsoft Office for Windows, LibreOffice or
OpenOffice suite for Linux or Mac own suite, in day to day life.

Of course, the idea of reviewing the software programs that are used to support decision-making is not
new, but based on what the authors found in their review of the literature, Menn and Holle [7] have published so
far the only existing software review to help in making health decisions based on Markov models that
implement and evaluate the cost-effectiveness of different medical treatments. There are some other
assessments, such as Bhargava, Sridhar and Herrick[1], but they refer to decision support systems in general,
without focusing solely on Markov models. However the review is mainly based on the comparison of these
programs with respect to ease of use and implementation of a model, runtime, the characteristics of the
presentation of results, and flexibility, while in this Article the authors are interested in three aspects:
- Ease of learning to use the program - many of the available systems are too complex for users to know and use
them successfully in the short time that is usually available.
- Ability to examine the logic of the system - A user who uses a program wants it to be transparent in its
operation. It is difficult to understand what is happening unless you can understand the logic of the operations
performed by the system.
- Cost - with an always limited budget when investing in decision support software, it should be free or at a
reduced cost to fit within the available budget.

There seems to not be a wide range of support systems for medical and health decisions proposed in the
abundant literature since the vast majority of the studies reviewed by the authors of this article use TreeAge.
This makes it even more necessary to review the options now available, among which are the two presented in
this article, with the added feature of their low or null cost.

10
3. THE EXAMPLE

Markov chain models were introduced in the medical literature by Beck and Pauker[2] and provide a modeling
format that has been used in numerous subsequent analyses to aid choices between risky medical treatments
with costs and health outcomes occurring not only in the present but also in the near or distant future.
Specifically, Minion et al.[8] performed an analysis of the cost-effectiveness of chemotherapy alone compared
with chemotherapy combined with a new drug called Bevacizumab (B), with the brand name Avastin, in
patients with persistent or metastatic cervical cancer. This analysis is modeled by a Markov process with
rewards (monthly health utilities), in which five health states are possible: response (R), limited complications
(CL), progress (P), severe complications (CG) and death (M), see Figure 1. This is the example that the authors
use to illustrate how to implement a Markov process with rewards in the two low cost software packages.

Figure 1. Diagram of Transitions in the Markov Chain (Created with the R Software)

In this model, a patient who is in a state for a month can either remain in the same state or transition to
a different state, with a certain probability and a certain cost (different for each of the two treatments under
study), in the following month (Table 1). (In private communication, the Minion et al. authors pointed out
typographical errors in their originally published[8] Table 2: In their transitions probability table, the probability
of going from "severe complications" to "progress" in one month is 0.9 (not 0), and the probability of going
from "severe complications" to "death" is 0 (not 0.9), for both treatment options. We are using the corrected
probabilities here.)

11
Table 1. Transition Probability from State i to State j in One Cycle
From i Response Limited Progress Severe Death
to j R Complications P Complications M
CL CG
Chemo R 0.8671 0.0024 0.1270 0.0035 0
CL 1 0 0 0 0
P 0 0 0.8623 0 0.1377
CG 0 0 0.9 0.1 0
M 0 0 0 0 1
Chemo + B R 0.8720 0.0273 0.0823 0.0184 0
CL 1 0 0 0 0
P 0 0 0.8771 0 0.1229
CG 0 0 0.9 0.1 0
M 0 0 0 0 1

4. STO TREE SOFTWARE

Another option to make a Markov decision tree model is to use the Sto Tree software by Gordon
Hazen[5] (http://users.iems.northwestern.edu/~hazen/StoTreeOv.html), which is a macro that is embedded in
Microsoft Excel, so that other features of Excel are also available at the same time. The Sto Tree software only
costs $20.

Regarding the specific use of the software, first note that Sto Tree does not generate a Markov
transition diagram (as in Figure 1), but instead uses a Markov tree similar to that created in the TreeAge
software (Figure 2).
Figure 2. Sto Tree Markov Decision Tree

The construction of a Markov model in Sto Tree is in a freer style than in the Treeage software. There
is no standard formulation, Sto Tree nodes and arcs can be dragged anywhere on the worksheet, to suit the user.
It is easy to build a Markov model in the software by simply adding nodes and arcs, no coding work is needed.
The only thing to note is that there are two types of Sto Tree arcs: a wavy arrow represents a transition with a
certain speed; while the straight arrow shows an instantaneous transition. The software is best suited to
continuous Markov models, and is somewhat less efficient for discrete Markov models. (Although any
probability p can be converted at a rate r using the formula p = 1 – e , where s is the cycle time.) The
-rs

12
software does not consider time duration for those transitions with a straight arrow as they are seen as something
that happens instantly.

Whenever there is a transition from a previous pre-existing condition, you have to select a duplicate
node to represent this transition. For example, the state of "limited complications" (CL) can return to the
"response" (R) state, so a duplicate node R (with a dotted circle in Figure 2) is created after the CL state. Unlike
the TreeAge software, wherein the terminal node must be one of the states listed in the Markov tree, the Sto
Tree software can select any state that is already created.

The parameters can be defined using the name of the function defined in Excel, making it easy to
change the values of variables in the named cells and also allowing sensitivity analysis to be conducted
manually in this way. Automatic sensitivity analysis is also available in Sto Tree via a menu button, allowing,
for example, sensitivity analysis of probabilities.

Figure 3. Sto Tree Spreadsheet for Calculating Costs and Quality Adjusted Cervical Cancer Life Months (Health
Utilities) over 60 Monthly Treatment Cycles

The cell in the last column is a logical value that would show 'True' if this row has all time counts in an
initial chance or decision node. In our case (Figure 3), the chance/decision node is 'Cervical Cancer ', but at time
0 all counts are at 'Chemo Only R1', since the straight arrow takes 0 time. So the cell shows 'False'.

The Sto Tree software does not allow optimization for Markov processes, like can be done in TreeAge,
which means that a decision node is treated just as random nodes are treated. You can, though, indicate the
chosen decision action by assigning a probability of 1 to the selected branch and 0 to the other decision
branches. For example, in Figure 2, the patient can choose between two types of treatment: chemotherapy alone
and chemotherapy plus Bevacizumab. We assign the first choice the probability 1 and the second 0, meaning
that the branch with chemotherapy alone is active now and that allows us to obtain the results for the first
treatment option. And the same could be done with the chemotherapy plus Bevacizumab option. However, the
software does not compare the results of the two options and therefore does not indicate which is the optimal
alternative, that has to be done by the user.

Finally, you can perform a cohort analysis once the stochastic tree is complete, as shown in Figure 3.
Just specify the cycle time and the time horizon, and, where applicable, the discount rate, since the software also
accepts a discount rate as in any PMR. The quality adjusted life years (QALY) and costs can be calculated once
you have entered the parameters of the model in the table. In the figure, each cycle is one month, so the
calculation is of “Quality Adjusted Cervical Cancer Life Months”. The spreadsheet is simple and its
implementation presents no difficulties.

The user can click on "cycle one step ahead" (go forward one cycle) to check the calculations in each
step, or you can use "calculate sheet" to get the overall results for the specified time horizon. However, the
software does not provide a detailed output of the analysis of the cohort, but the user has to record the result of
each step and summarize the incremental and cumulative results accordingly.

13
And as a last detail, an unlicensed version lets you create stochastic trees, but you cannot do any of the
computations. However, if a stochastic tree has been created in a licensed version, this model can be shared and
used on an unlicensed version.

5. R: THE FREE OPTION TO CONSIDER

The three authors of this article are all teachers in a school of Administration and Management.
Specifically, they are teaching students earning degrees in Administration, Management or Economics, and
teaching these students a wide range of statistical techniques, both basic and advanced. In the modern era, the
statistical package used most often is R. The advantages of this program are that it includes all the techniques
needed, is open source and available without cost in all platforms (Windows, Linux or Mac), is easy to install
and use, and can even be run from a CD or USB.

For those who have not heard of R, or those that have actually heard of it, but feel frightened at the
thought of having to use it by writing code, we recommend that you install it (https://www.r-project.org/) and
download some of the manuals that exist (e.g. in Spanish: https://cran.r-project.org/doc/contrib/R-intro-1.1.0-
espanol.1.pdf). But above all we recommend that one of the graphical user interfaces specially designed to work
with R be used. An interface provides the user access to a selection of analysis techniques using commonly
used simple menus (equivalent to those installed, for example, when you have SPSS). The authors recommend
R-commander (commonly known as Rcmdr) as, in our opinion, the most used and perhaps most documented.
See, for example, the http://www.uv.es/innovamide/l4u/R/R0/R0.wiki web page, in Spanish, on how to install R
for Windows and how to install Rcmdr and see, for example, Guisande González, Vaamonde Liste and Barreiro
Felpeto[4] on how to use it for various analyses.

Now back to the problem at hand on Markov processes. In this case the R package to be used
(markovchain) is not yet incorporated into Rcmdr. So, we explain in detail how to use, first, the code to repeat
the analysis in this article, and second, to adapt it to any similar problem that the reader may face. In the code
below, the hashtag/pound sign # indicates that a comment follows on that line. Lines without the # sign are the
actual code.

This code below analyzes the chemotherapy only treatment, “chemo”. To calculate the results of
chemotherapy treatment with Bevacizumab, the same code would be used except “chemo” would be replaced
with “chemoplusbeva”, and the transition probabilities and costs corresponding to the second option of
chemotherapy plus Bevacizumab would replace the numbers for chemotherapy alone.

# Install the library. Once installed, do not re-execute the statement


install.packages ("markovchain")

# Load the library for use in the current session.


# This statement must be executed at the beginning of each session
library(markovchain, pos=4)

# Create the Markov chain using the "Markov chain" package


# Specify the names of the states of the chain (in quotes)
# After, enumerate transition probabilities, by rows (byrow = TRUE)
# Indicate dimension of the matrix (nrow = 5)
# And finally, optional, the name you want to give the Markov chain
chemo <- new("markovchain", states = c("R", "CL", "P", "CG", "M"),transitionMatrix = matrix(data = c(0.8671,
+0.0024, 0.1270, 0.0035, 0, 1, 0, 0, 0, 0, 0, 0, 0.8623, 0, 0.1377, 0, 0, 0.9, 0.1, 0, 0, 0, 0, 0, 1), byrow = TRUE,
+nrow = 5), name = "Chemo")

# Verify that the transition matrix is correct, because it is printed in matrix format
chemo

# Draw a Markov diagram


plot(chemo)

# Draw another nicer Markov diagram nicer in black and white (in particular the one in Figure 1)
# For this you need to install another library. Once installed do not re-execute the sentence
install.packages("diagram")

14
# Load the library, to use it in this session
library(diagram, pos = 4)

# And now ask R to plot the graph


plot(chemo, package = "diagram", box.size = 0.04)

# Save the graphic in PNG format to a location on your computer


dev.copy(png,'C:/investigacion_operacional/figura_1.png')
dev.off ()

# Calculation of the fundamental matrix


Q_chemo = matrix (data = c(0.8671, 0.0024, 0.1270, 0.0035, 1, 0, 0, 0, 0, 0, 0.8623, 0, 0, 0, 0.9, 0.1), byrow =
+TRUE, nrow = 4)
I4 = diag(4)
F_chemo = solve(I4-Q_chemo)
F_chemo

# Expected time for absorption, whereas response begins in the response state
t_chemo F_chemo% *% = c(1,0,0,0)
cat( "Expected Lifetime =") + print(t_chemo)

# Calculate the cost of treatment, as does the TreeAge software


# Costs are per month in each state of the chain
cost = cbind(c(524,262,809,4157,0))
utility = c(1,0.75,0.5,0.5,0)
x <- c(1,0,0,0,0)
cost0 = x%*%cost
Cost = 0
for (i in seq(1:60)) {
x = x*chemo
Rewardeff = utility*x
Rewardcost = cost0%*%Rewardeff
Cost = sum(Rewardcost) + Cost
}
cat ("Cost of treatment =") + print(Cost)

6. CONCLUSION

Sto Tree and R with the markovchain package are good alternatives to the relatively expensive TreeAge
software for Markov decision tree cost-effectiveness analysis.

RECEIVED: APRIL, 2016.

REFERENCES

[1] BHARGAVA, H. K., SRIDHAR, S., and HERRICK, C. (1999): Beyond spreadsheets: Tools for building
decision support systems. IEEE Computer, 3 (3), 31-39.

[2] BECK, J.R. and PAUKER, S.G. (1983): The Markov process in medical prognosis. Medical Decision
Making, 3(4), 419-58.

[3] GOUBERMAN, A., and SIEGLE, M. (2014): Markov reward models and Markov decision processes in
discrete and continuous time: Performance evaluation and optimization. In: Remke, A. and Stoelinga, M.
(Eds.) Stochastic Model Checking. Rigorous Dependability Analysis Using Model Checking
Techniques for Stochastic Systems, 156-241, Springer, Berlin Heidelberg.

15
[4] GUISANDE GONZÁLEZ, C., VAAMONDE LISTE, A. and BARREIRO FELPETO, A. (2011):
Tratamiento de datos con R, Statistica y SPSS, Ediciones Díaz de Santos, Madrid.

[5] HAZEN, G.B. (2002): Stochastic trees and the StoTree modeling environment: Models and software for
medical decision analysis, Journal of Medical Systems, 26(5), 399-413.

[6] HOWARD, R. A. (1971): Dynamic Probabilistic Systems, Vol. 1-2, Wiley, New York.

[7] MENN, P. and HOLLE, R. (2009): Comparing three software tools for implementing Markov models for
health economic evaluations, Pharmaeconomics, 27(9), 745-753.

[8] MINION, L. E., BAI, J., MONK, B. J., KELLER, L. R., ESKANDER, R. N., FORDE, G. K., CHAN, J.K.
and TEWARI, K. S. (2015): A Markov model to evaluate cost-effectiveness of antiangiogenesis therapy
using bevacizumab in advanced cervical cancer, Gynecologic oncology, 137(3), 490-496.

[9] NORBERG, R. (1995): “Differential Equations for Moments of Present Values in Life Insurance,”
Insurance: Mathematics and Economics, 17(2), 171-180.

[10] RUBIO-TERRÉS, C. (2000): Introducción a la utilización de los modelos de Markov en el análisis


farmaeconómico. Revista Farmacia Hospitalaria, 24(4), 241-247.

[11] SOTO ÁLVAREZ, J. (2012): Evaluación económica de medicamentos y tecnologías sanitarias:


Principios, métodos y aplicaciones en política sanitaria, Springer Healthcare Iberica, Madrid.

16

Potrebbero piacerti anche