An Efficient Solution and Implementation of the Decision Tree Problem

Efficient Solutions to the Decision
Tree Problem
Petros Pechlivanoglou, Nicholas Mitsakakis
The Hospital for Sick Children, Toronto
IHPME, University of Toronto
THETA Collaborative, Toronto
CADTH Symposium 2017
The Decision Tree
• The most common decision modeling tool to
be used for CEA purposes.
The Decision Tree
Terminal
node (leaf)
Chance
node
Decision
node
The Decision Tree
Child node
Parent
node
The Decision Tree
Branch
The Decision Tree
Pathway
The Decision Tree
Depth
Level
2
1
3
Calculate Expected Value
EV = ?
Calculate Expected Value
EV = p1 · p3 · p7 · O1
Calculate Expected value
EV = p1 · p3 · p7 · O1 +
p1 · p3 · p8 · O2
Calculate Expected Value
EV = p1 · p3 · p7 · O1 +
p1 · p3 · p8 · O2 +
…… +
p2 · p6 · p14 · O8
Challenges with conventional EV
EV = p1 · p3 · p7 · O1 +
p1 · p3 · p8 · O2 +
…… +
p2 · p6 · p14 · O8
31 Operations
•Computationally demanding = slow
•Not a formal, general solution
•Tedious to implement in computer programming
•Efficiency important for large trees with PSA
•Increased room for error
Proposed Solution
• Linear algebra/ elementary graph-theory
based solutions
– Faster
– Applicable to trees with any shape/form
– Sparse matrix computing solutions
– Easily extended to extra dimensions (PSA)
Calculate Expected Value v2.0
Create:
•Matrices of connections between nodes for each level (Q )
•Vectors of probabilities P for each level
•Vector of outcomes O
•Linear algebra to multiply P, Q, O
Calculate Expected Value v2.0
E7 E8 E9 E10 E11 E12 E13 E14
E1 E2
Q1 = [1 1], Q2 =
E3 E4 E5 E6
E1
E2
1 1 0 0
0 0 1 1
P1 = [p1 p2]
P2 = [p3 p4 p5 p6] ,
P3 = [p7 p8 p9 p10 p11 p12 p13 p14]
EV = (Q1 * P1) x (Q2 * P2) x (Q3 * P3) x O
Khatri-Rao
Product
, Q3 =
E3
1 1 0 0 0 0 0 0
E4
0 0 1 1 0 0 0 0
E5
0 0 0 0 1 1 0 0
E6
0 0 0 0 0 0 1 1
Calculate Expected Value v3.0
Create:
•Matrices of connections between terminal and nodes of each level (Z)
•Vectors of probabilities for each level (P)
•Vector of outcomes (O)
•Use linear algebra to multiply Z, P, O
Calculate Expected Value v3.0
E7 E8 E9 E10 E11 E12 E13 E14
E7 E8 E9 E10 E11 E12 E13 E14
E7 E8 E9 E10 E11 E12 E13 E14
E1
1 1 1 1 0 0 0 0
E3
1 1 0 0 0 0 0 0
E7
E2
0 0 0 0 1 1 1 1
E4
0 0 1 1 0 0 0 0
E8
E5
0 0 0 0 1 1 0 0
Z1 =
Z2=
E6
P1 = [p1 p2]
0 0 0 0 0 0 1 1
E9
Z3=
E10
E11
E12
P2 = [p3 p4 p5 p6] ,
E13
P3 = [p7 p8 p9 p10 p11 p12 p13 p14]
E14
EV = (P1 x Z1) ◦ (P2 x Z2) ◦ (P3 x Z3) x O
Hadamart (element-wise)
product
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
Simulation
• Generate trees with varying levels/children
nodes
• Sample
– Probabilities from symmetric Dir(1)
– Outcomes from U(0,1)
• Measure CPU Time
(Conducted using R 3.3.2 on Intel® Core™ i7 32GB RAM)
Simulation Results
Conclusions
• Conventional solution to EV of decision tree is
intuitive but inefficient
• Graph theory / linear algebra based solutions can
structure the decision tree problem in a more
efficient way.
• The Hadamart product solution most efficient in
programming-based decision tree models.