Bogumiª Kami«ski and Michaª Jakubczyk and Przemysªaw...

15

Transcript of Bogumiª Kami«ski and Michaª Jakubczyk and Przemysªaw...

Page 1: Bogumiª Kami«ski and Michaª Jakubczyk and Przemysªaw Szufelru.discrete-mathematics.org/conferences/201805/wog/... · 2019-06-20 · Decision tree analysis with SilverDecisions.pl

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

Page 2: Bogumiª Kami«ski and Michaª Jakubczyk and Przemysªaw Szufelru.discrete-mathematics.org/conferences/201805/wog/... · 2019-06-20 · Decision tree analysis with SilverDecisions.pl

SilverDecisions.pl user interface

B. Kami«ski & M. Jakubczyk & P. Szufel Decision tree analysis with SilverDecisions.pl

Page 3: Bogumiª Kami«ski and Michaª Jakubczyk and Przemysªaw Szufelru.discrete-mathematics.org/conferences/201805/wog/... · 2019-06-20 · 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

Page 4: Bogumiª Kami«ski and Michaª Jakubczyk and Przemysªaw Szufelru.discrete-mathematics.org/conferences/201805/wog/... · 2019-06-20 · 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

Page 5: Bogumiª Kami«ski and Michaª Jakubczyk and Przemysªaw Szufelru.discrete-mathematics.org/conferences/201805/wog/... · 2019-06-20 · 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

Page 6: Bogumiª Kami«ski and Michaª Jakubczyk and Przemysªaw Szufelru.discrete-mathematics.org/conferences/201805/wog/... · 2019-06-20 · 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

Page 7: Bogumiª Kami«ski and Michaª Jakubczyk and Przemysªaw Szufelru.discrete-mathematics.org/conferences/201805/wog/... · 2019-06-20 · 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

Page 8: Bogumiª Kami«ski and Michaª Jakubczyk and Przemysªaw Szufelru.discrete-mathematics.org/conferences/201805/wog/... · 2019-06-20 · 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

Page 9: Bogumiª Kami«ski and Michaª Jakubczyk and Przemysªaw Szufelru.discrete-mathematics.org/conferences/201805/wog/... · 2019-06-20 · 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

Page 10: Bogumiª Kami«ski and Michaª Jakubczyk and Przemysªaw Szufelru.discrete-mathematics.org/conferences/201805/wog/... · 2019-06-20 · 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

Page 11: Bogumiª Kami«ski and Michaª Jakubczyk and Przemysªaw Szufelru.discrete-mathematics.org/conferences/201805/wog/... · 2019-06-20 · 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

Page 12: Bogumiª Kami«ski and Michaª Jakubczyk and Przemysªaw Szufelru.discrete-mathematics.org/conferences/201805/wog/... · 2019-06-20 · 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

Page 13: Bogumiª Kami«ski and Michaª Jakubczyk and Przemysªaw Szufelru.discrete-mathematics.org/conferences/201805/wog/... · 2019-06-20 · Decision tree analysis with SilverDecisions.pl

SilverDecisions.pl Users

B. Kami«ski & M. Jakubczyk & P. Szufel Decision tree analysis with SilverDecisions.pl

Page 14: Bogumiª Kami«ski and Michaª Jakubczyk and Przemysªaw Szufelru.discrete-mathematics.org/conferences/201805/wog/... · 2019-06-20 · 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

Page 15: Bogumiª Kami«ski and Michaª Jakubczyk and Przemysªaw Szufelru.discrete-mathematics.org/conferences/201805/wog/... · 2019-06-20 · 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