Decision tree analysis with SilverDecisions.pl
Bogumiª Kami«ski and Michaª Jakubczykand Przemysªaw Szufel
SGH - Warsaw School of Economics
This project has received funding from the European Union's Horizon 2020
research and innovation programme under grant agreement No 645860
May 16, 2018
B. Kami«ski & M. Jakubczyk & P. Szufel Decision tree analysis with SilverDecisions.pl
SilverDecisions.pl user interface
B. Kami«ski & M. Jakubczyk & P. Szufel Decision tree analysis with SilverDecisions.pl
Decision tree
A decision tree DT is a tuple (G , y , p)
Directed graph G = (V ,E ), E ⊂ V 2, with set of nodes V splitinto three disjoint sets V = D ∪ C ∪ T
D decision nodeC chance nodeT terminal nodefor each edge e ∈ E
e1 ∈ V denote its �rst element (parent node)e2 ∈ V denote its second element (child node)
payo� function: y : E → Rprobabilities function: p : {e ∈ E : e1 ∈ C} → [0, 1]
additional conditions: has root node, terminal nodes terminal
nodes T have no children, p(·) is properly de�ned (i.e.
probabilities at chance node sum up to 1)
B. Kami«ski & M. Jakubczyk & P. Szufel Decision tree analysis with SilverDecisions.pl
Decision tree
Goal: �nd a decision function
d , d : {e ∈ E : e1 ∈ D} → {0, 1},∀v ∈ D :
∑e∈E ,e1=v d(e) = 1
that maximizes the payo�
P(DT , d) =
0 if r(DT ) ∈ T∑
e:e1=r(DT ) p(e) (y(e) + P (DT (e2), d)) if r(DT ) ∈ C∑e:e1=r(DT ) d(e) (y(e) + P (DT (e2), d)) if r(DT ) ∈ D
where r(DT ) denotes the root of DT.
A strategy d maximizing P(DT , d) is called P-optimal
B. Kami«ski & M. Jakubczyk & P. Szufel Decision tree analysis with SilverDecisions.pl
Decision tree types
Separable (changing the probabilities in one chance node does
not automatically require changing any probabilities in any
other chance node)
Non-Separable (see the picture below)
B. Kami«ski & M. Jakubczyk & P. Szufel Decision tree analysis with SilverDecisions.pl
Sensitivity analysis
1 s : C → [0, 1]function representing whether a given node should be subject
to sensitivity analysis. s(c) = 1 denotes that c should be
subject to sensitivity analysis
s(c) = 0 denotes that probabilities are given precisely
Values between 0 and 1 could denote various degrees of
ambiguity
2 Stability analysis
how stable a P-optimal strategy is
3 Perturbation analysis
optimal strategy for various scenarios of probability
perturbation
B. Kami«ski & M. Jakubczyk & P. Szufel Decision tree analysis with SilverDecisions.pl
Sensitivity analysis - stability
distance between two decision trees
DT ′ = ((V ,E ), p′, y ′) and DT = ((V ,E ), p, y)
||DT ,DT ′||s = maxe∈E ,e1∈C
|p′(e)− p(e)|s(e1)
.
The P-optimal strategy d is ε-stable, if it is also P-optimal for
any DT ′ such that ||DT ,DT ′||s ≤ εstability index of a P-optimal strategy d :
I (DT , d , s) = sup{ε ∈ [0,+∞] : d is ε-stable}
B. Kami«ski & M. Jakubczyk & P. Szufel Decision tree analysis with SilverDecisions.pl
Theorem
Take a separable proper decision tree, DT , with a sensitivity
function, s(·).
For any two P-optimal strategies, d1 and d2, we have
I (DT , d1, s) = I (DT , d2, s).
B. Kami«ski & M. Jakubczyk & P. Szufel Decision tree analysis with SilverDecisions.pl
Sensitivity analysis - perturbation
minimum positive sensitivity value
s̃ = min{s(v) : v ∈ C, s(v) > 0}worst-case-tending expected payo�:
Pmin(DT , d , s, ε) = min{DT ′ : ||DT ,DT ′||s≤ε}
P(DT ′, d).
best-case-tending perturbation:
Pmax(DT , d , s, ε) = max{DT ′ : ||DT ,DT ′||s≤ε}
P(DT ′, d)
B. Kami«ski & M. Jakubczyk & P. Szufel Decision tree analysis with SilverDecisions.pl
Sensitivity analysis - perturbation cont.
divergence function
DKL(P||Q) =∑i∈A
P(i) log
(P(i)
Q(i)
),
minimize DKL(x||p)
subject to: DKL(x||u) = θ ∧ x ≥ (0) ∧n∑
i=1
xi = 1,
where u = ( 1n , . . . ,1n ) (of length n)
The solution for the above optimization problem for various
values of θ yields x changing along the path given by the
following soft-max formula with parameter γ ∈ [0,+∞[:
xi =pγi∑nj=1 p
γj
.
B. Kami«ski & M. Jakubczyk & P. Szufel Decision tree analysis with SilverDecisions.pl
Non separable decision tree - sample
dig
sell
sell/dig
dig/dig
sell/sell
dig/sell
±ε1
±ε2
exp
ecte
dpay
off
P0% 20% 40% 60% 70% 80% 100%
0
500
1000
1500
P(pos. test) = sensitivity× P(gas) + (1− speci�city)× P(no gas),
P(neg. test) = (1− sensitivity)× P(gas) + speci�city× P(no gas),
P(gas|pos. test) = sensitivity× P(gas)
P(pos. test),
P(gas|neg. test) = (1− sensitivity)× P(gas)
P(neg. test),
B. Kami«ski & M. Jakubczyk & P. Szufel Decision tree analysis with SilverDecisions.pl
Software
SilverDecisions.pl (http://silverdecisions.pl/)
Graphical user interface, web basedOver 50'000 unique users (2'200 from Russia)JavascriptExports �les to JSONFully open source - hosted on Git
Chondro (https://github.com/pszufe/chondro)
A callable APIPythonImports JSON decision tree de�nitions
Internal format (a nested Python dictionary representing atree structure)Trees exported from SilverDecision
Fully open source - hosted on Git
B. Kami«ski & M. Jakubczyk & P. Szufel Decision tree analysis with SilverDecisions.pl
SilverDecisions.pl Users
B. Kami«ski & M. Jakubczyk & P. Szufel Decision tree analysis with SilverDecisions.pl
Chondro - typical usage scenario
1 Create a JSON representation of a DT (e.g. by saving a DT
from SilverDecisions
2 Load the tree and use the solve_tree function to calculate
optimal decision for the DT.3 Perform the sensitivity analysis
use find_stability to calculate the stabilityuse find_perturbation_mode to calculate Pmode,ε
use find_perturbation_pessopty to calculate Pmin,ε andPmax,ε
B. Kami«ski & M. Jakubczyk & P. Szufel Decision tree analysis with SilverDecisions.pl
Summary - results
1 Conceptual framework for sensitivity analysis of decision trees;
2 Methodology for performing SA when values in several nodes
change simultaneously3 Open Source software implementation that enables practical
application of the concepts discussed in the paperSilverDecisions.pl
currently over 50'000 users (most from the USA)2'200 users from Russia
Chondro (online Python library for tree stability analysis)
This project has received funding from the European Union's Horizon 2020
research and innovation programme under grant agreement No 645860
B. Kami«ski & M. Jakubczyk & P. Szufel Decision tree analysis with SilverDecisions.pl
Top Related