Discuss pros and cons of decision modeling using decision trees vs. a formal deterministic model
Understand the components and structure of discrete time Markov models
Calculate Markov cycles by hand, using Markov bubble diagram
Apply methods for Markov cycle correction
A country’s health institute is considering five preventive care strategies that reduce the risk of becoming sick:
Strategy | Description | Cost |
---|---|---|
A | Standard of Care | $25/year |
B | Additional 4% reduction in risk of becoming sick | $1,000/year |
C | 12% reduction in risk | $3,100/year |
D | 8% reduction in risk | $1,550/year |
E | 8% reduction in risk | $5,000/year |
Decision tree for two full cycles.
Strategy A decision tree for 5 cycles.
Pros | Cons |
---|---|
Simple, rapid & can provide insights |
Pros | Cons |
---|---|
Simple, rapid & can provide insights | |
Easy to describe & understand |
Pros | Cons |
---|---|
Simple, rapid & can provide insights | |
Easy to describe & understand | |
Works well with limited time horizon |
Pros | Cons |
---|---|
Simple, rapid & can provide insights | Difficult to include clinical detail |
Easy to describe & understand | |
Works well with limited time horizon |
Pros | Cons |
---|---|
Simple, rapid & can provide insights | Difficult to include clinical detail |
Easy to describe & understand | Elapse of time is not readily evident. |
Works well with limited time horizon |
Pros | Cons |
---|---|
Simple, rapid & can provide insights | Difficult to include clinical detail |
Easy to describe & understand | Elapse of time is not readily evident. |
Works well with limited time horizon | Difficult to model longer (>1 cycle) time horizons |
Common approach in decision analyses that adds additional flexibility.
Pros | Cons |
---|---|
Can model repeated events | |
\quad \quad \quad \quad \quad \quad |
Common approach in decision analyses that adds additional flexibility.
Pros | Cons |
---|---|
Can model repeated events | |
Can model more complex + longitudinal clinical events |
Common approach in decision analyses that adds additional flexibility.
Pros | Cons |
---|---|
Can model repeated events | |
Can model more complex + longitudinal clinical events | |
Not computationally intensive; efficient to model and debug |
The advantages of Markov models derive from their structure around mutually exclusive disease states.
These disease states represent the possible states or consequences of strategies or options under consideration.
Because there are a fixed number of disease states the population can be in, there is no need to model complex pathways, as we saw in the decision tree “explosion” a few slides back.
It is also common to pair a Markov model with a decision tree.1
It is also common to pair a Markov model with a decision tree.1
A simple decision tree is implicit in nearly every decision analysis.
Treatment A:
Treatment A:
“Things should be made as simple as possible, but not simpler” - Albert Einstein
“CYCLE” = Minimum amount of time that any individual will spend in a state before possible transition to another state
We defined the decision problem earlier in this lecture, so we’ll repeat the basic objectives briefly here.
Goal: model the cost-effectiveness of alternative strategies to prevent a disease from occurring.
Strategy | Description | Cost |
---|---|---|
A | Standard of Care | $25/year |
B | Additional 4% reduction in risk of becoming sick | $1,000/year |
C | 12% reduction in risk | $3,100/year |
D | 8% reduction in risk | $1,550/year |
E | 8% reduction in risk | $5,000/year |
Two major steps:
State transition (“bubble”) diagrams are useful visualizations of a Markov model.
Diagram constructed using the Graphviz Visual Editor
Basic steps
Basic steps
The challenge of selecting an appropriate cycle length boils down to how we deal with competing risks.
The challenge of selecting an appropriate cycle length boils down to how we deal with competing risks.
Pros | Cons |
---|---|
Can model repeated events | Competing risks are a challenge |
Can model more complex + longitudinal clinical events | |
Not computationally intensive; efficient to model and debug |
Pros | Cons |
---|---|
Can model repeated events | Can only transition once in a given cycle |
Can model more complex + longitudinal clinical events | Shortening the cycle can create computational challenges. |
Not computationally intensive; efficient to model and debug |
More challenges …
More challenges …
More challenges …
Pros | Cons |
---|---|
Can model repeated events | Can only transition once in a given cycle |
Can model more complex + longitudinal clinical events | Shortening the cycle can create computational challenges. |
Not computationally intensive; efficient to model and debug | Shortening cycle can cause “state explosion” if tunnel states are used |
3b.i. Source and define the base case values.
3b.ii. Source and define sources of uncertainty.
We defined many of the underlying parameters earlier in this lecture, so we’ll repeat them briefly here.
Each strategy has a different cost and impact on the likelihood of becoming sick.
Strategy | Description | Cost |
---|---|---|
A | Standard of Care | $25/year |
B | Additional 4% reduction in risk of becoming sick | $1,000/year |
C | 12% reduction in risk | $3,100/year |
D | 8% reduction in risk | $1,550/year |
E | 8% reduction in risk | $5,000/year |
It is critical to follow a formal process for parameterizing your model.
It is critical to follow a formal process for parameterizing your model.
It is critical to follow a formal process for parameterizing your model.
It is critical to follow a formal process for parameterizing your model.
All of the above highlight the importance of adopting a formal process for naming and tracking the value, source, and uncertainty distribution of all model parameters in one place.
We recommend a structured approach based on parameter naming conventions and parameter tables.
Naming conventions:
type | prefix |
---|---|
Probability | p_ |
Rate | r_ |
Matrix | m_ |
Cost | c_ |
Utility | u_ |
Hazard Ratio | hr_ |
Note: Only a subset of model parameters are shown in table.
Parameter Table | ||||||
---|---|---|---|---|---|---|
param | base_case | formula | description | notes | distribution | source |
n_age_init | 25.00 | Age at baseline | Modeling Parameter | |||
n_age_max | 100.00 | Maximum age of followup | Modeling Parameter | |||
u_H | 1.00 | Utility weight of healthy (H) | beta(shape1 = 200, shape2 = 3) | Leech et al. (2022) | ||
u_S | 0.75 | Utility weight of sick (S) | beta(shape1 = 130, shape2 = 45) | Leech et al. (2022) | ||
c_S | 1000.00 | Annual cost of sick (S) | gamma(shape = 44.4, scale = 22.5) | Graves et al. (2022) | ||
c_trtA | 25.00 | Cost of treatment A | gamma(shape = 12.5, scale = 2) | Martin et al. (2022) | ||
c_trtB | 1000.00 | Cost of treatment B | gamma(shape = 12, scale = 83.3) | Assumption | ||
c_trtC | 3100.00 | Cost of treatment C | gamma(shape = 36.144, scale = 83) | Assumption | ||
n_cycles | 75.00 | (n_age_max - n_age_init) | Time horizon |
param column is the short name of the parameter
Note: Only a subset of model parameters are shown in table.
Parameter Table | ||||||
---|---|---|---|---|---|---|
param | base_case | formula | description | notes | distribution | source |
n_age_init | 25.00 | Age at baseline | Modeling Parameter | |||
n_age_max | 100.00 | Maximum age of followup | Modeling Parameter | |||
u_H | 1.00 | Utility weight of healthy (H) | beta(shape1 = 200, shape2 = 3) | Leech et al. (2022) | ||
u_S | 0.75 | Utility weight of sick (S) | beta(shape1 = 130, shape2 = 45) | Leech et al. (2022) | ||
c_S | 1000.00 | Annual cost of sick (S) | gamma(shape = 44.4, scale = 22.5) | Graves et al. (2022) | ||
c_trtA | 25.00 | Cost of treatment A | gamma(shape = 12.5, scale = 2) | Martin et al. (2022) | ||
c_trtB | 1000.00 | Cost of treatment B | gamma(shape = 12, scale = 83.3) | Assumption | ||
c_trtC | 3100.00 | Cost of treatment C | gamma(shape = 36.144, scale = 83) | Assumption | ||
n_cycles | 75.00 | (n_age_max - n_age_init) | Time horizon |
base_case is the parameter value for the base case.
Note: Only a subset of model parameters are shown in table.
Parameter Table | ||||||
---|---|---|---|---|---|---|
param | base_case | formula | description | notes | distribution | source |
n_age_init | 25.00 | Age at baseline | Modeling Parameter | |||
n_age_max | 100.00 | Maximum age of followup | Modeling Parameter | |||
u_H | 1.00 | Utility weight of healthy (H) | beta(shape1 = 200, shape2 = 3) | Leech et al. (2022) | ||
u_S | 0.75 | Utility weight of sick (S) | beta(shape1 = 130, shape2 = 45) | Leech et al. (2022) | ||
c_S | 1000.00 | Annual cost of sick (S) | gamma(shape = 44.4, scale = 22.5) | Graves et al. (2022) | ||
c_trtA | 25.00 | Cost of treatment A | gamma(shape = 12.5, scale = 2) | Martin et al. (2022) | ||
c_trtB | 1000.00 | Cost of treatment B | gamma(shape = 12, scale = 83.3) | Assumption | ||
c_trtC | 3100.00 | Cost of treatment C | gamma(shape = 36.144, scale = 83) | Assumption | ||
n_cycles | 75.00 | (n_age_max - n_age_init) | Time horizon |
formula defines model parameter formulas for parameters that are functions of other model parameters.
Note: Only a subset of model parameters are shown in table.
Parameter Table | ||||||
---|---|---|---|---|---|---|
param | base_case | formula | description | notes | distribution | source |
n_age_init | 25.00 | Age at baseline | Modeling Parameter | |||
n_age_max | 100.00 | Maximum age of followup | Modeling Parameter | |||
u_H | 1.00 | Utility weight of healthy (H) | beta(shape1 = 200, shape2 = 3) | Leech et al. (2022) | ||
u_S | 0.75 | Utility weight of sick (S) | beta(shape1 = 130, shape2 = 45) | Leech et al. (2022) | ||
c_S | 1000.00 | Annual cost of sick (S) | gamma(shape = 44.4, scale = 22.5) | Graves et al. (2022) | ||
c_trtA | 25.00 | Cost of treatment A | gamma(shape = 12.5, scale = 2) | Martin et al. (2022) | ||
c_trtB | 1000.00 | Cost of treatment B | gamma(shape = 12, scale = 83.3) | Assumption | ||
c_trtC | 3100.00 | Cost of treatment C | gamma(shape = 36.144, scale = 83) | Assumption | ||
n_cycles | 75.00 | (n_age_max - n_age_init) | Time horizon |
description provides a text description of the parameter.
Parameter Table | ||||||
---|---|---|---|---|---|---|
param | base_case | formula | description | notes | distribution | source |
n_age_init | 25.00 | Age at baseline | Modeling Parameter | |||
n_age_max | 100.00 | Maximum age of followup | Modeling Parameter | |||
u_H | 1.00 | Utility weight of healthy (H) | beta(shape1 = 200, shape2 = 3) | Leech et al. (2022) | ||
u_S | 0.75 | Utility weight of sick (S) | beta(shape1 = 130, shape2 = 45) | Leech et al. (2022) | ||
c_S | 1000.00 | Annual cost of sick (S) | gamma(shape = 44.4, scale = 22.5) | Graves et al. (2022) | ||
c_trtA | 25.00 | Cost of treatment A | gamma(shape = 12.5, scale = 2) | Martin et al. (2022) | ||
c_trtB | 1000.00 | Cost of treatment B | gamma(shape = 12, scale = 83.3) | Assumption | ||
c_trtC | 3100.00 | Cost of treatment C | gamma(shape = 36.144, scale = 83) | Assumption | ||
n_cycles | 75.00 | (n_age_max - n_age_init) | Time horizon |
Note: Only a subset of model parameters are shown in table.
notes is an optional column where you add additional notes or context for the parameter.
Note: Only a subset of model parameters are shown in table.
Parameter Table | ||||||
---|---|---|---|---|---|---|
param | base_case | formula | description | notes | distribution | source |
n_age_init | 25.00 | Age at baseline | Modeling Parameter | |||
n_age_max | 100.00 | Maximum age of followup | Modeling Parameter | |||
u_H | 1.00 | Utility weight of healthy (H) | beta(shape1 = 200, shape2 = 3) | Leech et al. (2022) | ||
u_S | 0.75 | Utility weight of sick (S) | beta(shape1 = 130, shape2 = 45) | Leech et al. (2022) | ||
c_S | 1000.00 | Annual cost of sick (S) | gamma(shape = 44.4, scale = 22.5) | Graves et al. (2022) | ||
c_trtA | 25.00 | Cost of treatment A | gamma(shape = 12.5, scale = 2) | Martin et al. (2022) | ||
c_trtB | 1000.00 | Cost of treatment B | gamma(shape = 12, scale = 83.3) | Assumption | ||
c_trtC | 3100.00 | Cost of treatment C | gamma(shape = 36.144, scale = 83) | Assumption | ||
n_cycles | 75.00 | (n_age_max - n_age_init) | Time horizon |
distribution specifies the uncertainty distribution for the parameter. It is used for probabilistic sensitivity analyses, which we cover in our intermediate (week-long) workshop.
Note: Only a subset of model parameters are shown in table.
Parameter Table | ||||||
---|---|---|---|---|---|---|
param | base_case | formula | description | notes | distribution | source |
n_age_init | 25.00 | Age at baseline | Modeling Parameter | |||
n_age_max | 100.00 | Maximum age of followup | Modeling Parameter | |||
u_H | 1.00 | Utility weight of healthy (H) | beta(shape1 = 200, shape2 = 3) | Leech et al. (2022) | ||
u_S | 0.75 | Utility weight of sick (S) | beta(shape1 = 130, shape2 = 45) | Leech et al. (2022) | ||
c_S | 1000.00 | Annual cost of sick (S) | gamma(shape = 44.4, scale = 22.5) | Graves et al. (2022) | ||
c_trtA | 25.00 | Cost of treatment A | gamma(shape = 12.5, scale = 2) | Martin et al. (2022) | ||
c_trtB | 1000.00 | Cost of treatment B | gamma(shape = 12, scale = 83.3) | Assumption | ||
c_trtC | 3100.00 | Cost of treatment C | gamma(shape = 36.144, scale = 83) | Assumption | ||
n_cycles | 75.00 | (n_age_max - n_age_init) | Time horizon |
Note: Only a subset of model parameters are shown in table.
source provides the source for the parameter. It could be a published research article, an assumption, or just simply an unsourced modeling parameter (e.g., the starting age of the modeled cohort).
Parameter Table | ||||||
---|---|---|---|---|---|---|
param | base_case | formula | description | notes | distribution | source |
n_age_init | 25.00 | Age at baseline | Modeling Parameter | |||
n_age_max | 100.00 | Maximum age of followup | Modeling Parameter | |||
u_H | 1.00 | Utility weight of healthy (H) | beta(shape1 = 200, shape2 = 3) | Leech et al. (2022) | ||
u_S | 0.75 | Utility weight of sick (S) | beta(shape1 = 130, shape2 = 45) | Leech et al. (2022) | ||
c_S | 1000.00 | Annual cost of sick (S) | gamma(shape = 44.4, scale = 22.5) | Graves et al. (2022) | ||
c_trtA | 25.00 | Cost of treatment A | gamma(shape = 12.5, scale = 2) | Martin et al. (2022) | ||
c_trtB | 1000.00 | Cost of treatment B | gamma(shape = 12, scale = 83.3) | Assumption | ||
c_trtC | 3100.00 | Cost of treatment C | gamma(shape = 36.144, scale = 83) | Assumption | ||
n_cycles | 75.00 | (n_age_max - n_age_init) | Time horizon |
The transition probability matrix is a square matrix that defines the probability of transitioning from one health state to another health state in a single time step.
Constructing the matrix is a fairly technical, but fairly straightforward process.
Healthy | Sick | Dead | |
---|---|---|---|
Healthy | 0.856 | 0.138 | 0.007 |
Sick | 0 | 0.982 | 0.018 |
Dead | 0 | 0 | 1 |
Health State Occupancy at Beginning of Cycle
Transition Probability Matrix
Health State Occupancy at Beginning of Cycle
Transition Probability Matrix
Health State Occupancy at Beginning of Cycle
Transition Probability Matrix
\quad \quad \quad \quad \quad \quad \quad \quad
s =
H S D
1 0 0
P =
H S D
H 0.856 0.138 0.007
S 0.000 0.982 0.018
D 0.000 0.000 1.000
\quad \quad \quad \quad
Health State Occupancy at Beginning of Cycle
Transition Probability Matrix
Health State Occupancy at End of Cycle
s =
H S D
1 0 0
P =
H S D
H 0.856 0.138 0.007
S 0.000 0.982 0.018
D 0.000 0.000 1.000
s \cdot P=
H S D
0.856 0.138 0.007
Health State Occupancy at Beginning of Cycle
Transition Probability Matrix
Health State Occupancy at End of Cycle
s =
H S D
1 0 0
P =
H S D
H 0.856 0.138 0.007
S 0.000 0.982 0.018
D 0.000 0.000 1.000
s \cdot P=
H S D
0.856 0.138 0.007
Health State Occupancy at Beginning of Cycle
Transition Probability Matrix
Health State Occupancy at End of Cycle
s =
H S D
1 0 0
H S D
0.856 0.138 0.007
P =
H S D
H 0.856 0.138 0.007
S 0.000 0.982 0.018
D 0.000 0.000 1.000
H S D
H 0.856 0.138 0.007
S 0.000 0.982 0.018
D 0.000 0.000 1.000
s \cdot P=
H S D
0.856 0.138 0.007
H S D
0.733 0.254 0.015
Health State Occupancy at Beginning of Cycle
Transition Probability Matrix
Health State Occupancy at End of Cycle
s =
H S D
1 0 0
H S D
0.856 0.138 0.007
H S D
0.733 0.254 0.015
P =
H S D
H 0.856 0.138 0.007
S 0.000 0.982 0.018
D 0.000 0.000 1.000
H S D
H 0.856 0.138 0.007
S 0.000 0.982 0.018
D 0.000 0.000 1.000
H S D
H 0.856 0.138 0.007
S 0.000 0.982 0.018
D 0.000 0.000 1.000
s \cdot P=
H S D
0.856 0.138 0.007
H S D
0.733 0.254 0.015
H S D
0.627 0.35 0.025
Health State Occupancy at End of Cycle
H S D
0.856 0.138 0.007
H S D
0.73274 0.25364 0.015476
H S D
0.62722 0.3502 0.025171
Health State Occupancy Over Ten Cycles
cycle H S D
0 1.00000 0.00000 0.000000
1 0.85600 0.13800 0.007000
2 0.73274 0.25364 0.015476
3 0.62722 0.35020 0.025171
4 0.53690 0.43045 0.035865
5 0.45959 0.49679 0.047371
6 0.39341 0.55127 0.059531
7 0.33676 0.59564 0.072207
8 0.28826 0.63139 0.085286
9 0.24675 0.65981 0.098669
10 0.21122 0.68198 0.112273
Standard of Care | New Drug | |
---|---|---|
Healthy to Stage 1 | 5% | |
Healthy to Stage 2 | 2% | |
Healthy to Stage 3 | 1% | |
Stage 1 to Stage 2 | 10% | |
Stage 1 to Remission | 25% | |
Stage 2 to Stage 1 | 5% | |
Stage 2 to Stage 3 | 15% | |
Stage 2 to Remission | 20% | |
Stage 3 to Stage 2 | 5% | |
Stage 3 to Death | 45% | |
Remission to Stage 1 | 10% | 2% |
Remission to Stage 2 | 5% | 1% |
Cycle | Healthy | Sick | Dead |
---|---|---|---|
0 | 1.000 | 0.000 | 0.000 |
1 | 0.856 | 0.138 | 0.007 |
2 | 0.732 | 0.253 | 0.015 |
3 | 0.626 | 0.349 | 0.025 |
4 | 0.536 | 0.429 | 0.035 |
5 | 0.458 | 0.495 | 0.046 |
… | … | … | … |
75 (End) | 0 | 0.282 | 0.718 |
Example Markov Trace (two cycles):
Cycle | Healthy | Sick | Dead |
---|---|---|---|
0 | 1.000 | 0.000 | 0.000 |
1 | 0.856 | 0.138 | 0.007 |
Cycle | Healthy | Sick | Dead | LY |
---|---|---|---|---|
0 | 1.000 | 0.000 | 0.000 | |
1 | 0.856 | 0.138 | 0.007 |
What is the LY “payoff” for Cycle 0?
Cycle | Healthy | Sick | Dead | LY |
---|---|---|---|---|
0 | 1.000 | 0.000 | 0.000 | |
1 | 0.856 | 0.138 | 0.007 |
What is the LY “payoff” for Cycle 0?
Cycle | Healthy | Sick | Dead | LY |
---|---|---|---|---|
0 | 1.000 | 0.000 | 0.000 | 1.0 = 1.0 * 1.0 + 0.0 * 1.0 + 0.0 * 0.0 |
1 | 0.856 | 0.138 | 0.007 |
What is the LY “payoff” for Cycle 1?
Cycle | Healthy | Sick | Dead | LY |
---|---|---|---|---|
0 | 1.000 | 0.000 | 0.000 | 1.0 |
1 | 0.856 | 0.138 | 0.007 | 0.994 = 0.856 * 1.0 + 0.138 * 1.0 + 0.007 * 0.0 |
… and so on.
Cycle | Healthy | Sick | Dead | LY |
---|---|---|---|---|
0 | 1.000 | 0.000 | 0.000 | 1 |
1 | 0.856 | 0.138 | 0.007 | 0.993 |
2 | 0.732 | 0.253 | 0.015 | 0.985 |
3 | 0.626 | 0.349 | 0.025 | 0.975 |
4 | 0.536 | 0.429 | 0.035 | 0.965 |
5 | 0.458 | 0.495 | 0.046 | 0.954 |
… | … | … | … | |
75 (End) | 0 | 0.282 | 0.718 | 0.282 |
What is the Cost “payoff” for Cycle 0?
Cycle | Healthy | Sick | Dead | Cost |
---|---|---|---|---|
0 | 1.000 | 0.000 | 0.000 | |
1 | 0.856 | 0.138 | 0.007 |
What is the Cost “payoff” for Cycle 0?
Cycle | Healthy | Sick | Dead | Cost |
---|---|---|---|---|
0 | 1.000 | 0.000 | 0.000 | 0 = 1.00 * 0 + 0.0 * 1000 + 0.0 * 0 |
1 | 0.856 | 0.138 | 0.007 |
What is the cost “payoff” for Cycle 1?
Cycle | Healthy | Sick | Dead | Cost |
---|---|---|---|---|
0 | 1.000 | 0.000 | 0.000 | 0 |
1 | 0.856 | 0.138 | 0.007 | 138 = 0.856*0+0.138*1000+0.007*0 |
… and so on.
Let’s look at the Markov trace and cycle outcomes for the Life Year outcome.
Cycle | Healthy | Sick | Dead | LY (single cycle) |
---|---|---|---|---|
0 | 1.000 | 0.000 | 0.000 | 1 |
1 | 0.856 | 0.138 | 0.007 | 0.993 |
2 | 0.732 | 0.253 | 0.015 | 0.985 |
3 | 0.626 | 0.349 | 0.025 | 0.975 |
4 | 0.536 | 0.429 | 0.035 | 0.965 |
5 | 0.458 | 0.495 | 0.046 | 0.954 |
… | … | … | … | |
75 (End) | 0 | 0.282 | 0.718 | 0.282 |
We can create a new column that accumulates life years over each cycle.
Cycle | Healthy | Sick | Dead | LY (single cycle) | LY (cumulative) |
---|---|---|---|---|---|
0 | 1.000 | 0.000 | 0.000 | 1 | 1 |
1 | 0.856 | 0.138 | 0.007 | 0.993 | 1 + 0.993 = 1.993 |
2 | 0.732 | 0.253 | 0.015 | 0.985 | |
3 | 0.626 | 0.349 | 0.025 | 0.975 | |
4 | 0.536 | 0.429 | 0.035 | 0.965 | |
5 | 0.458 | 0.495 | 0.046 | 0.954 | |
… | … | … | … | … | |
75 (End) | 0 | 0.282 | 0.718 | 0.282 |
Cycle | Healthy | Sick | Dead | LY (single cycle) | LY (cumulative) |
---|---|---|---|---|---|
0 | 1.000 | 0.000 | 0.000 | 1 | 1 |
1 | 0.856 | 0.138 | 0.007 | 0.993 | 1.993 |
2 | 0.732 | 0.253 | 0.015 | 0.985 | 1 + 0.993 + 0.985 = 2.978 |
3 | 0.626 | 0.349 | 0.025 | 0.975 | |
4 | 0.536 | 0.429 | 0.035 | 0.965 | |
5 | 0.458 | 0.495 | 0.046 | 0.954 | |
… | … | … | … | … | |
75 (End) | 0 | 0.282 | 0.718 | 0.282 |
The cumulative LYs for an individual starting in the Healthy state is 44.825
Note that this is within a 75 years time horizon
Cycle | Healthy | Sick | Dead | LY (single cycle) | LY (cumulative) |
---|---|---|---|---|---|
0 | 1.000 | 0.000 | 0.000 | 1 | 1 |
1 | 0.856 | 0.138 | 0.007 | 0.993 | 1.993 |
2 | 0.732 | 0.253 | 0.015 | 0.985 | 2.978 |
3 | 0.626 | 0.349 | 0.025 | 0.975 | 3.954 |
4 | 0.536 | 0.429 | 0.035 | 0.965 | 4.919 |
5 | 0.458 | 0.495 | 0.046 | 0.954 | 5.872 |
… | … | … | … | … | … |
75 (End) | 0 | 0.282 | 0.718 | 0.282 | 44.825 |
In real life, events could occur at any points in a given cycle, but a Markov model assumes all events occur either at the beginning or end of each cycle
Time is continuous, so are survival/event-free survival curves
When we discretize time by using a fixed cycle length, we can make two assumptions
Assuming death happens at the end of cycle (A)
Overestimates state membership in Well
Assuming death happens at the start of cycle (B)
Underestimates state membership in Well
Multiply the outcomes by 1/2 in the first and last cycle.
Shifting the computed, discrete state membership curve to the left by 1/2 cycle.
Essentially assuming that events happen in the middle of cycle
Cycle | Healthy | Sick | Dead | LY (single cycle, adjusted) | LY (cumulative) |
---|---|---|---|---|---|
0 | 1.000 | 0.000 | 0.000 | 1*0.5 | 0.5 |
1 | 0.856 | 0.138 | 0.007 | 0.993 | 0.5 + 0.993 = 1.493 |
2 | 0.732 | 0.253 | 0.015 | 0.985 | 2.478 |
3 | 0.626 | 0.349 | 0.025 | 0.975 | 3.454 |
4 | 0.536 | 0.429 | 0.035 | 0.965 | 4.419 |
5 | 0.458 | 0.495 | 0.046 | 0.954 | 5.372 |
… | … | … | … | … | … |
75 (End) | 0 | 0.282 | 0.718 | 0.282 *0.5 | 44.184 |
This number is smaller than our original estimate without half-cycle correction (44.825!)
Pros | Cons |
---|---|
Can model repeated events | Can only transition once in a given cycle |
Can model more complex + longitudinal clinical events | Shortening the cycle can create computational challenges. |
Not computationally intensive; efficient to model and debug | Shortening cycle can cause “state explosion” if tunnel states are used |