het gebruik van machinaal leren voor het voorspellen van...
TRANSCRIPT
Universiteit Gent
Faculteit Economie en Bedrijfskunde
Academiejaar 2013–2014
Het gebruik van machinaal leren voor het
voorspellen van de projectduur met gebruik
van EVM
Masterproef voorgedragen tot het bekomen van de graad van
Master of Science in de
Toegepaste Economische Wetenschappen: Handelsingenieur
Sam Clauwaert & Andreas Verleysen
onder leiding van
Prof. dr. Mario Vanhoucke & dr. ir. Francis wyffels
met begeleiding van
Mathieu Wauters
Universiteit Gent
Faculteit Economie en Bedrijfskunde
Academiejaar 2013–2014
Het gebruik van machinaal leren voor het
voorspellen van de projectduur met
gebruik van EVM
Masterproef voorgedragen tot het bekomen van de graad van
Master of Science in de
Toegepaste Economische Wetenschappen: Handelsingenieur
Sam Clauwaert & Andreas Verleysen
onder leiding van
Prof. dr. Mario Vanhoucke & dr. ir. Francis wyffels
met begeleiding van
Mathieu Wauters
Permission
Ondergetekenden verklaren dat de inhoud van deze masterproef mag geraadpleegd en/of
gereproduceerd worden, mits bronvermelding.
Andreas Verleysen
Datum
Sam Clauwaert
Datum
Dankwoord
De zoektocht naar een thesisonderwerp was een taak van lange adem maar beiden waren we
overtuigd dat een onderwerp met artificiële intelligentie boeiend en uitdagend zou worden.
Terugkijkend op de weg die we afgelegd hebben kunnen we stellen dat deze op zijn minst
enorm leerrijk was met nieuwe inzichten in het omgaan met grote hoeveelheden data, het
opstellen van zelflerende algoritmen en nieuwe vriendschappen.
We willen daarom eerst en vooral Mario Vanhoucke bedanken om ons de mogelijkheid en het
onderwerp aan te bieden. Ook willen we hem bedanken voor de uitnodiging op de jaarlijkse
EVM conferentie waar we onze eerste resultaten reeds hebben kunnen voorstellen. Dit heeft
geleid tot nuttige feedback van verschillende academici. Ook zijn we veel dank verschul-
digd aan Mathieu Wauters voor het interessante thesisvoorstel en het bijsturen doorheen het
thesisproject.
Verder en in het bijzonder bedanken we Francis wyffels om ons wegwijs te maken in de
wereld van machinaal leren. Bovendien is zijn continue begeleiding doorheen het jaar van
grote waarde geweest. Zijn collega Aäron van den Oord danken we evenzeer voor de bijsturing
tijdens de vele vergaderingen.
Tevens willen we Anastasia, Wieland, vrienden en familie bedanken voor het nalezen en
verbeteren van dit eindwerk.
Overigens rest ons nog een grote dankbetuiging aan onze ouders en vriendinnen Sarah en Ste-
fanie. Hun financiële en morele steun gedurende de vijfjarige opleiding van Handelsingenieur
is cruciaal geweest voor het succesvol afleggen van dit traject.
Andreas Verleysen & Sam Clauwaert
20 mei 2014
Samenvatting
De finale tijdsduur van een project voorspellen steunt reeds vijftig jaar op het vinden van
meer nauwkeurige earned value prestatiemaatstaven. Zo heeft men steeds meer accurate ken-
getallen ontworpen die het reëel verloop van een project samenvatten. In dit afstudeerwerk
kijken we de andere richting uit door de voorspellingsmethode aan te pakken: we introduce-
ren voorspellingstechnieken uit het domein van machinaal leren om de nauwkeurigheid van
de predicties te verbeteren. We bevinden in deze studie dat deze nieuwe technieken, mits
een zorgvuldige ontwerp en implementatie, correctere uitspraken maken over het toekomstig
tijdsverloop van een project.
Inhoudsopgave
Gebruikte afkortingen vi
Lijst van figuren viii
Lijst van tabellen xii
I Introductie 1
1 Situering 2
1.1 Onderzoeksvragen en omvang . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Opbouw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Trefwoorden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
II Literatuurstudie 5
2 Projectcontrole en Earned Value Management 6
2.1 Earned Value Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1 De nood aan Earned Value . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.2 Tijd is geld: Earned Value . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.3 Prestatiemaatstaven . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.4 Voorspellen met EVM . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.5 Tekortkomingen van EVM . . . . . . . . . . . . . . . . . . . . . . . . . 12
3 Machinaal leren 14
3.1 Inleiding tot het machinaal leren . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.1 Situering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.2 Disciplines binnen ML . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
i
INHOUDSOPGAVE ii
3.1.3 Toepassingsgebieden van ML . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.4 Werking ML-model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.5 ML binnen EVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2 Logistische regressie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.1 Kostenfunctie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2.2 Bepalen van de parameters . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2.3 Beslissingen nemen: één-tegen-allen . . . . . . . . . . . . . . . . . . . 27
3.2.4 Voordelen van logistische regressie . . . . . . . . . . . . . . . . . . . . 28
3.2.5 Nadelen van logistische regressie . . . . . . . . . . . . . . . . . . . . . 28
3.2.6 Logistische regressiemodel gebruikt in Liblinear . . . . . . . . . . . . . 28
3.3 Support Vector Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.1 Een hypervlak om observaties te scheiden . . . . . . . . . . . . . . . . 29
3.3.2 Hard Margin Classifier . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3.3 Optimal Margin Classifier . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3.4 Kernels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3.5 Support Vector Machine . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3.6 Meerdere klassen voorspellen . . . . . . . . . . . . . . . . . . . . . . . 38
3.3.7 Voordelen en nadelen van SVM’s . . . . . . . . . . . . . . . . . . . . . 38
3.4 Random Forests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4.1 Ensembles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4.2 Beslissingsbomen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4.3 Het combineren van verschillende beslissingsbomen voor het bekomen
van gerandomiseerde bomen . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4.4 Voor- en nadelen van gerandomiseerde bomen . . . . . . . . . . . . . . 45
3.5 K-Nearest Neighbours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.5.1 Nearest Neighbour classificator . . . . . . . . . . . . . . . . . . . . . . 46
3.5.2 De invloed van het aantal buren . . . . . . . . . . . . . . . . . . . . . 47
3.5.3 Normalisatie en selectie van de variabelen . . . . . . . . . . . . . . . . 48
3.5.4 Voor- en nadelen van KNN . . . . . . . . . . . . . . . . . . . . . . . . 48
III Simulatie 50
4 Onderzoeksopzet 51
4.1 Projectgeneratie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
INHOUDSOPGAVE iii
4.2 Projectsimulatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.2.1 Monte-Carlosimulatie . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.2.2 Distributies voor de tijdsduur van activiteiten . . . . . . . . . . . . . . 54
4.2.3 Bètadistributie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2.4 Simulatie-eigenschappen in dit onderzoek . . . . . . . . . . . . . . . . 55
4.2.5 Projectopvolging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.3 Variabelen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.3.1 Ingangsvariabelen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.3.2 Uitgangsvariabele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.4 Verdelen van de dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.4.1 Trainingsset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.4.2 Kruisvalidatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.4.3 Testset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.5 Beoordelingsperspectieven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.6 Beoordelingsmaatstaven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.6.1 MAPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.6.2 Confusion Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5 Voorbereiding van de modellen 69
5.1 Earned value voorspellingen in een classificatieopdracht . . . . . . . . . . . . 69
5.2 De invloed van hyperparameters . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.2.1 Logistische regressie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.2.2 SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.2.3 K-Nearest Neighbour . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.2.4 Gerandomiseerde bomen . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6 Resultaten 76
6.1 Globale accuraatheid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.1.1 Nauwkeurigheid in het voorspellen van specifieke klassen . . . . . . . . 77
6.2 Tijdsverloop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.3 Stabiliteit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.4 Variabiliteit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7 Relevantiedetectie van de ingangsvariabelen 84
7.1 Relevantie van de dynamische variabelen . . . . . . . . . . . . . . . . . . . . . 84
INHOUDSOPGAVE iv
7.2 Relevantie van projectnetwerkinformatie . . . . . . . . . . . . . . . . . . . . . 85
7.3 Belang van het verleden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
8 Sensitiviteitsanalyse van de dataset 89
8.1 De invloed van vier voorspellingsklassen . . . . . . . . . . . . . . . . . . . . . 89
8.1.1 Globale accuraatheid bij het voorspellen van vier klassen . . . . . . . 90
8.1.2 Tijdsverloop bij het classificeren van vier klassen . . . . . . . . . . . . 91
8.1.3 Stabiliteit bij het classificeren onder vier klassen . . . . . . . . . . . . 92
8.1.4 Variabiliteit bij het classificeren van vier klassen . . . . . . . . . . . . 92
8.2 Gestratificeerde data in plaats van gelijk verdeelde data . . . . . . . . . . . . 95
8.3 Invloed van de hoeveelheid data in de trainingsset . . . . . . . . . . . . . . . 96
8.4 Het effect van meerdere distributies in de testobservaties . . . . . . . . . . . . 98
IV Finale reflecties 102
9 Conclusie 103
10 Verder onderzoek 105
V Appendices 112
A Volledig onderzoeksopzet 113
B De prestatie van de traditionele EVM voorspellingsmethoden 117
B.1 Globale accuraatheid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
B.2 Tijdsverloop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
B.3 Stabiliteit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
B.4 Projectvariabiliteit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
C De prestatie van alle ML-voorspellingsmethoden 120
C.1 Globale accuraatheid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
C.2 Tijdsverloop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
C.3 Stabiliteit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
C.4 Projectvariabiliteit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
INHOUDSOPGAVE v
D Relevantiedectectie figuren 123
Gebruikte afkortingen
AC . . . . . . . . . . Actual Cost
AD . . . . . . . . . . Actual Duration
AD-indicator . . . . Activity Distribution indicator
AI . . . . . . . . . . . Artificiële Intelligentie
AT . . . . . . . . . . Actual Time
BAC . . . . . . . . . Budget At Completion
BI . . . . . . . . . . . BetrouwbaarheidsInterval
CM . . . . . . . . . . Confusion Matrix
CPI . . . . . . . . . . Cost Performance Index
CPM . . . . . . . . . Critical Path Method
CV . . . . . . . . . . Cost Variance
EAC(t) . . . . . . . . Estimated time At Completion
ED . . . . . . . . . . Earned Duration
ES . . . . . . . . . . . Earned Schedule
ES2 . . . . . . . . . . Earned Schedule voorspellingsmethode met gewichtsfactor SPI(t)
EV . . . . . . . . . . Earned Value
EVM . . . . . . . . . Earned Value Management
FN . . . . . . . . . . False Negatives
FP . . . . . . . . . . False Positives
KNN . . . . . . . . . K-Nearest Neighbour
KV . . . . . . . . . . KruisValidatie
vi
INHOUDSOPGAVE vii
LA . . . . . . . . . . Length of Arc
LOOCV . . . . . . . Leave-One-Out Cross-Validation
MAPE . . . . . . . . Mean Average Percentage Error
ML . . . . . . . . . . Machinaal Leren - Machine Learning
NN . . . . . . . . . . Nearest Neighbour
PC . . . . . . . . . . Percentage Complete
PD . . . . . . . . . . Planned Duration
PDWR . . . . . . . . Planned Duration of Work Remaining
PERT . . . . . . . . Program Evaluation and Review Technique
PV . . . . . . . . . . Planned Value
PVR . . . . . . . . . Planned Value Rate
RF . . . . . . . . . . Random Forest
SP . . . . . . . . . . . Serieel/Parallel
SPI . . . . . . . . . . Schedule Performance Index
SRA . . . . . . . . . Scheduled Risk Analysis
SV . . . . . . . . . . Schedule Variance
SVM . . . . . . . . . Support Vector Machine
TF . . . . . . . . . . Topological Float
TN . . . . . . . . . . True Negatives
TP . . . . . . . . . . True Positives
TV . . . . . . . . . . Time Variance
WBS . . . . . . . . . Work Breakdown Schedule
Lijst van figuren
2.1 Het projectverloop bij een hoge (links) en lage (rechts) p-factor (Lipke, 2004). 10
3.1 Kennismodel van Bellinger et al. (2004) . . . . . . . . . . . . . . . . . . . . . 16
3.2 Validatieset methode: men reserveert een deel van de dataset (hier twee derde)
om het model te trainen. Het andere gedeelte wordt nadien gebruikt om het
model op te beoordelen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3 De leave-one-out cross-validation methode. . . . . . . . . . . . . . . . . . . . 20
3.4 De k-fold cross-validation methode. . . . . . . . . . . . . . . . . . . . . . . . . 20
3.5 Overfitting en onderfitting (Ng, 2013) . . . . . . . . . . . . . . . . . . . . . . 21
3.6 De sigmoïdefunctie 11+e−Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.7 De kruisjes stellen klasse 1 voor terwijl de cirkels klasse 2 zijn. Ze zijn afhan-
kelijk van de waarde van ingangsvariabelen x1 en x2. . . . . . . . . . . . . . . 29
3.8 De scheidingslijn en de marges. . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.9 Een vergelijking tussen een suboptimale (links) en een optimale (rechts) schei-
dingslijn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.10 Het herschalen van de gewichten zodat de waarden van de omcirkelde obser-
vaties 1 of −1 teruggeeft in de formule van het hypervlak. Merk op dat de
afstand M hetzelfde is gebleven. . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.11 Het omzetten van tweedimensionale data naar drie dimensies volgens ϕ. . . . 35
3.12 gini-index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.13 Keuze van de te splitsen variabele op basis van de gini-index. . . . . . . . . . 42
3.14 Bepalen van de klasse door die klasse te selecteren die het vaakst door de
individuele beslissingsbomen voorspeld wordt (de Freitas (2013)). . . . . . . . 44
3.15 Classificatie op basis van aantal neighbours. Grijs = klasse 1, zwart = klasse
2 en wit = klasse 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.16 De invloed van K. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
viii
LIJST VAN FIGUREN ix
4.1 Onderzoeksopzet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2 Risicoprofielen voor de simulatie van de projecten. . . . . . . . . . . . . . . . 56
4.3 Trainingset (links) vs. testset (rechts). . . . . . . . . . . . . . . . . . . . . . . 60
4.4 Visuele voorstelling van een confusion matrix toegepast op klasse 1. . . . . . 65
4.5 Een voorbeeld van een CM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.6 De structuur waarop onze onderzoeksvragen beantwoord worden. . . . . . . . 68
5.1 De MAPE van de traditionele EVM voorspellingsmethoden toegepast in een
classificatieopdracht. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.2 De invloed van de inverse regularisatieterm C op de f1 score bij logistische
regressie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.3 De invloed van de inverse regularisatieterm C op de f1 score bij SVM’s met
lineaire kernel. De linkse figuur is opgesteld op tijdstip t = 10 pc en de rechtse
figuur op t = 90 pc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.4 De invloed van de hyperparameters C en γ op de F1-score van de SVM. . . . 72
5.5 De invloed van de hyperparameters neighbours en afstandsfunctie op de F1-
score van de KNN classificator. . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.6 De invloed van het aantal beslissingsbomen en de diepte van de individuele
bomen op de prestatie van gerandomiseerde bomen voor het 50PC model (links
gini, rechts entropie). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.7 De invloed van de diepte en het aantal geselecteerde variabelen per split op de
prestatie van een beslissingsboom voor het 50PC model. . . . . . . . . . . . . 75
6.1 Globale prestatie van de technieken op basis van de MAPE. . . . . . . . . . . 77
6.2 Invloed van het tijdsverloop op basis van de MAPE voor de verschillende
modellen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.3 Invloed van de SP-waarden op de MAPE voor de verschillende modellen. . . 80
6.4 Invloed van de vier risicoscenario’s op de MAPE voor de verschillende model-
len. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
7.1 De invloed van de prestatie-indicatoren bij het maken van de classificatiebe-
slissing bij RF in de tijd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.2 De invloed van statische projectinformatie bij het maken van de classificatie-
beslissing bij RF in de tijd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
LIJST VAN FIGUREN x
7.3 De invloed van dynamische projectinformatie uit het verleden bij het maken
van de classificatiebeslissing bij RF in de tijd. . . . . . . . . . . . . . . . . . . 88
8.1 Globale prestatie van de technieken op basis van de MAPE voor de classificatie
van vier klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
8.2 Confusion matrix van RF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
8.3 Confusion matrix van ES2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
8.4 Invloed van het tijdsverloop op basis van de MAPE voor de verschillende
modellen voor de classificatie van vier klassen. . . . . . . . . . . . . . . . . . 92
8.5 Invloed van de SP-waarden op de MAPE voor de verschillende modellen voor
de classificatie van vier klassen. . . . . . . . . . . . . . . . . . . . . . . . . . 93
8.6 Invloed van de vier risicoscenario’s op de MAPE voor de verschillende modellen
bij het classificeren van vier klassen. . . . . . . . . . . . . . . . . . . . . . . . 94
8.7 Prestatie van de voorspellingsmodellen met betrekking tot gestratificeerde test-
data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
8.8 Confusion matrix van ES2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8.9 Confusion matrix van een RF getraind met gestratificeerde data. Het model
verwacht weinig observaties van klasse 1. . . . . . . . . . . . . . . . . . . . . 97
8.10 MAPE voor de verschillende voorspellingstechnieken bij simulaties die voor-
namelijk vroege projecten genereren. . . . . . . . . . . . . . . . . . . . . . . . 99
8.11 MAPE voor de verschillende voorspellingstechnieken bij simulaties die voor-
namelijk late projecten genereren. . . . . . . . . . . . . . . . . . . . . . . . . . 100
8.12 MAPE voor de verschillende voorspellingstechnieken bij simulaties die voor-
namelijk zowel vroege als late projecten genereren. . . . . . . . . . . . . . . . 101
B.1 De MAPE van de traditionele EVM voorspellingsmethoden toegepast in een
classificatieopdracht. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
B.2 Het tijdsverloop van de MAPE van de traditionele EVM voorspellingsmetho-
den toegepast in een classificatieopdracht. . . . . . . . . . . . . . . . . . . . . 118
B.3 De stabiliteit van de traditionele EVM voorspellingsmethoden overheen ver-
schillende projectnetwerkstructuren uitgedrukt in de MAPE. . . . . . . . . . 119
B.4 De MAPE voor verschillende variabiliteitscenario’s van de traditionele EVM
voorspellingsmethoden toegepast in een classificatieopdracht. . . . . . . . . . 119
LIJST VAN FIGUREN xi
C.1 De MAPE van de verschillende ML voorspellingsmethoden ten opzichte van
ES2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
C.2 Het tijdsverloop van de MAPE van de verschillende ML voorspellingsmethoden
ten opzichte van ES2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
C.3 De stabiliteit van de verschillende ML voorspellingsmethoden ten opzichte van
ES2 overheen verschillende projectnetwerkstructuren uitgedrukt in de MAPE. 122
C.4 De MAPE voor verschillende variabiliteitscenario’s van de verschillende ML
voorspellingsmethoden ten opzichte van ES2. . . . . . . . . . . . . . . . . . . 122
D.1 De relevante variabelen voor het voorspellen van klasse 0 na l1 regularisatie . 123
D.2 De relevante variabelen voor het voorspellen van klasse 1na l1 regularisatie . 124
D.3 De relevante variabelen voor het voorspellen van klasse 2 na l1 regularisatie . 124
Lijst van tabellen
2.1 Bouwstenen EVM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Voorspellingsmethoden EAC(t). . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1 Een vergelijking van het duaal SVC probleem met en zonder kernel. . . . . . 37
3.2 Data voor het opbouwen van een beslissingsboom voor het bepalen van het al
dan niet te vroeg of te laat eindigen van een project op basis van de SP-waarde
en SPI-waarde. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1 Variabelen per tijdsperiode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.2 Verdeling van de klassen in de trainingsset. . . . . . . . . . . . . . . . . . . . 60
4.3 Verdeling van de SP-waarde in de trainingsset. . . . . . . . . . . . . . . . . . 61
6.1 Confusion matrices met het aantal voorspelde en werkelijke observaties per
klassen in functie van de verschillende technieken. De rijen stellen de werkelijke
klasse voor, de kolommen de voorspelde klasse. . . . . . . . . . . . . . . . . . 78
6.2 Gemiddelde verbetering van de MAPE ten opzichte van ES2 voor drie verschil-
lende tijdsintervallen van een project. . . . . . . . . . . . . . . . . . . . . . . . 79
6.3 De gemiddelde verbetering van de MAPE ten opzichte van ES2 voor drie ver-
schillende SP-intervallen van een project. Hogere getallen duiden een hoger
negatief verschil aan ten opzichte van de MAPE van ES2. . . . . . . . . . . . 81
6.4 Onder- en bovengrenzen van de bètadistributie van de verschillende scenario’s. 81
6.5 Gemiddelde verbetering van de MAPE van de voorspellingstechnieken voor
vier verschillende risicoscenario’s van een project. . . . . . . . . . . . . . . . . 82
7.1 Gebruikte topologische indicatoren volgens L1-regularisatie voor het voorspel-
len van het toekomstig projectverloop. . . . . . . . . . . . . . . . . . . . . . . 86
xii
LIJST VAN TABELLEN xiii
8.1 Gemiddelde verbetering van de MAPE ten opzichte van ES2 voor drie verschil-
lende tijdsintervallen van een project in het vier klassen classificatieprobleem. 91
8.2 Gemiddelde verbetering van de MAPE ten opzichte van ES2 voor drie ver-
schillende SP-intervallen van een project. Hogere getallen duiden een hoger
negatief verschil aan ten opzichte van de MAPE van ES2. . . . . . . . . . . . 93
8.3 Gemiddelde verbetering van de MAPE ten opzichte van ES2 van de voorspel-
lingstechnieken voor vier verschillende risicoscenario’s van een project. . . . . 94
8.4 Verdeling van de klassen in de trainingsset. . . . . . . . . . . . . . . . . . . . 95
8.5 MAPE van SVM en RF onder een variërende grootte van trainingsset. . . . . 97
Deel I
Introductie
1
Hoofdstuk 1
Situering
Deze thesis heeft tot doel te achterhalen of technieken uit het domein ’machinaal leren’ toe-
gepast binnen projectcontrole leidt tot een efficiëntere opvolging van de projecten. Project-
controle is een vakgebied binnen projectmanagement dat projecten opvolgt en voorspellingen
doet naar de uitkomst van tijd, kost en kwaliteit. In het geval een afwijking van het voor-
opgestelde plan optreedt, zullen correctieve acties ondernomen worden om het project terug
op schema te krijgen. Earned Value Management (EVM) is één van de technieken die wordt
gebruikt voor deze opdracht. Hierbij wordt actuele projectdata genomen om een projectie te
vormen van het al dan niet slagen van een project naar de toekomst toe. Hiervoor wordt er
gekeken naar de twee belangrijkste prestatieparameters: tijd en kost. EVM heeft als grote
sterkte dat het ook geschatte voorspellingen kan maken van de finale tijdsduur en kost. Deze
voorspellingen zijn echter niet volledig accuraat. De afwijking zal voor elk type project ver-
schillend zijn, en EVM-technieken zijn niet in staat om te leren van de gemaakte afwijkingen
bij het maken van voorspellingen. Op dit punt komt artificiële intelligentie aan bod.
Artificiële Intelligentie (AI) heeft tot doel een systeem te ontwikkelen dat beslissingen neemt
zoals een mens die zou nemen. Een deeldomein hiervan is Machinaal Leren (ML) (Machine
Learning). Dit zijn algoritmen die in staat zijn bij te leren op basis van gegevens. Zo kunnen
er voorspellingen gemaakt worden over de finale tijdsduur van een project. Deze methoden
hebben potentieel omdat ze hun intelligentie halen uit het verloop van de vorige projecten.
Meer betrouwbare voorspellingen leiden tot een nauwkeurige opvolging en bijsturing van het
project, wat het uiteindelijke doel is van projectcontrole.
Onze bijdrage aan de projectmanagement-literatuur is tweeledig. Als eerste introduceren
we voorspellingstechnieken uit het ML-domein binnen het gebruik van EVM als projectcon-
2
1.1. ONDERZOEKSVRAGEN EN OMVANG 3
troletechniek. Hierdoor stijgt de kwaliteit van de voorspellingen wegens het gebruik van
historische informatie van andere projecten en meer variabelen. Ten tweede passen we het
classificatieconcept toe om de uitspraak van de voorspelling te vereenvoudigen naar het al
dan niet te laat zijn.
1.1 Onderzoeksvragen en omvang
In deze afstudeerscriptie wordt een uitspraak gedaan over het al dan niet tijdig zijn van het
project. We classificeren met andere woorden een project als te vroeg, op tijd of te laat.
Dit dient als waarschuwingssignaal voor de projectmanager. Het uiteindelijke doel is het
beantwoorden van de twee volgende vragen:
1. Kan ML nauwkeurigere predicties maken dan de huidige earned value voorspellingsme-
thoden?
2. Welke ML-methode is het meest geschikt voor de toepassing van projectcontrole?
Om de toepassingsmogelijkheden van ML te beoordelen, baseren we ons op Vanhoucke & Van-
devoorde (2007). Hierbij worden de talrijke earned value voorspellingsmethoden beoordeeld
op drie dimensies:
• Globale accuraatheid (forecast accuracy): wat is de prestatie van de techniek voor een
gemiddeld projecttype, op een gemiddeld tijdstip met gemiddelde variabiliteit?
• Tijdsverloop (timeliness): in welke mate stijgt de precisie van de gemaakte voorspel-
lingen indien we verder gaan in de levensduur van het project?
• Stabiliteit (stability): wat is de invloed van de netwerktopologie op de nauwkeurigheid
van de voorspellingen?
Wij voegen een additioneel perspectief toe:
• Projectvariabiliteit: wat is de invloed van de opgelegde volatiliteit in de distributies
van de tijdsduur van de activiteiten op de voorspellingsnauwkeurigheid?
1.2 Opbouw
In dit verslag beginnen we met de lezer de nodige achtergrond te verschaffen. In hoofdstuk 2
herhalen we kort de werking van de top-down techniek EVM. Er wordt geduid op de sterken
1.3. TREFWOORDEN 4
en zwakten en hoe dit leidt tot mogelijke verbeteringspunten. In hoofdstuk 3 schetsen we het
doel en de werking van ML. We besteden aan elke gehanteerde techniek een hoofdstuk om
het intern functioneren uit te leggen en te illustreren. In deel III wordt onze onderzoeksopzet
uit de doeken gedaan. Vervolgens bespreken we de resultaten van de simulatiestudie. Deze
thesis wordt afgesloten met besluiten omtrent de toepassing van ML in projectcontrole en we
geven suggesties voor verder onderzoek.
1.3 Trefwoorden
Projectopvolging, artificiële intelligentie, machinaal leren, earned value management, classi-
ficatie, predictie, logistische regressie, nearest neighbour classifiers, random forests, support
vector machines.
Deel II
Literatuurstudie
5
Hoofdstuk 2
Projectcontrole en Earned Value
Management
Projectcontrole heeft tot doel de uitvoering van een project met zo weinig mogelijk energie zo
optimaal mogelijk op te volgen en bij te sturen. Een manier om dit te doen is de Earned Value
Management methode (EVM). Aan de hand van deze constructen kunnen waarschuwings-
signalen opgesteld worden die een indicatie geven over de huidige situatie van het project in
termen van tijd en kost.
In deze sectie worden de werking en de kengetallen van EVM uitgelegd. In gedeelte 2.1.3
leggen we uit hoe deze kengetallen leiden tot prestatiemaatstaven. Deze indicatoren kunnen
dan gebruikt worden om de finale tijdsduur te voorspellen, zoals geïllustreerd in 2.1.4. We
ronden dit hoofdstuk af in deel 2.1.5 met de tekortkomingen van deze voorspellingsmethoden.
2.1 Earned Value Management
Earned Value Management is een top-down techniek geïntroduceerd in 1960 door het Ame-
rikaanse ministerie van Defensie om de progressie van een project op te volgen. Dit gebeurt
door tijd en kost te integreren in één begrip, Earned Value (EV). Aangezien deze twee dimen-
sies voorkomen in elk project, is de EVM-methodologie universeel toepasbaar en een geschikte
methode om het fysisch verloop van het project te communiceren. Sedert het ontstaan heeft
het kostaspect veel aandacht genoten (Christensen, 1993). Het ontstaan van earned schedule
door Lipke (2003) heeft de aandacht gevestigd op het voorspellen van de tijdscomponent van
projecten, wat ook de focus is van dit afstudeerwerk.
6
2.1. EARNED VALUE MANAGEMENT 7
2.1.1 De nood aan Earned Value
Een intuïtieve manier om een project van naderbij te volgen is door de vergelijking te maken
tussen de huidige stand van het project en diens planning. Uit deze planning kan men halen
hoeveel men gedacht had uit te gegeven op een bepaald tijdstip (planned value). Bovendien
kan men gedurende de levensduur van het project voortdurend de gemaakte kosten opvolgen
(actual cost). Het louter vergelijken van deze twee parameters zegt echter niets over het
kostenplaatje. Dit is omdat het vergelijken van de kosten met de planning moet gebeuren
op basis van het werk dat verricht is en niet op basis van het huidige tijdsmoment. Ook
kunnen we geen uitspraak doen over de stiptheid van het project: de vergelijking tussen de
planned value en het huidige tijdstip (actual duration) is niet mogelijk aangezien planned
value uitgedrukt is in monetaire eenheden.
2.1.2 Tijd is geld: Earned Value
Om de earned value methodologie toe te passen, moet men bij de opstelling van de planning
volgende parameters construeren: Budget At Completion (BAC), Planned Duration (PD) en
Planned Value (PV). De BAC is simpelweg gelijk aan de totaal geschatte kost van het project.
De PD zegt hoeveel tijd het project in beslag zal nemen volgens de planning. Uit dit laatste
kengetal kan men dan via de BAC de PV berekenen, dat geïnterpreteerd kan worden als de
waarde van het werk dat men verricht zou moeten hebben op een bepaald tijdstip t.
Tijdens het verloop zal men periodiek de status van het project opmeten. Men noteert de
huidige cumulatieve kost, Actual Cost (AC) genaamd. Ook noteert men een percentage dat
weergeeft hoeveel het project reeds vervolledigd is, Percentage Complete (PC). Dit wordt ver-
volgens gebruikt om de Planned Value (PV) te berekenen, wat wordt gegeven in vergelijking
(2.1).
EVt = PCt · BAC (2.1)
PV kan worden geïnterpreteerd als de gerealiseerde waarde van het verrichte werk op een
bepaald tijdstip t. Tabel 2.1 vat deze parameters samen.
Een voorbeeldje verduidelijkt bovenstaande parameters. Veronderstel dat een project geschat
10 weken zal duren (PD), e 10.000 zal kosten (BAC) en men iedere week een uniforme waarde
van e 1.000 hoopt te verwezenlijken (PV). Men is één week ver en de project manager roept
zijn team samen. Uiteraard hoopt hij/zij op een huidige kost van e 1.000 (of lager) en een
PC van 10 %. De wet van Murphy geldt echter: de kosten zijn opgelopen tot e 1.200 (AC)
2.1. EARNED VALUE MANAGEMENT 8
Naam Afkorting Afkomst
Planned Duration PD Planning
Budget At Completion BAC Planning
Planned Value PV Planning
Actual Cost AC Realiteit
Percentage Complete PC Realiteit
Earned Value EV Realiteit & planning
Tabel 2.1: Bouwstenen EVM.
en men heeft nog maar 5 % van het werk kunnen uitvoeren (PC). Dit leidt tot een EV van
e 500.
Merk dus op dat EV, de gerealiseerde waarde, zowel een tijds- als kostelement bevat en beide
uitdrukt als monetaire waarden.
2.1.3 Prestatiemaatstaven
Nu we de kengetallen van EVM berekend hebben, kunnen we deze gebruiken om een aantal
indicatoren op te stellen die een beeld schetsen van het huidige projectverloop.
Traditioneel definieert men Schedule Variance (SV) en Cost Variance (CV) als de afwijking
tussen EV en PV enerzijds (2.2) en de afwijking tussen EV en AC (2.3) anderzijds.
SV = EV - PV (2.2)
CV = EV - AC (2.3)
Deze twee getallen zijn ook gekend als ratio onder de naam Schedule Performance Index
(SPI) (2.4) en Cost Performance Index (CPI) (2.5):
SPI = EVPV
(2.4)
CPI = EVAC
(2.5)
Aangezien de tijdsindicatoren SV en SPI de tijdsprestatie uitdrukken in monetaire eenheden
moeten deze worden vertaald naar tijdseenheden. Een eerste methode, de planned value
2.1. EARNED VALUE MANAGEMENT 9
methode, is aangehaald door Anbari (2003) en zet de SV om met behulp van de Planned
Value Rate (PVR) als gedefinieerd in 2.6.
PVR = BACPD
(2.6)
Dit geeft de Time Variance (TV):
TV = SVPVR
(2.7)
Jacob & Kane (2004) corrigeert het huidige tijdstip van het project (AD) door te vermenig-
vuldigen met de SPI en levert aldus de Earned Duration (ED) op (2.8)
ED = AD * SPI (2.8)
Aangezien deze twee methoden gebruik maken van de percentage complete zal op het einde van
het project de SV naderen naar 0 en de SPI naar 1. Dit maakt dat deze prestatie-indicatoren
onbetrouwbaar zijn naarmate het project het einde nadert. Een oplossing hiervoor bestaat
erin om EV rechtstreeks te vertalen naar het tijdsdomein. Een methode hiervoor is ontwikkeld
door Lipke (2003), bekend onder het begrip Earned Schedule (ES) en wordt als volgt berekend:
Vind het tijdstip t waarbij
EV ≥ PVt
EV < PVt+1
ES = t + EV − PVt
PVt+1 − PVt(2.9)
Op basis van ES kan vervolgens de parameter SPI(t) in vergelijking (2.10) opgesteld worden
die rechtstreeks in tijdseenheden opereert in plaats van kosteenheden. Dit is een alternatief
en een verbetering op de SPI (2.4) die onbetrouwbaar wordt naarmate het project het einde
nadert. EV is namelijk altijd gelijk aan de PV in de eindfasen van het project waardoor deze
automatisch een waarde van 100% aanneemt, ongeacht de werkelijke toestand van het project
(Vanhoucke & Vandevoorde (2007)).
SPI(t) = ESAT
(2.10)
Op basis van de ES-methode kunnen we vervolgens ook de p-factor (Lipke, 2004) introduceren
die de link legt tussen de EVM-parameters en de projectplanning. Deze factor geeft aan in
welke mate de uitvoering van de activiteiten van een project het vooropgestelde plan volgt.
Hierbij neemt de p-factor (2.11) een waarde aan tussen [0,1].
p =∑
i∈N min(PVi,ES, EVi,AT)∑i∈N PVi,ES
(2.11)
2.1. EARNED VALUE MANAGEMENT 10
Met N het aantal activiteiten in een project, PVi,ES de PV voor activiteit i op tijdstip ES en
EVi,AT de EV van activiteit i op het huidige tijdstip AT.
Een p-waarde = 0 stelt een projectverloop voor dat 0% volgens plan verloopt. Bij een p-
waarde = 1 wordt de planning volledig nageleefd. Deze interpretatie wordt weergegeven in
figuur 2.1. Indien men afwijkt van een vooropgesteld plan gaat men ervan uit dat dit zal
leiden tot inconsistenties in de verdere uitvoering van het project.
Figuur 2.1: Het projectverloop bij een hoge (links) en lage (rechts) p-factor (Lipke, 2004).
2.1.4 Voorspellen met EVM
Met behulp van bovenstaande maatstaven kan men uitspraken doen over het toekomstige tijd-
en kostenverloop. Hierbij wordt de assumptie gemaakt dat het huidige verloop een indicatie
is voor het toekomstig verloop van het project. Door middel van extrapolatie kunnen zo
concrete uitspraken gedaan worden over de finale tijdsduur en de totale kosten. Voor zowel
tijd als kost zijn er verschillende formules gedefinieerd. Aangezien de tijdsduur voorspellen
het doel is van deze thesis, behandelt deze sectie enkel de traditionele methoden om de finale
tijdsduur te voorspellen.
Binnen het tijdsvoorspellingsperspectief (Estimated time At Completion - EACt) worden uit-
spraken gemaakt rond de finale tijdsduur door middel van volgende vereenvoudigde formule:
EACt = AT + PDWR (2.12)
met AT het huidige tijdstip en PDWR de Planned Duration of Work Remaining of de geplande
tijdsduur van het nog uit te voeren werk.
Binnen de tijdsvoorspellingstechniek van EVM kan er gebruik gemaakt worden van negen
2.1. EARNED VALUE MANAGEMENT 11
methoden om de PDWR te berekenen die onderverdeeld kunnen worden in drie versies met
telkens drie prestatie-factoren als gewicht:
* Planned Value methode (PV)
• PF = 1: EAC(t)PV = PD − TV
• PF = SPI: EAC(t)PV = PDSPI − TV
• PF = SCI: EAC(t)PV = PDSCI − TV
* Earned Duration methode (ED)
• PF = 1: EAC(t)ED = AT + (max(PD, AT) − ED)
• PF = SPI: EAC(t)ED = AT + (max(PD, AT) − ED)/SPI
• PF = SCI: EAC(t)ED = AT + (max(PD, AT) − ED)/SCI
* Earned Schedule methode (ES)
• PF = 1: EAC(t)ES = AT + (PD − ES)
• PF = SPI(t): EAC(t)ES = AT + (PD − ES)/SPI(t)
• PF = SCI(t): EAC(t)ES = AT + (PD − ES)/SCI(t)
Volgende methoden zijn samengevat in tabel 2.2. Uit onderzoek door Vanhoucke (2009) is
gebleken dat de ES methode vaak de beste voorspellingskracht heeft. Dit komt voornamelijk
door de interpolatie van de tijdsduur in tijdseenheden in tegenstelling tot de twee andere
versies waarbij tijd wordt uitgedrukt in monetaire waarde.
Voorspellingsmethode Volgens plan Volgens tijdsprestatie Volgens tijd/kostprestatie
PV-methode EAC(t)P V (PF = 1) EAC(t)P V (PF = SPI) EAC(t)P V (PF = SCI)
ED-methode EAC(t)ED (PF = 1) EAC(t)ED (PF = SPI) EAC(t)ED (PF = SCI)
ES-methode EAC(t)ES (PF = 1) EAC(t)ES (PF = SPI(t)) EAC(t)ES (PF = SCI(t))
Tabel 2.2: Voorspellingsmethoden EAC(t).
Recenter onderzoek tracht deze voorspellingen naar een volgend niveau te brengen. Lipke
et al. (2009) passen statistische BetrouwbaarheidsIntervallen (BI) toe op de totale kost- en
tijdpredicties door een lognormale verdeling te leggen onder de CPI en SPI(t) kengetallen.
Hierbij wordt dan de bovengrens van het BI gebruikt als meest pessimistische schatting en
2.1. EARNED VALUE MANAGEMENT 12
wordt statistisch vergeleken met de vooropgestelde planning. Elshaer (2013) voegt sensitivi-
teitsinformatie toe door de EV en PV te wegen aan de hand van de berekende Schedule Risk
Analysis (SRA) parameters. Deze studie stelt vast dat het toevoegen van de criticality index
aan de EV-berekeningen leidt tot betere voorspellingen.
2.1.5 Tekortkomingen van EVM
Gedurende het vijftigjarig bestaan van EVM zijn er in de literatuur een aantal tekortkomingen
geïdentificeerd in het voorspellen van de finale projectuitkomst.
Een eerste gebrek schuilt in het parallel verloop van de verschillende activiteiten van een
project. De bijhorende problemen liggen inherent in het opstellen van de EV-getallen op
projectniveau en worden in detail onderzocht in Vanhoucke (2009). Hieruit is gebleken dat
EVM slechte voorspellingen maakt voor projecten met een sterk parallel verloop van de
activiteiten. Dit komt omdat EVM op een hoog Work Breakdown Schedule (WBS) niveau niet
de mogelijkheid heeft om kritische activiteiten te onderscheiden van niet-kritische activiteiten
waardoor er vaak foute signalen van laattijdigheid worden gegenereerd wanneer niet-kritische
activiteiten uitlopen.
Het tweede gebrek schuilt in de lage voorspellingsprestatie in de eerste fase van een project
waardoor de projectmanager in het begin geen betrouwbare informatie heeft. Dit komt
simpelweg door het minder beschikbaar zijn van informatie tijdens de start van het project.
Toch is er a priori informatie aanwezig zoals de netwerkstructuur en de reeds uitgevoerde
projecten in een bedrijf. Tot op heden zijn wij ons niet bewust van studies die trachten de
EV-voorspellingen te verbeteren in de vroege fasen van het project.
De filosofie achter EVM is om de gehele projectopvolging intuïtief te houden door het gebruik
van eenvoudige kengetallen. Dit heeft echter geleid tot een hele reeks voorspellingsmethoden,
zowel voor tijd als kost. Christensen (1993) haalt zelfs aan dat er voor EAC te voorspellen
oneindig veel formules mogelijk zijn. De auteur tracht een vuistregel te geven wanneer men
welke index het best kiest. Vanuit het tijdsperspectief concluderen Vanhoucke & Vandevoorde
(2007) dat gemiddeld genomen de ES methode de beste prestatie heeft in het voorspellen
van de finale tijdsduur. Er wordt aangeraden de juiste methode te kiezen op basis van
netwerkspecifieke informatie. De aanwezigheid van deze vele voorspellingsmethoden leidt
echter tot verwarring voor de projectmanager die voor het voorspellen van zowel kost als tijd
verschillende methoden kan gebruiken.
2.1. EARNED VALUE MANAGEMENT 13
Een laatste tekort is aangegeven in de algemene formule (2.12) die gebruikt wordt om de
finale tijdsduur te voorspellen: er moet voor de tijdsvoorspelling een primitieve assumptie
gemaakt worden over het toekomstig verloop van het project. De beste assumptie hangt af
van project tot project (Vanhoucke & Vandevoorde, 2007) en vereist de subjectieve input van
een expert.
Hoofdstuk 3
Machinaal leren
In dit hoofdstuk geven we in sectie 3.1 een algemene inleiding over ML en situeren we de toe-
passingen ervan binnen EVM. Vervolgens zoomen we in op enkele veel-gebruikte algoritmen
die ook in deze studie onderzocht worden: in sectie 3.2 bespreken we logistische regressie, in
deel 3.3 wordt een bondig overzicht gegeven van support vector machines, vervolgens wordt
in het gedeelte 3.4 gerandomiseerde bomen toegelicht en in 3.5 wordt de nearest neighbour
methodiek besproken. Sommige begrippen in dit hoofdstuk zijn Engelstalig gehouden om
compatibiliteit en controle met de voornamelijke Engelstalige literatuur te verzekeren.
3.1 Inleiding tot het machinaal leren
3.1.1 Situering
ML is een onderzoeksveld binnen AI dat tot doel heeft een systeem te creëren dat in staat is
problemen op te lossen door te leren van gemaakte successen en fouten. Een formele definitie
wordt gegeven door Mitchell (1997):
A computer program is said to learn from experience E with respect to some
class of tasks T and performance measure P, if its performance at tasks in T, as
measured by P, improves with experience E.
Het doel of de taak T van ML kan tweeledig zijn: regressie en/of classificatie. Onder regressie
verstaat men een continue waarde toewijzen aan de afhankelijke veranderlijke. Bij classifica-
tie wordt een label toegekend aan de uitgangswaarde. Anders gezegd komt regressie neer op
een respons voorspellen en het identificeren tot welke groep de observatie behoort. Toege-
past op projectcontrole stellen we dat classificatie neerkomt op het indelen van projecten als
14
3.1. INLEIDING TOT HET MACHINAAL LEREN 15
kost- en/of tijdsoverschrijdend. Bij regressie wordt een geschatte uitspraak gedaan over de
werkelijke tijdsduur van een project.
De ervaring E in de definitie slaat op de manier waarop het systeem bijleert. Zo onderscheidt
men de volgende drie types van leren:
1. Gesuperviseerd leren: iedere observatie in de training set bevat de uitgang y (input,
output).
2. Ongesuperviseerd leren: de uitgangswaarde y is a priori niet geweten (input, ?).
3. Reinforcement learning : de uitgang wordt niet meegegeven, maar het systeem wordt
wel bijgestuurd door middel van een beloning indien de output y voor een observatie
correct wordt voorspeld (input, ?, beloning).
De prestatiemaatstaf P verwijst naar de methode waarop we het systeem beoordelen. Dit
staat toe verschillende modellen te vergelijken op basis van een vooraf gedefinieerde maatstaf.
In de literatuur zijn de meest gebruikte prestatiemaatstaven voor classificatieopdrachten de
recall en precision score en de daaruit voortvloeiende F1-score. Deze maatstaven worden
verder besproken in 4.6.
Een onderdeel van leren is het goed begrijpen en kunnen verwerken van data om dit om
te zetten in kennis waarmee een systeem rationele acties kan uitvoeren. Het opbouwen van
kennis is een stapsgewijs proces met als beginpunt de invoer van data. Deze data omvatten
een collectie van niet-gelinkte gegevens die omgezet kunnen worden in informatie door het
correct structureren en analyseren van de data. Informatie ontstaat wanneer relaties tus-
sen de datapunten worden geobserveerd waarmee vragen zoals wie, wat, waar en wanneer
beantwoord kunnen worden. Het correct interpreteren en evalueren van informatie leidt uit-
eindelijk tot kennis waarmee relaties tussen patronen kunnen worden herkend en vragen zoals
„Hoe?” beantwoord kunnen worden. Vervolgens kan kennis omgezet worden in wijsheid door
het correct verstaan van de onderliggende principes in de kennis. Hiermee kunnen vragen
zoals het „Waarom?” beantwoord worden. Het kennismodel ontwikkeld door G. Bellinger
(Bellinger et al., 2004) is grafisch weergegeven in figuur 3.1.
Samengevat heeft elk lerend systeem nood aan voldoende data om de nodige kennis te ont-
wikkelen en te leren uit de opgedane kennis. Dit leerproces is hierboven beschreven aan
de hand van de definitie gegeven door Mitchell (1997). Toegepast op ons onderzoek omvat
de data verschillende projectstructuren en gesimuleerde projectdata waarin een ML-systeem
3.1. INLEIDING TOT HET MACHINAAL LEREN 16
Figuur 3.1: Kennismodel van Bellinger et al. (2004)
door middel van gesuperviseerd leren achterliggende patronen en relaties moet herkennen
die van invloed zijn op het al dan niet slagen van een project. Door gebruik te maken van
een grote hoeveelheid aan observaties kan het systeem leren uit gemaakte misclassificaties en
geslaagde classificaties en zo de kennis ontwikkelen om nieuwe observaties correct te classifi-
ceren. Het ultieme systeem moet in staat zijn om foutloos elk project te classificeren tot de
juiste klasse.
3.1.2 Disciplines binnen ML
ML is een studie die gegroeid is uit verschillende wetenschappelijke taken doorheen de jaren
en integreert de volgende disciplines:
1. Computerwetenschappen: hoe bouwen we machines die problemen kunnen oplossen?
2. Statistiek en kansrekening: wat kunnen we afleiden uit een dataset met bijhorende
assumpties, en tegen welke betrouwbaarheid?
3. Optimalisatietechnieken: hoe vinden we de beste oplossing voor een probleem?
4. Neurobiologie: hoe werken de hersenen, hoe leren mensen?
De integratie van al deze deeldomeinen heeft tot doel systemen te ontwikkelen die leren en
kunnen interageren zoals een menselijk individu. Het idee achter, bijvoorbeeld, neurale net-
werken is gebaseerd op de werking van de hersenen. Voor optimalisatietechnieken heeft men
3.1. INLEIDING TOT HET MACHINAAL LEREN 17
gekeken naar de natuur en het principe van survival of the fittest om genetische algoritmen
te ontwikkelen. Het uiteindelijke doel van ML is het nabootsen van rationele logica om
zelfstandig complexe problemen te begrijpen en op te lossen.
3.1.3 Toepassingsgebieden van ML
Het gebruik van ML is reeds wijdverspreid in diverse sectoren en geniet de laatste decennia
veel aandacht in robotica, data-analyse, de medische sector, ruimtevaart. . . Gekende dage-
lijkse toepassingen zijn:
• Spamfilters in mailverkeer.
• Game playing: denk maar aan de Deep Blue schaakmachine van IBM die de wereld-
kampioen schaken G. Kasparov versloeg in 1996.
• Spraakherkenning: het gebruik van Siri om het iOS besturingssysteem met spraak aan
te sturen.
• Patroonherkenning: gezichtsherkenning op Facebook en bewegingsherkenning op de
Xbox Kinect
• Data-analyse en Big Data.
Ook binnen het domein van projectcontrole vinden we toepassingen van ML terug. In het
onderzoek van H. Murat Gnaydin (2004) wordt gebruik gemaakt van neurale netwerken voor
vroegtijdige kostpredicties in de bouwsector. In het onderzoek van de Barcelos Tronto et al.
(2008) worden neurale netwerken toegepast binnen de opvolging van softwareprojecten. Ook
Ko & Cheng (2007) maken gebruik van neurale netwerken voor het nagaan van succesvolle
projecten. Veel onderzoek spitst zich zodoende toe op het gebruik van neurale netwerken
binnen de bouw- en IT-sector, waarbij domein-specifieke variabelen worden opgenomen in de
voorspellingen. Over concrete toepassingen van ML binnen EVM projectcontrole hebben we
echter geen onderzoek terug gevonden.
3.1.4 Werking ML-model
1De ML-modellen die we verder in dit onderzoek gaan behandelen zijn gebaseerd op example-
based training, ofwel het trainen van een systeem door middel van voorbeelden. We trachten
dus een model op te stellen met variabelen x en parameters w om de uitgang y zo goed1Deze sectie is gebaseerd op de dictaten van Prof. dr. B. Schrauwen (Schrauwen, 2013)
3.1. INLEIDING TOT HET MACHINAAL LEREN 18
mogelijk te benaderen. Als voorbeeld beschouwen we een lineair probleem met volgend
regressiemodel:
y(x, w) = w0 + w1x1 + w2x2 + · · · + wzxz (3.1)
= w0 + wT x
met w de parametervector van de functie en x de vector van de variabelen.
Om een zo goed mogelijke benadering te krijgen van de y-waarden moeten we door middel van
regressie de parameters van het model proberen te achterhalen die resulteren in een zo min
mogelijke afwijking. Daarvoor hebben we nood aan een loss function, ook wel kostenfunctie
genoemd, die we willen minimaliseren om het model de data zo goed mogelijk te laten bena-
deren. Binnen het domein van machinaal leren bestaan er tal van kostenfuncties. Toegepast
op het voorbeeld van lineaire regressie wordt vaak beroep gedaan op de Mean Squared Error
(MSE), weergegeven in formule (3.2).
E(w) = 1N
N∑n=1
(tn − wtxn)2 (3.2)
met tn de verwachte outputwaarde en N het totale aantal observaties.
Vervolgens hebben we een algoritme nodig dat in staat is de parameters van het model te
construeren. Een veelgebruikte methode is de gradient descent methode. De gradiënt van
een kostenfunctie duidt de richting aan waarin de functie de sterkste stijging of daling kent.
In deze richting bereikt de kostenfunctie dus het snelst een optimum. De gradiënt stelt
een vector voor van de partieel afgeleiden van de parameters van de kostenfunctie en wordt
weergegeven in formule (3.3):
∇E(w) =(
∂
∂wjE(w)
)(3.3)
Bij gradient descent worden de parameters iteratief aangepast om zo stapsgewijs een optimaal
model te fitten:wτ+1
j = wτj − η
∂
∂wjE(w)
= wτj + η
12∑
2 (tn − wT Xn)︸ ︷︷ ︸fout
xn,j︸︷︷︸input
(3.4)
met η de leersnelheid en w(τ+1) de parameters in stap (τ + 1).
Uiteraard zijn er meer geavanceerde optimalisatiemethoden ter beschikking om dit proces
te versnellen. Meer informatie hiervan komt terug in deel 3.2.2, waar deze methode wordt
gebruikt om het logistische regressiemodel te optimaliseren.
3.1. INLEIDING TOT HET MACHINAAL LEREN 19
Training, kruisvalidatie en testen
Het resultaat van het model op basis van de fout (3.2) op de trainingsset (i.e. de observa-
ties die gebruikt worden om de parameters van het model te optimaliseren) rapporteren, is
misleidend. Men kan namelijk een zodanig complex model construeren dat de data op een
perfecte manier voorspeld wordt. Het model wordt zodanig gebouwd om een goede prestatie
te leveren op deze observatiepunten. Veel interessanter om weten, is hoe goed het model
ongeziene observaties kan indelen. Om deze reden wordt uit de gehele dataset testobservaties
gereserveerd om de prestatie te beoordelen. De methoden die gebruik maken van ongeziene
datapunten vallen onder de noemer van kruisvalidatiemethoden.
Er zijn verschillende uitvoeringen van kruisvalidatie (Pedregosa et al., 2011a; James et al.,
2013). Zo kan men de gehele dataset opsplitsen in een trainingset en een testset. Dit is
visueel zichtbaar in figuur 3.2. Ondanks de eenvoud en berekenbaarheid van deze methode
zijn er twee grote nadelen aan verbonden. Ten eerste hangt de gerapporteerde fout op de
testset af van de gebruikte observaties. Wegens toevalligheden in deze opdeling kan het zijn
dat het algoritme een aantal cruciale observaties niet in de trainingset had of dat de testset
bij toeval alle moeilijke observaties bevat. In dit scenario zal de fout op testset groter zijn
dan ze werkelijk is. Het omgekeerde geval, waarbij de fout onderschat wordt, is ook mogelijk.
Ten tweede houdt de reductie van het aantal trainingsobservaties in waardoor de testfout
overschat wordt.
�������������
� ����� ���
Figuur 3.2: Validatieset methode: men reserveert een deel van de dataset (hier twee derde)
om het model te trainen. Het andere gedeelte wordt nadien gebruikt om het model op te
beoordelen.
Bovenstaande nadelen kan men voorkomen door meerdere keren na elkaar een andere trai-
ningsset en testset te definiëren. Zo bestaat er de leave-one-out cross-validation methode
waarbij één observatie gebruikt wordt als validatie voor de fout. Indien het aantal obser-
vaties in de gehele dataset gelijk is aan n, kunnen we dit n aantal keer herhalen. Hierdoor
3.1. INLEIDING TOT HET MACHINAAL LEREN 20
kunnen we n keer de fout berekenen en zo het gemiddelde en een afwijking zoals de standaard-
deviatie observeren. Zo vermijden we een substantiële reductie in het aantal trainingspunten,
is de gemiddelde fout stabieler en hebben we een betere representatie van de echte fout. De
leave-one-out cross-validation methode is gevisualiseerd in figuur 3.3.
�������������
� ����� ����
� ����� ��������
���
� ����� ���� �������
���� ��������
Figuur 3.3: De leave-one-out cross-validation methode.
Helaas is steeds één observatie reserveren als validatie heel tijdsintensief: we moeten n keer
het model fitten. Bijgevolg vergroten we het aantal testobservaties om de berekenbaarheid
te vergroten. Deze methode noemt de k-fold cross-validation. Hierbij verdelen we de dataset
in k groepen (folds) van dezelfde grootte, zoals zichtbaar in figuur 3.4.
�������������
� ����� � ����� � ����� � ����� ����
� ����� � ����� � ����� ���� � �����
� ����� � ����� ���� � ����� � �����
� ����� ���� � ����� � ����� � �����
���� � ����� � ����� � ����� � �����
Figuur 3.4: De k-fold cross-validation methode.
Vaak is ook een derde set nodig om de finale prestatie in kaart te brengen. Dit wordt duidelijk
aan de hand van de volgende twee secties.
3.1. INLEIDING TOT HET MACHINAAL LEREN 21
Generalisatie en regularisatie
Eén van de gevaren bij het fitten van een model op de trainingsdata is overfitting. Hierbij
wordt een model gecreëerd dat de trainingsdata perfect gaat benaderen waardoor ook de ruis
in het model wordt opgenomen en het achterliggende model wordt gemist. Dit leidt tot een
zeer lage trainingsfout, maar zal resulteren in een grote testfout wanneer het model wordt
toegepast op de nieuwe data. Een voorbeeld van overfitting en onderfitting is terug te vinden
in figuur 3.5, waarbij de graad van een veeltermfunctie moet gekozen worden. Een te lage
graad leidt tot een hoge vertekening (bias) en een grote fout voor zowel de trainingsset als
testset. Een te hoge graad zal leiden tot een trainingsfout van quasi nul, maar zal leiden tot
overfitting: de fout op ongeziene observaties zal zeer hoog liggen (variance).
Figuur 3.5: Overfitting en onderfitting (Ng, 2013)
Om overfitting tegen te gaan, maken we gebruik van regularisatie om de grootte van de para-
meterwaarden laag te houden. Bij overfitting worden de parameterwaarden namelijk enorm
groot omdat ze de verschillende datapunten perfect proberen te benaderen. Bij regularisatie
wordt de coëfficient λ geïntroduceerd in de kostenfunctie:
E(w) = 1N
∑(tn − wT xn)2 + λ
2||w||2︸ ︷︷ ︸
regularisatieterm
(3.5)
Een hogere waarde voor λ zorgt ervoor dat grotere parameterwaarden worden afgestraft met
een hogere kost waardoor overfitting wordt ingeperkt.
Hyperparameters
ML-modellen en de kostenfuncties worden gekenmerkt door parameters die eigen zijn aan een
bepaalde techniek en die voor het trainingsproces gedefinieerd moeten worden. Zo bevat de
3.1. INLEIDING TOT HET MACHINAAL LEREN 22
kostenfunctie (3.5) de parameter λ die afhankelijk van de data een bepaalde optimale waarde
heeft waarmee het model de beste prestatie haalt. Zoals eerder uitgelegd zal bij een kleine
waarde voor λ het model overfit zijn waardoor de prestatie op nieuwe data bijzonder laag
ligt.
Een eerste methode om deze hyperparameters te optimaliseren vinden we in Pedregosa et al.
(2011a) en wordt een grid search genoemd. In deze methode wordt een rooster opgesteld met
voorafbepaalde waarden. Iedere combinatie van waarden wordt uitgeprobeerd. Bij wijze van
voorbeeld: een SVM met RBF kernel (zie verder, sectie 3.3) heeft de regularisatieterm C en
de kernelparameter γ die moet worden ingesteld. Men kan dan als rooster de waarden 1 tot
1000 definiëren voor beide hyperparameters. Dan gaat men de voorspellingsprestatie na met
ieder volgende combinatie (C, γ) = (1, 1), (1, 10), · · · , (1000, 1000). De combinatie van hyper-
parameters die de laagste fout levert, wordt gekozen om het model te trainen. De resultaten
van het rooster worden voorgesteld in een heat map dat de verschillende combinaties voor de
hyperparameters paarsgewijs vergelijkt. De kleur, gaande van blauw naar rood, stelt hierbij
de hoogte van de kwaliteit voor.
Een testset om de finale prestatie te beoordelen
Door het aanwezig zijn van deze hyperparameters hebben we nog een derde dataset nodig
om een finale uitspraak te doen over de kwaliteit van het model. We mogen immers niet
de kruisvalidatiefout rapporteren van het beste model omdat deze observaties bevat die het
model reeds gezien heeft. Aldus is het vereist om (1) een trainingsset te voorzien om de
parameters van het model te optimaliseren, (2) een validatieset om het beste model te selec-
teren in termen van hyperparameters en (3) een testset om de uiteindelijke kwaliteit van de
techniek te beoordelen.
3.1.5 ML binnen EVM
In dit onderzoek worden ML-algoritmen toegepast binnen het domein van projectcontrole en
meer bepaald binnen EVM. We willen nagaan in welke mate ML erin slaagt om classificatie-
opdrachten succesvol uit te voeren op de tijdsduur van projecten. Meer bepaald willen we
aan elk project een label toewijzen die de vroegtijdigheid of laattijdigheid aanduidt op basis
van variabelen berekend via EVM. De effectieve uitgangswaarde van alle projecten geven we
mee waardoor we spreken van algoritmen binnen het gesuperviseerd leren. De technieken
die gebruikt worden in deze thesis zijn support vector machines, logistische regressie, random
3.2. LOGISTISCHE REGRESSIE 23
forests en nearest neighbour algoritmen. We vergelijken de toepassing en prestatie van deze
technieken met de traditionele EVM voorspellingstechnieken.
3.2 Logistische regressie
Logistische regressie is één van de eenvoudigere technieken en dient als referentielijn om
andere ML-technieken op te beoordelen. Ook het principe van Ockhams scheermes is hier
van toepassing: als het eenvoudig kan, dan moet je het eenvoudig houden. De afleiding van
het model is gebaseerd op Ng (2013) en James et al. (2013). Voor een meer uitgebreide
afleiding, zie Hastie et al. (2009) of Mitchell (1997).
Ondanks de verwarring in de naam, voert een logistische regressie wel degelijk een classificatie-
opdracht uit. Laat de vector x de ingangsvariabelen (x0, x1, . . . , xn) zijn en w de gewichten
(w0, w1, . . . , wn) waarbij w0 het intercept dat de bias term x0 = 1 instelt. We wensen de
doelvariabele yj ∈ {0, 1} te voorspellen. Merk op dat deze een dichotome uitgang heeft. De
variabele xji stelt de ingangsvariabele xi voor van observatie j in de trainingsset. Er zijn n
variabelen en l observaties beschikbaar. We laten een lineaire combinatie van de gewichten
en determinanten (∑n
i=0 wixi) lopen door een drempelfunctie die ervoor zorgt dat de uitgang
altijd tussen [0, 1] zal liggen:
hw(x) = 11 + e−
∑n
i=0 wixi(3.6)
Of in matrixnotatie:
hw(x) = 11 + e−wT x (3.7)
De functie g(z) is de logistische functie:
g(z) = 11 + e−z
(3.8)
Deze staat ook bekend onder de naam van een sigmoïdefunctie wegens zijn S-vorm.
Aangezien deze functie, toegepast in (3.7), een waarde geeft tussen [0, 1] kunnen we zeggen
dat het model hw(x) de probabiliteit voorstelt dat een project in klasse 1 valt, gegeven de
ingangsvariabelen x met parameters w:
hw(x) = p(y = 1|x; w) (3.9)
We veronderstellen dus dat de willekeurige variabele y Bernoulli verdeeld is met de kans dat
y tot klasse één behoort gelijk aan g(wT x). De X variabelen worden constant verondersteld.
3.2. LOGISTISCHE REGRESSIE 24
Figuur 3.6: De sigmoïdefunctie 11+e−Z .
3.2.1 Kostenfunctie
Om de gewichten van dit model te bepalen, moeten we een kostenfunctie definiëren. Dit
wordt gedaan door de gewichten zodanig te kiezen dat de probabiliteit van de geobserveerde
y-waarden, gegeven de waarden van de x-variabelen, gemaximaliseerd wordt:
argmaxw
l∏j
p(yj |xj ; w) (3.10)
Gebruikmakend van (3.9) stellen we dat:
p(y|x; w) = (hw(x))y (1 − hw(x))1−y (3.11)
Hierbij veronderstellen we dat de trainingsobservaties onafhankelijk zijn. Vergelijking (3.10)
en (3.11) kunnen tezamen genomen worden en vormen de likelihood functie:
L(w) =l∏j
(hw(xj))yj (1 − hw(xj))1−yj (3.12)
Om het product en de machten te reduceren tot respectievelijk een som en een product,
nemen we het natuurlijk logaritme:
l(w) =l∑j
yj log h(xj) + (1 − yj) log (1 − h(xj)) (3.13)
Deze vergelijking (3.13) moet gemaximaliseerd worden. Omdat veel algoritmen zich focussen
op een minimalisatieopdracht kan het maximaliseren van de log likelihood functie gelijkgesteld
3.2. LOGISTISCHE REGRESSIE 25
worden aan het minimaliseren van de negatieve log likelihood:
argmaxw
l∑j
yj log h(xj) + (1 − yj) log (1 − h(xj))
=
argminw
−l∑j
yj log h(xj) + (1 − yj) log (1 − h(xj))
Als we de regularisatieterm toevoegen krijgen we volgende te minimaliseren kostenfunctie:
−l(w) = E(w) = −l∑j
yj log h(xj) + (1 − yj) log (1 − h(xj)) + 12
λn∑
i=1w2
i (3.14)
De eerste term in het rechterlid van (3.14) geeft de fout van een misclassificatie aan en zorgt
dat het model zich aanpast aan de gegeven trainingsobservaties. De term 12λ∑n
i=1 w2j , ook
vaak geschreven in matrixgedaante 0.5λwT w, is de regularisatieterm en neemt de som van
het kwadraat van alle gewichten w. Hierbij regelt λ de sterkte van de regularisatie.
3.2.2 Bepalen van de parameters
De kostenfunctie (3.14) kan op verschillende manieren geminimaliseerd worden. Ze maken
echter allemaal gebruik van de afgeleide van de log likelihood:
∂
∂wE(w) = −
l∑j
[yj
1hw(xj)
∂
∂w(hw(xj)) + (1 − yi)
11 − hw(xj)
∂
∂w(1 − hw(xj))
]+ λ
n∑i=1
wi
met
∂
∂whw(x) = ∂
∂w
( 11 + e−wT x
)= e−wT x
(1 + e−wT x)2
= 11 + e−wT x
(1 − 1
1 + e−wT x
)= hw(x)(1 − hw(x))x
Als we de afgeleide van de hypothese invullen in de afgeleide van de log likelihood krijgen we:
∂
∂wE(w) =
l∑j=1
[(hw(xj) − yj)xj ] + λn∑
i=1wi (3.15)
Deze vergelijking is niet-lineair in zijn parameters w wegens de sigmoïdefunctie. Daarom
plugt men deze afgeleide bijvoorbeeld in het gradient descent algoritme van vergelijking (3.4).
3.2. LOGISTISCHE REGRESSIE 26
Dan worden iteratief de gewichten als volgt veranderd:
w0 := w0 − αl∑j
((hw(xj) − yj)xj)
wi≥1 := wi − α
l∑j
((hw(xj) − yj)xj) − λwi
De updateregel van het GD-algoritme kan verstandiger worden gemaakt door meer informatie
toe te voegen. Zo voegt de Newton methode de eerste en tweede afgeleide toe als extra
informatie. Dit wordt gedaan door de functie f(x) te benaderen door een kwadratische functie
die dan geminimaliseerd wordt (Hillier & Lieberman (2010)). De benadering wordt gedaan
op basis van een Taylorreeks tot aan de tweede orde afgeleiden. Door deze Taylorbenadering
af te leiden en gelijk te stellen aan nul bekomt men volgende iteratieve procedure:
xn+1 = xn − f ′(xn)f ′′(xn)
Hierbij wordt f ′(xn)f ′′(xn) de Newton direction genoemd. In matrixvorm is dit:
wn+1 = wn − ∇(E(wn))∇2E(wn))
Toegepast op deze model- en kostenformulering geeft dit op basis van Bishop (2006) een
toevoeging van de regularisatieterm:
∇E(w) = λw +l∑
j=1(hw(xj) − yj)xj
= λw + XT (Y − Y)
∇2E(w) = λI +l∑
j=1hw(xj)(1 − hw(xj))xjxT
j
= λI + XT RX
Waarbij
X = [X1, X2, . . . , Xl]
Y = (y1, y2, . . . , yl)
Y = (hw(x1), hw(x2), . . . , hw(xl))
De diagonaalmatrix R bevat op de diagonaal de waarden hw(xj)(1 − hw(xj)). Deze eerste
en tweede orde afgeleiden kunnen dan ingevuld worden in de iteratieve Newton optimalisa-
tiemethode.
3.2. LOGISTISCHE REGRESSIE 27
Aangezien de Hessiaan berekenen lang duurt, zeker voor een dataset met veel observaties en
ingangsvariabelen, wordt de methode van Newton verkort om de optimalisatie te versnellen.
Deze methoden vallen onder de noemer van Truncated Newton methoden. De uitwerking
gebruikt in de Liblinear bibliotheek van Fan et al. (2008) is de Trust Region Newton (TRON)
methode van Lin et al. (2007). TRON minimaliseert de kostenfunctie door de gewichten te
updaten via wn+1 = wn + dn met dn de vertrouwbare zone stap die berekend wordt via
volgend kwadratisch optimalisatievraagstuk (Gong & Zhang, 2012):
mind
{f(d) = 1
2dT Hnd + (gn)T d
}met ∥d∥ ≤ λn (3.16)
Waarbij gn en Hn verwijzen naar respectievelijk de gradiënt en Hessiaan matrix van de
kostenfunctie. λn duidt de trust region aan waarin geoptimaliseerd wordt. In de buitenste
iteratie van het algoritme geeft men initiële gewichten mee en berekent men de gradiënt van
de te minimaliseren kostenfunctie. Indien deze gelijk is aan nul, dan lost men (3.16) op
via de geconjugeerde gradiëntenmethode, wat een geschatte reductie van de functiewaarde
oplevert. We controleren in welke mate deze voorspelde reductie nauwkeurig is en laten
een wijziging van de gewichten in die richting toe indien de ratio ρ = werkelijke reductiegeschatte reductie groot
genoeg is. Nadien wordt de trust region aangepast aan de hand van enkele regels. Deze
worden vastgelegd aan de hand van de ratio ρ. Indien deze ratio kleiner is dan één, dan zal
de optimalisatieregio verkleind moeten worden. Indien ρ groot is, kunnen we over een grotere
λk het probleem (3.16) optimaliseren.
3.2.3 Beslissingen nemen: één-tegen-allen
Aangezien ons logistisch regressiemodel hw(x) een probabiliteit dat y = 1 geeft, moet er
nog steeds gekozen worden of een observatie al dan niet in de klasse voorgesteld door y = 1
hoort. In geval van binaire classificatie passen we een simpele duimregel toe: de klasse dat de
hoogste probabiliteit heeft, wordt gekozen. Indien hw(x) > 0.5 dan voorspellen we y ∈ C1.
Indien hw(x) <= 0.5 voorspellen we y ∈ C0.
Om binaire logistische regressie uit te breiden naar meerdere klassen wordt er voor iedere
klasse Ck = (C1, C2, C3) een model gebouwd. We berekenen dan in feite de kans dat y = Ck
waarbij 1−y de probabiliteit is dat y bij een andere klasse hoort. Dit wordt de één-tegen-allen
regel genoemd (Bishop, 2006).
3.2. LOGISTISCHE REGRESSIE 28
3.2.4 Voordelen van logistische regressie
Logistische regressie heeft als groot voordeel dat het een model is dat geïnterpreteerd kan
worden. De gewichten die worden toegekend aan de variabelen duiden de richting en grootte
van hun invloed aan. Ook is het via L1 regularisatie, waarbij de som van de absolute waarden
van de gewichten wordt genomen in plaats van het kwadraat, mogelijk om de meest relevante
variabelen te verkrijgen.
Een ander voordeel is dat de probabiliteit om bij een bepaalde klasse te horen wordt nagegaan.
Dit geeft een indicatie van hoeveel zekerheid er omtrent de classificatie is.
Een laatste voordeel is het efficiënt en berekenbaar zijn van het model doordat er maar een
klein aantal parameters berekend moet worden.
3.2.5 Nadelen van logistische regressie
Indien logistische regressie gebruikt wordt als een zwarte doos, zal het onderpresteren ten
opzichte van meer complexe methoden zoals SVM’s (zie supra). Dit komt onder andere
doordat logistische regressie mogelijk een suboptimale scheidingslijn trekt tussen de observa-
ties. Tevens is de relatie tussen de ingangsvariabelen en de uitgang niet altijd lineair in de
werkelijkheid.
3.2.6 Logistische regressiemodel gebruikt in Liblinear
De hypothese en kostenfunctie gebruik in de Liblinear (Fan et al., 2008) bibliotheek zien er
licht anders uit aangezien daar de doelvariabele y een waarde −1 of 1 aanneemt. Het model
zelf is:
P (y = ±1|x, w) = 11 + e−y(wT x+b) (3.17)
Met kostenfunctie:
minw
12
wT w + Cl∑
i=1log(1 + e−y(wT x+b) (3.18)
Deze formuleringen hebben hetzelfde doel als de formuleringen in bovenstaande paragrafen.
Merk op dat de regularisatieterm λ uit (3.14) hier anders geschreven is. Deze term is namelijk
omgezet naar de inverse regularisatieterm C waarbij grote waarden als het ware overfitting
aanmoedigen en kleine waarden overfitting zwaarder gaan afstraffen.
Deze kostenfunctie wordt in het Liblinear pakket geoptimaliseerd met de Trust Region Newton
methode die in 3.2.2 besproken is.
3.3. SUPPORT VECTOR MACHINES 29
Figuur 3.7: De kruisjes stellen klasse 1 voor terwijl de cirkels klasse 2 zijn. Ze zijn afhankelijk
van de waarde van ingangsvariabelen x1 en x2.
3.3 Support Vector Machines
Support Vector Machine (SVM) wordt door vele onderzoekers (Ng, 2013; James et al., 2013;
Russell & Norvig, 2003) als de meest populaire en beste supervised learning algoritme be-
schouwd. Volgens Russell & Norvig (2003) komt dit vanwege de kernel trick en het inzicht dat
niet alle observaties even belangrijk zijn om een scheidingslijn te vormen. Samengevat zoekt
een SVM het hypervlak dat de afstand tussen de observaties het dichtst bij het scheidingsvlak
en het scheidingsvlak zelf minimaliseert door middel van een niet-lineaire transformatie van
de ingangsvariabelen.
Het doel van deze sectie is het principe en de kracht van SVM’s te tonen zonder rigoureus in
te gaan op de wiskundige uitwerking. We tonen ook aan welke parameters relevant kunnen
zijn voor dit toepassingsgebied van projectcontrole.
3.3.1 Een hypervlak om observaties te scheiden
Als we de koppels ((x(j)1 , x
(j)2 ), y(j)) op figuur 3.7 aanschouwen, waarbij de ingangsvariabelen
xj de uitgang y(j) ∈ {−1, 1} voorspellen, zien we dat deze twee klassen lineair te scheiden
zijn met een lijn. Zo een lijn kunnen we wiskundig schrijven als
b + w1x1 + w2x2 = 0
3.3. SUPPORT VECTOR MACHINES 30
of korter en veralgemeend naar n dimensies:
b +n∑i
wixi = 0
f(x) = wT x + b = 0
In dit geval spreken we dan niet meer van een lijn, maar van een hypervlak. f(x) is de discri-
minatiefunctie die bepaalt in welke klasse een observatie zal behoren. Met andere woorden,
een observatie j met ingang (x(j)1 , . . . , x
(j)l ) invullen in b +
∑ni wixi geeft een getal weer waar-
van het teken aanduidt of het al dan niet boven het hypervlak ligt. De grootte van dit getal
geeft een idee van hoever deze observatie verwijderd is van het scheidingsvlak f(x). Boser
et al. (1992) noemt het de decision function D(x) waarbij volgende classificatieregel geldt:
x(j) ∈ Klasse A: y(j) = 1 als D(x) > 0
x(j) ∈ Klasse A: y(j) = 1 voor alle andere gevallen
Dit kan verkort worden door simpelweg naar het teken van D(x) te kijken.
3.3.2 Hard Margin Classifier
Boser et al. (1992) stellen zo een scheidingsvlak op dat de margin (marge) maximaliseert.
De marge wordt gedefinieerd als de afstand tussen de scheidingslijn en dichtstbijzijnde ob-
servaties. Grafisch geeft dit de zone aangeduid tussen de scheidingslijn en stippellijnen op
figuur 3.8. Als deze marge zo groot mogelijk gemaakt wordt, dan kan men het verlies
aan generalisatie minimaliseren. Dit is als het ware een buffer tegen nieuwe, ongeziene ob-
servaties. Dit principe is geïllustreerd in figuur 3.9. In beide figuren staat er een lineaire
separator. Die is echter in de linkse figuur niet de best gekozen lijn aangezien ze de marge
niet maximaliseert. Indien we een nieuw element introduceren, aangeduid met een driehoek,
zien we dat de linkse lijn de nieuwe observatie in de verkeerde klasse indeelt omdat ze niet
genoeg marge had genomen op de meest nabijgelegen observaties. De separator op de rechtse
figuur daarentegen slaagt er wel in deze nieuwe observatie correct te categoriseren.
Vanuit bovenstaande redenering is het duidelijk dat er een aantal observaties zijn die be-
langrijker zijn dan andere, namelijk diegene die het dichtste bij de separator liggen. Terwijl
Vapnik (1982) deze de support patterns noemt, is de term support vectors ondertussen veel
couranter in gebruik.
3.3. SUPPORT VECTOR MACHINES 31
Figuur 3.8: De scheidingslijn en de marges.
Figuur 3.9: Een vergelijking tussen een suboptimale (links) en een optimale (rechts) schei-
dingslijn.
Het maximal margin classifier concept kan mathematisch als volgt worden voorgesteld:
Maxw,b
M
s.t. yj f(xj) ≥ M ∀ observatie j ∈ {1, . . . , l}
∥w∥ = 1
We kunnen volgens Hastie et al. (2009) de tweede constraint in het model verwerken via:
Maxw,b
M
s.t. yj (wT x + b) ≥ M ∥w∥ ∀ observatie j ∈ {1, . . . , l}
3.3. SUPPORT VECTOR MACHINES 32
Hierbij is de marge M voor een observatie j gelijk aan f(xj)∥w∥ wat volgt uit de algemene formule
voor de afstand van een punt tot aan een vlak:
d(hypervlak; punt xj) = wT xj + b
∥w∥
Merk op dat yj wordt toegevoegd om te garanderen dat de marge M positief is. Als bij-
voorbeeld de trainingsobservatie j in de klasse −1 valt, dan moet dit punt ingevuld in de
discriminatiefunctie f(x) = wT xj + b een negatief getal geven aangezien het onder het schei-
dingsvlak ligt.
De grote moeilijkheid aan dit probleem is de niet-convexe ∥w∥ = 1. Boser et al. (1992) lossen
dit op door het maximalisatieprobleem te veranderen naar een minimalisatieprobleem. Dit
kan doordat de marge kan berekend worden door een support vector punt, die per definitie
de marge bepalen, te nemen aan beide kanten van de separator. De afstand van het ene punt
naar het andere is twee keer de marge M:
2M = d(f(x); x1) + d(f(x); x2) ⇔
2M = y1 f(x1)∥w∥
+ y2 f(x2)∥w∥
⇔
2M = y1 wT x1 + b
∥w∥+ y2 wT x2 + b
∥w∥
Er zit in het hypervlak wT xj + b nog één vrijheidsgraad: we kunnen de w en intercept b
zodanig verschalen zodat voor de support vector observaties yj wT xj + b = 1 geldt. Dit is
geïllustreerd in figuur 3.10 . Dit principe toepassen geeft:
2M = 1∥w∥
+ 1∥w∥
⇔
M = 1∥w∥
(3.19)
In het model wordt dan het maximaliseren van M gelijk aan het maximaliseren van M = 1∥w∥ .
Dit is equivalent aan het minimaliseren van ∥w∥, dat equivalent is aan het minimaliseren van
∥w∥2 , wat je ook kan schrijven als ∥w∥2 = (√
wT w)2 = wT w =∑n
i=1 w2i . Dit geeft het
maximal margin classifier model in het primaal domein:
Minw,b
12
∥w∥2
s.t. yj (wT w + b) ≥ 1 ∀ observatie j ∈ {1, . . . , l}
Dit model wordt door Boser et al. (1992) vertaald naar het duale domein, de ingang getrans-
formeerd via kernels en dan zo opgelost. Ze tonen ook via deze Lagrangiaantransformatie
3.3. SUPPORT VECTOR MACHINES 33
Figuur 3.10: Het herschalen van de gewichten zodat de waarden van de omcirkelde observaties
1 of −1 teruggeeft in de formule van het hypervlak. Merk op dat de afstand M hetzelfde is
gebleven.
aan dat het geconstrueerde scheidingsvlak enkel afhangt van de zogenaamde support vectors.
We merken echter op dat we de data lineair scheidbaar veronderstelden. Dit is niet altijd het
geval. Het model staat geen enkele trainingsobservatie toe aan de verkeerde kant van de schei-
dingslijn te vallen (yj (wT w + b) is positief) of zelfs niet binnen de marge (yj (wT w + b) ≥ 1).
Vandaar de benaming hard margin (James et al., 2013): er is geen tolerantie op niet-lineaire
relaties.
3.3.3 Optimal Margin Classifier
Cortes & Vapnik (1995) bouwen voort op maximal margin classifier van Vapnik (1982) door
het model uit te breiden naar datasets die niet perfect lineair te scheiden zijn. Dit doen ze door
classificatiefouten toe te laten. Hun soft margin seperator2 zal dus niet-lineaire klassenrelaties
scheiden met zo weinig mogelijk fouten door een extra variabele ξ te introduceren:
Minw,b
12
∥w∥2 + Cl∑
j=1ξj
s.t. yj (wT w + b) ≥ 1 − ξj ∀ observatie j ∈ {1, . . . , l}
ξj ≥ 0
(3.20)
2Dit model wordt in tekstboeken zoals in James et al. (2013); Hastie et al. (2009); Ng (2013) vaak anders
genoemd aangezien soft margin classifier gepatenteerd is door Cortes & Vapnik (1995). Een courante naam
is Support Vector Classifier (SVC) of optimal margin classifier .
3.3. SUPPORT VECTOR MACHINES 34
De constante C > 0 bepaalt de trade-off tussen zoveel mogelijk de data te fitten enerzijds
en zo goed mogelijk te generaliseren anderzijds. Een lage waarde voor C zorgt ervoor dat er
weinig fouten toegelaten zijn waardoor we een lage vertekening, maar hoge variantie krijgen.
In dat geval overfitten we mogelijk het model. Voor hoge waarden van C tolereren we veel
fouten waardoor we een betere generalisatie krijgen ten koste van een grotere kans op onder-
fitting. Het is vanzelfsprekend dat deze regularisatiewaarde moet worden ingesteld via een
kruisvalidatieprocedure.
Oplossen in het duale domein
Cortes & Vapnik (1995) lossen het model (3.20) op door de duale probleemstelling op te
stellen:
Max W (α) =l∑
i=1αi − 1
2
l∑i=1
l∑j=1
yiyjαiαj(xTi xj)
s.t.l∑
i=1yiαi = 0
0 ≤ αi ≤ C ∀ observatie j ∈ {1, . . . , l}
(3.21)
met αi de Lagrangemultiplicatoren. Een interessante bemerking is hier dat het duale pro-
bleem enkel het inwendig product van de ingangsvariabelen nodig heeft, namelijk (xTi xj). Van
deze eigenschap wordt handig gebruikt gemaakt bij het toepassen van kernels (zie supra).
Vaak komen we ook de compactere matrixnotatie tegen met behulp van (H)ij = yiyj(xTi .xj):
Max W (α) = αT e − 12
αT Hα
s.t. αT y = 0
0 ≤ αi ≤ C ∀ observatie j ∈ {1, . . . , l}
(3.22)
Dit model wordt dan opgelost via kwadratisch programmeren aangezien de KKT condities
voldaan zijn. Details van deze voorwaarden en technieken vindt men in Hillier & Lieberman
(2010) en de uitwerking op dit specifiek probleem in Cortes & Vapnik (1995). Deze laatste
auteurs vinden dan ook door vertaling van (3.21) naar de Lagrangiaan en deze eerste afgeleide
naar de gewichten w gelijk te stellen aan nul dat de optimale gewichten kunnen gevonden
worden door gewoonweg een lineaire combinatie te nemen van de trainingsobservaties:
w =∑
i
αiyixTi x (3.23)
Ze bevestigen ook zo mathematisch dat enkel de observaties het dichtste bij het scheidingsvlak
relevant zijn in de berekening van w: in (3.23) zien ze dat αi nul moet zijn voor observaties
3.3. SUPPORT VECTOR MACHINES 35
niet op de marge wegens de KKT-voorwaarden. Na de afgeleide gelijk te stellen aan nul, kan
men dus de gewichten die het scheidingsvlak opstellen, afleiden en het intercept b bepalen door
twee punten in het hypervlak in te vullen en te delen door −2. Het probleem is voordeliger
op te lossen in het duaal probleem wanneer er veel minder observaties dan x-variabelen zijn.
3.3.4 Kernels
Al kunnen SVC’s wel werken met niet-lineaire data, toch proberen Boser et al. (1992) om te
gaan met niet-lineaire relaties bij het opstellen van de hard margin classifier . De redenering
van Russell & Norvig (2003) luidt dat als we dimensies blijven toevoegen, dat we op een
bepaald moment wel een manier vinden om er een „lijn” tussen te trekken. Het is dus een
kwestie van het juiste perspectief aan te nemen.
Indien we p variabelen hebben per observatie, wordt er een transformatie ϕ gedefinieerd die
de gegevens in input space Rp overbrengt naar hogere dimensies in RP . Een voorbeeld hiervan
uit Russell & Norvig (2003) is gegeven in figuur 3.11 waarbij ϕ(x1, x2) = (x21, x2
2,√
2x1x2).
Aldus wordt de gehele trainingset x getransformeerd naar x′ volgens ϕ. Nadien zouden we de
SVC kunnen trainen op deze nieuwe gegevens x′. Om dan een nieuwe observatie xtest uit de
testset te classificeren, moet deze eerst worden omgezet via x′test = ϕ(xtest). Dit voorbeeld
demonstreert dat het mogelijk is een lineair classificatiemodel toe te passen op niet-lineaire
data door deze te transformeren naar een hogere dimensie via ϕ.
Figuur 3.11: Het omzetten van tweedimensionale data naar drie dimensies volgens ϕ.
Er is echter één probleem geassocieerd aan deze transformaties: de berekenbaarheid en geheu-
genopslag wordt onbehandelbaar. Stel dat er 1.000 observaties zijn met ieder twee variabelen.
3.3. SUPPORT VECTOR MACHINES 36
Deze dataset projecteren in zes dimensies zal leiden tot een verdriedubbeling van de gegevens
en dus ook de berekeningen die uitgevoerd moeten worden.
Om de transformatie berekenbaar te houden, worden kernels gebruikt. Dit zijn functies die,
gegeven twee vectoren v en w in Rn, impliciet het inwendig product van v en w berekenen in
RM via K(v, w). Aldus zetten we de observaties impliciet wel om naar de hogere dimensie,
maar zonder het expliciet te berekenen. Kernels werden volgens Bishop (2006) voor het eerst
geïntroduceerd in het patroonherkenning door Aizerman et al. in 1964. Het is echter Boser
et al. (1992) die de grote interesse in kernels hebben opgewekt aangezien hun hard margin
classifier heel efficiënt kon omgaan met niet-lineaire gegevens.
Formeel definieert Bishop (2006) een kernel als:
K(x, x′) = ϕ(x)T .ϕ(x′) (3.24)
Een kernel is dus een inwendig product van vectoren. Er zijn een aantal wiskundige voor-
waarden die moeten voldaan zijn vooraleer er van een kernel kan gesproken worden. Bishop
(2006) zegt dat deze voorwaarden zijn samengevat in het theorema van Mercer. Indien deze
voldaan zijn, dan is de kernelmatrix positief semidefiniet en zodoende het optimalisatiepro-
bleem convex met unieke oplossingen.
Soorten kernels
Al zijn er veel verschillende soorten kernels3, wij hanteren in dit afstudeerwerk twee kernels
die horen tot de meest gebruikte.
De eerste kernel die we gebruiken, is de lineaire kernel:
K(x, x′) = xT x′ (3.25)
Dit komt overeen met het oorspronkelijk probleem dat een SVM oplost (zie 3.21).
De andere kernel gaat onder de naam van een Gaussian kernel:
K(x, x′) = exp(
−∥x − x′∥2
2σ2
)(3.26)
Deze kernel, ook wel Radial Basis Function (RBF) kernel genaamd, meet hoe gelijkaardig
observaties zijn door de waarden af te trekken en op een expontiële schaal te zetten. De para-
meter σ bepaalt hoe snel de observaties als gelijkaardig of compleet verschillend aanschouwd3Bijvoorbeeld op http://www.kernel-methods.net/kernels.html vindt de lezer een overzicht.
3.3. SUPPORT VECTOR MACHINES 37
worden. Kleine waarden van σ zullen sneller een K(x, x′) = 0 geven. Grotere waarden zullen
de functie gladder maken en zullen dus minder snel een inwendig product van nul produceren.
Aangezien deze kernel een vorm van gelijkaardigheid meet tussen de observaties, is het be-
langrijk de data te normaliseren zodat iedere variabele evenveel aandacht krijgt. Dit is omdat
variabelen die een hogere grootorde hebben meer gewicht zullen krijgen omdat hun afstanden
volgens de Gaussian kernel domineren.
De formules van deze twee kernels duiden op een aantal duimregels geadviseerd door Ng (2013)
en in wei Hsu et al. (2010). Indien er meer verklarende variabelen dan observaties zijn, dan is
de lineaire kernel geprefereerd. Ook krijgt deze de voorkeur indien er heel veel observaties zijn.
De Gaussian kernel projecteert de observaties wel degelijk in een nieuwe ruimte waardoor
lineaire scheiding mogelijk wordt. Hierdoor is het aangeraden deze te gebruiken indien er
meer observaties dan verklarende variabelen zijn.
Het is evident dat zowel de kernel keuze als de parameters horend bij deze kernel worden
geoptimaliseerd door het kruisvalidatieproces (zie ook gedeelte 4.4.2).
3.3.5 Support Vector Machine
Indien men kernel functies toevoegt aan de SVC, bekomt men een Support Vector Machine
(SVM). Het feit dat we deze toevoegen danken we aan de formulering van het duaal probleem
in (3.21). We vatten voor de duidelijkheid de verschillende formuleringen van het SVC en
SVM model nog eens samen in tabel 3.1.
Classificatieregel f(x) Leeralgoritme Maxαi
Zonder kernell∑i
αiyixTi x + b
l∑i=1
αi − 12
l∑i,j
yiyjαiαj(xTi xj)
Met kernell∑i
αiyiϕ(xi)T ϕ(x) + bl∑
i=1αi − 1
2l∑
i,jyiyjαiαj(ϕ(xi)T ϕ(xj))
Tabel 3.1: Een vergelijking van het duaal SVC probleem met en zonder kernel.
In deze tabel is het duidelijk dat de trainingsgegevens het algoritme binnengaan via hun
gedaante in de kernelmatrix en niet via hun individuele attributen. Het wordt aanschouwd
als een computational shortcut. Bijgevolg kan ieder algoritme dat enkel afhangt van het
inwendig product van twee vectoren gebruik maken van de kernel trick om zo te werken in
een hogere dimensie zonder ze expliciet te berekenen. Dit is rekenkundig veel efficiënter.
3.3. SUPPORT VECTOR MACHINES 38
3.3.6 Meerdere klassen voorspellen
Er zijn twee methoden om de binaire classificatie van het SVM-model om te vormen naar
meerdere klassen. De eerste hiervan, de one-vs-rest scheme wordt gebruikt door Vapnik
(1998). Hierbij wordt voor iedere klasse Ck een classificator getraind. We behandelen de
klasse Ck als de positieve klasse (y = 1) en de andere K −1 klassen als negatief. De observatie
wordt in iedere discriminatiefunctie ingegeven en de klasse wiens formule de grootste waarde
geeft, i.e. de grootste marge, wordt toegewezen als voorspelling voor die observatie. Bishop
(2006) merkt wel op dat deze methode mogelijk inconsistente resultaten kan produceren
waarbij een observatie aan meerdere klasse wordt toegewezen.
Bishop (2006) geeft ook een andere aanpak: de one-vs-one scheme. Dit houdt in dat
er een model getraind wordt per paar klassen. In ons geval, waar we drie klassen moeten
onderscheiden, zijn er dus 3(3−1)/2 = 3 verschillende modellen die moeten getraind worden.
Dit leidt tot een soort stemmingsronde waarbij we de observatie toewijzen aan de klasse die
het meest voorkwam. Ook hierbij kunnen problemen optreden in het geval van gelijkstand.
3.3.7 Voordelen en nadelen van SVM’s
Er zijn een aantal redenen voor de aantrekkelijkheid van SVM’s (Pedregosa et al., 2011a;
Russell & Norvig, 2003):
• Het is een lineair classificatiemodel dat in zijn wiskundige formulering efficiënt kan
omgaan met een groot aantal dimensies.
• De flexibiliteit die kernels bieden in het transformeren van data naar andere dimensies
laten toe niet-lineaire data toch te scheiden met een lineair model.
• Het heeft slechts een klein gedeelte van de observaties nodig, de support vectors, om de
beslissingsfunctie op te stellen.
• Het maximal margin concept maximaliseert het potentieel voor generalisatie.
• De populariteit van de SVM’s hebben geleid tot handige opensource bibliotheken die
het programmeerwerk aanzienlijk verlichten en veel toegankelijker maken (Fan et al.,
2008).
Er zijn ook een aantal nadelen aan verbonden:
• Teveel gegevens kunnen een kernel overladen zodat het niet meer uit te rekenen is. Dan
moet men blijven bij de lineaire representatie van de dataset.
3.4. RANDOM FORESTS 39
• De SVM geeft een onmiddellijke classificatie en dus geen probabiliteit zoals in het geval
van logistische regressie.
• Door de handige voorgeprogrammeerde bibliotheken kunnen SVM’s wel eens blind wor-
den toegepast. Vandaar ook de paper van wei Hsu et al. (2010) die een aantal stappen
voorschrijft vooraleer de bibliotheek te gebruiken.
3.4 Random Forests
Random Forests (RF’s) of gerandomiseerde bomen is een techniek die een combinatie is
van ensemblemethoden en beslissingsbomen en onderscheidt zich van de meeste andere ML-
technieken door de specifieke vorm en werking van het algoritme. RF’s werden voor het
eerst voorgesteld door Breiman (2001) en combineren verschillende beslissingsbomen om een
kleinere generalisatiefout te bekomen in de classificatie. Hierdoor slagen RF’s erin om heel
goede prestaties neer te zetten in zowel classificatie- als regressietaken.
Voor we RF’s verder toelichten moeten we eerst dieper ingaan op de methodiek van ensembles
en beslissingsbomen, die de basis vormen voor RF’s.
3.4.1 Ensembles
Ensemblemethoden zijn leeralgoritmen die verschillende sets van voorspellers construeren en
individueel een nieuwe observatie classificeren. Als uiteindelijke klasse wordt de klasse geno-
men die het vaakst wordt gekozen door de individuele voorspellers. Door het combineren van
verschillende voorspellers verkrijgen we een hogere precisie indien ze accuraat en voldoende
divers zijn. Dit is het geval indien ze een foutenmarge hebben die kleiner is dan een wille-
keurige gok en zijn divers indien ze andere fouten maken op nieuwe observaties. Stel dat we
drie gelijke voorspellers {h1, h2, h3} hebben. Indien h1 onnauwkeurig is, zal dit ook het geval
zijn voor h2 en h3. Als echter de drie voorspellers niet gecorreleerd zijn kunnen er nog steeds
correcte uitspraken gemaakt worden over een observatie indien h2 en h3 correct zijn.
Voor het construeren van ensembles zijn er verschillende methoden beschikbaar waarvan de
meest intuïtieve methoden hieronder beschreven zijn (Dietterich (2000)):
• Manipulatie van de trainingsdata: het leeralgoritme wordt verschillende keren gevoed
met verschillende trainingsdata. Een veelgebruikte techniek is bagging waarbij de trai-
ningsdata op een willekeurig manier wordt geselecteerd met terugplaatsing. Andere
technieken zijn kruisvalidatie en ADA-boost.
3.4. RANDOM FORESTS 40
• Manipulatie van de ingangsvariabelen: het gebruik van verschillende sets aan ingangs-
variabelen brengt diversiteit in de predictors.
Voor een diepere kijk op ensembles verwijzen we de lezer graag naar „Ensemble Methods in
Machine Learning ” van Dietterich (2000).
3.4.2 Beslissingsbomen
Een beslissingsboom is een model dat keuzeprocessen in een besluitvormingsproces visuali-
seert en door middel van als-dan regels doorheen een beslissingsproces gaat. Hierbij staat
elke knoop van de beslissingsboom voor een parent node die op basis van een variabele, een
testwaarde en de trainingsdata wordt opgesplitst in twee of meerdere leaves of child nodes.
Het genereren van beslissingsbomen bestaat uit twee stappen. De eerste stap is het iteratief
construeren van de beslissingsboom op basis van de trainingsdata tot aan een bepaald stop-
criterium voldaan is (complexiteit, prestatie, diepte . . . van de boom). Vervolgens worden de
takken met weinig beslissingskracht en veel ruis verwijderd uit de beslissingsboom (snoeien)
om overfitting te minimaliseren. Het snoeien balanceert de beslissingsboom door een afweging
te maken tussen de voorspellingsfout en de regularisatie van het model.
Binnen ML zijn verschillende algoritmes ontwikkeld die dergelijke beslissingsbomen kunnen
construeren uit datasets. Enkele van de bekendste algoritmen zijn ID3 ontworpen door Quin-
lan (1986) en CART voorgesteld door Breiman (1984). In dit onderzoek maken we gebruik
van het CART algoritme voor de samenstelling van de beslissingsbomen. Aan de hand van
dit algoritme leggen we de werking van beslissingsbomen uit.
CART-algoritme
CART staat voor Classification and Regression Trees en is ontwikkeld door Breiman (1984).
Dit algoritme kan zowel ingezet worden voor regressie- en classificatietaken en kan heel goed
omgaan met het verwerken van grote hoeveelheden data. Voor het opbouwen van de be-
slissingsboom moet voor iedere variabele twee zaken worden bepaald. Als eerste moet de
positie in de boom worden vastgelegd. Indien een variabele meer vanboven in de boom voor-
komt, wordt deze vroeger in het beslissingsproces gebruikt. Het tweede element dat moet
worden bepaald is de drempelwaarde die de richting van de aftakking bepaalt. Deze twee
zaken worden bepaald op basis van de zuiverheidswaarde. Voor de zuiverheidswaarde te be-
rekenen bestaan er verschillende methoden waarvan de bekendste de gini-index (3.27) en de
3.4. RANDOM FORESTS 41
entropie-index (3.28) zijn.
gini-index = 1 −∑
j
p2j (3.27)
entropie =∑
j
−pj log2(pj) (3.28)
Met pj de relatieve frequentie dat klasse j gekozen wordt door de individuele beslissingsbomen.
Bij CART wordt gebruik gemaakt van de gini-index in tegenstelling tot ID3 die gebruik
maakt van entropie. De gini-index neemt een waarde aan tussen [0,1] waarbij de waarde 0.5
de grootste onzuiverheid omvat. Voor waarden gelijk aan 0 of 1 verkrijgen we een perfecte
zuiverheid. Meer concreet zoekt de gini-coëfficiënt naar de grootste klasse binnen de dataset
en zal ze deze proberen isoleren van de andere klassen. Veronderstel een dataset die opgedeeld
dient te worden in vier verschillende klassen. Stel dat 40% van de data behoren tot klasse
één, 30% van de data tot klasse twee, 20% van de data tot klasse drie en 10% van de data tot
klasse vier. Indien er in het meest ideale scenario een attribuut bestaat (in ons voorbeeld de
SPI-variabele) die klasse één volledig kan afzonderen van de data, zal deze variabele de beste
gini-waarde hebben en geselecteerd worden als eerste splitsing (figuur 3.12). Verder bouwend
op dit principe wordt de beslissingsboom gevormd.
�����������
���������� �
������� ����
�����������
�����������
���������� �
������� ����
�����������
�����������
�� ��
Figuur 3.12: gini-index
Voor elk attribuut wordt de dataset dus opgesplitst in twee deelverzamelingen T1 en T2 met
grote N1 en N2 waarvoor de gini-index wordt berekend volgens formule (3.29)
ginisplitsing(T ) = N1N
gini(T1) + N2N
gini(T2) (3.29)
3.4. RANDOM FORESTS 42
Project SP-waarde SPI-waarde Klasse
A 0.3 0.72 vroeg
B 0.7 0.80 vroeg
C 1 0.20 laat
D 0.5 0.85 vroeg
E 0.8 0.10 laat
F 0.7 0.90 laat
G 0.2 0.35 laat
H 0.8 0.95 laat
Tabel 3.2: Data voor het opbouwen van een beslissingsboom voor het bepalen van het al dan
niet te vroeg of te laat eindigen van een project op basis van de SP-waarde en SPI-waarde.
Het attribuut met de kleinste gini-waarde wordt gekozen als beste splitsing, en wordt hier-
onder verduidelijkt aan de hand van een voorbeeld.
Een projectmanager beschikt over volgende database van acht projecten waaruit
hij een beslissingsboom wenst te construeren voor het evalueren van projecten
die te vroeg (C1) en te laat (C2) eindigen. Op basis van de gegevens uit tabel
3.2 kunnen we volgende splitsingen onderscheiden op basis van de gini-index: uit
��������� ���������
� ��� � ���
��������
��������
�������
�������
��������
��������
��������
�������
��������� ��������� ��������� ���������
�������� ����������������������� ������������������
��������������
�������� ������������������������ �������������������
����������������
Figuur 3.13: Keuze van de te splitsen variabele op basis van de gini-index.
het voorbeeld heeft de SP-variabele de laagste gini-waarde wat resulteert in een
betere classificatie. De SP-variabele zal gebruikt worden als parent node voor het
3.4. RANDOM FORESTS 43
opbouwen van de beslissingsboom.
De sterkten van een beslissingsboom zijn de gemakkelijke interpretatie van het keuzeproces
en het goed omgaan met alle types van data gaande van numerieke tot categorische variabelen
en ontbrekende waarden. Het grootste nadeel van beslissingsbomen is dat ze gekenmerkt zijn
door een grote variabiliteit. Een kleine verandering in de data kan leiden tot een heel andere
structuur van de beslissingsboom. Dit is voornamelijk het gevolg van de hiërarchie bij het
ontwikkelen van de boom: het effect van een gemaakte fout in de bovenste knopen wordt
doorgetrokken doorheen de hele boomstructuur (Hastie et al. (2009)).
3.4.3 Het combineren van verschillende beslissingsbomen voor het beko-
men van gerandomiseerde bomen
Nu we de techniek achter beslissingsbomen hebben toegelicht kunnen we dieper ingaan op
het gebruik van RF’s en waarom het combineren van meerdere afzonderlijke beslissingsbomen
leidt tot betere prestaties in de classificatietaak. We hanteren de definitie van Breiman (2001):
Een gerandomiseerde boom is een classificator die bestaat uit een collectie van
beslissingsbomen {h(x, Θk), k = 1, ...} waarbij {Θk} identieke, onafhankelijk ge-
distribueerde vectoren zijn waarbij elke boom een voorspelling geeft voor de meest
waarschijnlijke klasse x.
De eerste stap bij het samenstellen van gerandomiseerde bomen is het creëren van een set
beslissingsbomen h(x, Θk) volgens de hieronder beschreven stappen:
1. Bepaal het aantal observaties N in de trainingsset en het aantal variabelen M in de
classificator.
2. Bepaal verschillende trainingssets van grote n uit N met terugplaatsing (bagging) om
de beslissingsboom te vormen. De rest van de data (out of bag samples) wordt gebruikt
als validatieset.
3. Selecteer m willekeurige variabelen uit M en selecteer uit deze variabelen de beste
splitsing voor elke knoop door middel van een zuiverheidswaarde (gini, entropie).
4. Construeer de beslissingsboom zonder pruning.
3.4. RANDOM FORESTS 44
De uiteindelijke klasse C voor een observatie v wordt bepaald door de klasse die het meest
wordt voorspeld door de individuele beslissingsbomen t (zie formule 3.30).
C = max p(ci | v) = max 1T
T∑t
pt(ci | v) (3.30)
Dit wordt visueel voorgesteld in figuur 3.14.
Figuur 3.14: Bepalen van de klasse door die klasse te selecteren die het vaakst door de
individuele beslissingsbomen voorspeld wordt (de Freitas (2013)).
Door de boom te splitsen op basis van willekeurige trainingsdata en variabelen krijgen we een
grote variatie die ervoor zorgt dat de data onafhankelijk en identiek verdeeld is. Hierdoor
worden alle types van observaties in de classificator opgenomen en heeft elke classificator zijn
eigen variabiliteit en voorspellingsfout.
Door het gemiddelde te nemen van de verschillende beslissingsbomen krijgen we een variabi-
liteit die veel lager is, namelijk σ2nieuw = σ2
B , met B het aantal beslissingsbomen. Hierdoor
krijgen we een generalisatiefout die veel kleiner is dan de individuele beslissingsbomen waar-
door de classificator een hogere prestatie heeft.
Hyperparameters
Bij het samenstellen van RF’s dienen we rekening te houden met de hyperparameters die we
vooraf dienen te bepalen. De belangrijkste hyperparameters bij RF’s zijn:
3.5. K-NEAREST NEIGHBOURS 45
• Het aantal gegenereerde beslissingsbomen: hoe meer beslissingsbomen, hoe meer de
generalisatiefout zal convergeren naar de laagst mogelijke waarde.
• Het aantal geselecteerde willekeurige variabelen: bepaalt het aantal variabelen die wor-
den getest bij elke splitsing. Als standaardwaarde wordt het aantal geselecteerde vari-
abelen vaak gelijk gesteld aan√
totaal aantal variabelen (Hastie et al. (2009)).
• De diepte van de boom: hoe dieper de boom, hoe meer splitsingen en hoe exacter
de RF de trainingsdata zal fitten. Dit kan wel leiden tot overfitting en een grote
generalisatiefout op de testdata. Segal (2004) heeft echter aangetoond dat het beperken
van de boomdiepte niet veel bijdraagt tot de prestatie van RF’s.
• De zuiverheidswaarde: gebruik van de gini-index of entropie.
3.4.4 Voor- en nadelen van gerandomiseerde bomen
Een gerandomiseerde boom heeft verschillende voordelen die ervoor zorgen dat ze heel flexibel
toegepast kunnen worden voor het verwerken van grote hoeveelheden data. Zo kunnen ze
goed omgaan met verschillende datatypes zoals numerieke en categorische variabelen. Ze zijn
ook in staat om goed te presteren in geval van ontbrekende data. RF’s kunnen ook efficiënt
ingezet worden in zowel classificatie- als regressietaken.
Er zijn echter ook een aantal nadelen verbonden. Zo is een RF in tegenstelling tot een
beslissingsboom een zwarte doos waarin de beslissingslogica niet gevolgd kan worden. Ook
zijn ze computationeel veeleisend in vergelijking met beslissingsbomen omdat een hogere
precisie wordt bereikt als een grote set aan beslissingsbomen gevormd wordt. Verder is de
kans op overfitting groot in het geval van een grote set aan variabelen waarvan slechts een
klein aandeel relevant is. In dit geval is de kans groot dat bij een klein aantal gekozen
variabelen bij de splitsing weinig of geen variabelen zitten die de juiste classificatiekracht
hebben.
3.5 K-Nearest Neighbours
Een K-Nearest Neighbour classificator (KNN) is een relatief eenvoudig ML-algoritme dat
een nieuwe observatie classificeert door in een twee- of multidimensionale ruimte één (1-NN)
of meerdere (KNN) datapunten te vergelijken die het dichts gelegen zijn bij de observatie
(Cunningham & Delany, 2007). Deze afstand tussen de verschillende datapunten wordt
3.5. K-NEAREST NEIGHBOURS 46
berekend door middel van een vooraf gedefinieerde afstandsfunctie. De nieuwe observatie
krijgt de klasse toegewezen op basis van de klasse die het meest voorkomt bij een vooraf
gedefinieerd aantal dichtstbij gelegen punten. Nearest Neighbours is een geheugen-gebaseerde
classificator, wat betekent dat het geen gebruik maakt van een leerfunctie of getraind model,
maar die elke observatie van de trainingsdata in een geheugen opslaat om vervolgens nieuwe
observaties met deze data te vergelijken. In de volgende sectie leggen we de werking van
de KNN beter uit en bekijken we de invloed van het aantal buren (K) en het gebruik van
verschillende afstandsfuncties.
3.5.1 Nearest Neighbour classificator
De werking van NN en KNN wordt uitgelegd op basis van figuur 3.15. Voor een k-waarde
= 1 gaat de NN op zoek naar één datapunt dat het meest dichtbij gelegen is bij de nieuwe
observatie. In ons voorbeeld krijgt onze observatie hierdoor klasse 1 toegewezen. Indien er
echter een k = 4 wordt geselecteerd, gaat de NN op zoek naar de vier dichtstbijliggende
observaties. Op basis van de meest voorkomende klasse in deze observatie krijgt de nieuwe
observatie hierdoor klasse 3 toegewezen.
���������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������
�
������� �������
������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������
Figuur 3.15: Classificatie op basis van aantal neighbours. Grijs = klasse 1, zwart = klasse 2
en wit = klasse 3.
De afstand tussen de neighbours kan berekend worden door middel van formule 3.31.
d(q, xi) =∑f∈F
wf δ(qf , xif ) (3.31)
met wf een gewicht bepaald door de nabijheid van de neighbour , F een set variabelen en δ
een afstandsfunctie.
Voor de afstandsfunctie δ zijn er verschillende versies beschikbaar waarvan de euclidische
3.5. K-NEAREST NEIGHBOURS 47
(3.32) afstand de meest intuïtieve en meest gebruikte is.
∥x − xi∥ =√∑
j
(xj − xij)2 (3.32)
De gekwadrateerde euclidische afstand 3.33 vermijdt de wortelberekening.
∥ x − xi ∥2=∑
j
(xj − xij)2 (3.33)
Andere veelgebruikte afstandsfuncties zijn de Minkowski-afstand (3.34), de Manhattan-afstand
en de Chebyshev-afstand (3.35). Merk op dat de Minkowski-afstand met p=2 de euclidische
afstand voorstelt. Voor p=1 bekomen we de Manhattan afstand. Hogere waarden dan twee
voor p heeft tot gevolg dat er een groter gewicht gelegd wordt op de variabelen die het meest
verschillen tussen de observatie en het datapunt.
MDp(q, xi) =(
n∑i=1
|qf − xif |p) 1
p
(3.34)
De Chebyshev-afstand meet enkel de afstand tussen die variabele waarin het grootste verschil
is op te meten tussen de nieuwe observatie en het datapunt.
MD∞(q, xi) = maxf∈F
|qf − xif | (3.35)
De uiteindelijke klasse voor de nieuwe observatie wordt toegekend op basis van de meest
voorkomende klasse (3.36).
Vote(yj) =k∑
c=11(yj , yc) (3.36)
Waarbij klasse yj een waarde 1 toegewezen krijgt als het datapunt xi de klassenlabel yj draagt
en een waarde 0 in het andere geval.
Een betere en meer correcte manier is om de gewogen schatting van de meest voorkomende
klasse (3.37) te berekenen waarbij als gewicht de inverse afstand van het datapunt xi tot
de observatie wordt genomen. De waarde n kan dienen als extra gewicht die verder gelegen
waarden extra gaat penaliseren (Cunningham & Delany (2007)).
V ote(yj) =k∑
c=1
1d(q, xc)n
1(yj , yc) (3.37)
3.5.2 De invloed van het aantal buren
Bij het opstellen van een KNN is het bepalen van het aantal buren (K) een heel belangrijke
parameter. Bij een kleine waarde van K kan de classificatie van een nieuw datapunten bepaald
3.5. K-NEAREST NEIGHBOURS 48
worden door ruis aanwezig in de data. Een grote waarde van K leidt dan weer tot te veel
generalisatie. Dit probleem wordt visueel voorgesteld in figuur 3.16. Voor een K-waarde = 1
krijgt de nieuwe observatie een zwart label toegewezen, wat duidelijk een outlier is. Bij een
K-waarde = 6 krijgt de observatie een wit label toegewezen. Een grote K-waarde resulteert
in grenzen die te algemeen zijn. Voor grote K-waarden is de berekeningstijd ook veel groter
aangezien er meer datapunten onderling vergeleken moeten worden. De meest optimale K-
waarde kan bepaald worden door middel van kruisvalidatie. Een duimregel bij KNN stelt
dat K best gelijk gesteld wordt aan√
aantal datapunten (Pedregosa et al. (2011a)).
Figuur 3.16: De invloed van K.
3.5.3 Normalisatie en selectie van de variabelen
Voor het berekenen van de afstand worden numerieke variabelen eerst genormaliseerd zodat
alle variabelen een waarde aannemen tussen [0,1]. Dit is nodig omdat variabelen met hoge
waarden anders zouden domineren in de afstandsfunctie waardoor de classificatie inaccuraat
wordt. Verder is de prestatie van een KNN ook sterk onderhevig aan irrelevante variabelen.
KNN is niet in staat om dergelijke variabelen te detecteren en zal dus een evenwaardig
gewicht toekennen aan deze variabelen. Het voorselecteren van de variabelen is daarom sterk
aangeraden.
3.5.4 Voor- en nadelen van KNN
KNN kan heel goed ingezet worden voor het verwerken van grote hoeveelheden aan data met
verschillende distributies, maar ondervindt een negatieve impact bij het verwerken van veel
variabelen (meer dan 20 variabelen per observatie). Dit wordt ook wel de curse of dimen-
3.5. K-NEAREST NEIGHBOURS 49
sionality genoemd. Tevens kan KNN geen onderscheid maken tussen relevante en minder
relevante variabelen waardoor de classificatie gebaseerd kan zijn op irrelevante variabelen.
Het voorselecteren van de variabelen of principle component analysis (PCA) is daarom ten
sterkste aangeraden. Een ander voordeel van KNN is het relatief snelle trainingsproces.
Enkele nadelen van KNN is dat het nood heeft aan grote hoeveelheden data om goede pres-
taties neer te zetten. Daarbij komt dat de berekeningscomplexiteit sterk stijgt naarmate er
meer data gebruikt worden. In tegenstelling tot het trainingsproces duurt de testfase relatief
lang aangezien alle afstandsberekeningen in deze fase gebeuren. Dit is wat we voor praktijk-
toepassingen willen vermijden aangezien men niet gebaat is bij lange processen om nieuwe
data te classificeren. Om het testproces te versnellen bestaan er verschillende algoritmes zoals
K-D Tree en Ball Tree (Beygelzimer et al. (2006)).
Deel III
Simulatie
50
Hoofdstuk 4
Onderzoeksopzet
Om verschillende voorspellingsmethoden onderling te vergelijken, moet een betrouwbare en
gecontroleerde dataset gegenereerd en gesimuleerd worden. Figuur 4.1 geeft onze onderzoeks-
opzet weer. We splitsen dit schema op in aparte onderdelen die in de volgende secties worden
toegelicht. We moeten vooreerst projectgegevens bekomen aan de hand van projectgenera-
tie, wat besproken wordt in sectie 4.1. Nadien worden deze projecten fictief uitgevoerd in
onderdeel 4.2 door distributies aan de tijdsduur van de activiteiten toe te kennen. Aan de
hand van deze twee stappen kunnen we in 4.3 de ingangs- en uitgangsvariabelen van ons
model bespreken. Deze datasets worden vervolgens opgesplitst op de manier uitgelegd in het
onderdeel 4.4, om de modellen te trainen en te beoordelen. Om deze laatste taak nauwkeurig
uit te voeren, hebben we in sectie 4.5 verschillende invalshoeken gedefinieerd. Om de kwali-
teit van ieder perspectief kwantitatief uit te drukken, hebben we kwaliteitsmaatstaven nodig,
die worden besproken in sectie 4.6. De lezer vindt in appendix A een volledig, gedetailleerd
schema dat de samenhang van de verschillende delen van onze onderzoeksopzet weergeeft.
��������� �������
������� �����
�������
�����������������
���������
�������������
���������
������
���������������
����
����������
Figuur 4.1: Onderzoeksopzet
51
4.1. PROJECTGENERATIE 52
4.1 Projectgeneratie
Om betekenisvolle uitspraken te doen over de kwaliteit van een voorspelling is er nood aan
een groot aantal projectgegevens. De superioriteit van een bepaalde techniek demonstreren
aan de hand van een aantal bestaande projecten is immers niet conclusief aangezien het mo-
gelijk is om andere gevallen te vinden die het tegendeel bewijzen. De dataset moet derhalve
zoveel mogelijk het werkelijke gamma aan mogelijke projecten omvatten. Dit is in de project-
managementwereld zeer moeilijk te realiseren wegens de schaarsheid van gegevens. Bij wijze
van voorbeeld: Lipke et al. (2009) gebruiken twaalf projecten in hun studie.
Veel voorkomend is het vertekend zijn van projectdata uit de werkelijkheid. De oorzaak
hiervan ligt in het subjectief rapporteren en het ingrijpen indien een project fout loopt. Het
nemen van correctieve acties zou steeds exact en gedetailleerd moeten gerapporteerd worden
om het kwantitatief effect ervan na te gaan. Het is bovendien mogelijk dat de relevante
datapunten afwezig zijn door redenen zoals vergetelheid of communicatiestoornissen.
Vanwege bovenstaande problemen met werkelijke data maken we gebruik van artificiële data.
Dit houdt in dat projecten gegenereerd worden op basis van bepaalde ingangsvariabelen.
Dit gebeurt met behulp van de RanGen tool die verwerkt zit in P2Engine. Deze genereert
een brede set aan projectnetwerken op basis van een opgegeven aantal activiteiten en SP
indicator.
Meer concreet wordt een dataset van 900 projectnetwerken gebruikt bestaande uit 30 acti-
viteiten met een gelijke verdeling van projecten volgens de SP factor die varieert tussen 0.1
en 0.9 in stappen van 0.1. De drie andere topologische indicatoren (AD, LA en TP) worden
willekeurig bepaald. De keuze om projecten te gebruiken met een gecontroleerde SP-waarde
is gekozen aangezien Vanhoucke (2009) in onderzoek heeft aangetoond dat deze indicator
een grote invloed heeft in de voorspellingskracht van EVM. De hierboven beschreven set is
conform aan de eerste set van 900 projecten ontwikkeld door OR-AS1 en is reeds gebruikt in
een ander onderzoek (Elshaer, 2013; Vanhoucke & Vandevoorde, 2007; Vanhoucke, 2010).
Aantal activiteiten
Bij de generatie van onze projectstructuren gaan we steeds netwerken genereren met een vast
aantal van dertig activiteiten. Onderzoek door Vanhoucke et al. (2008) heeft uitgewezen dat1www.or-as.be/measuringtime
4.1. PROJECTGENERATIE 53
het gebruik van datasets met meer activiteiten onder dezelfde topologische parameters geen
invloed heeft op de precisie van voorspellingen gemaakt met de EVM voorspellingsmethoden.
Topologische indicatoren
In deze studie wordt gebruik gemaakt van vier topologische indicatoren die zijn gedefinieerd
door Tavares et al. (1999) en verder ontwikkeld door Vanhoucke et al. (2008). Deze indicato-
ren geven een beschrijving van de netwerkstructuur van het project en classificeren dergelijke
netwerken op basis van de volgende indicatoren:
• Grootte van het netwerk: geeft de grootte van het netwerk aan, uitgedrukt in het aantal
activiteiten.
• Serial or Parallel indicator (SP): geeft aan in welke mate de activiteiten van een project
simultaan kunnen verlopen. Een waarde van SP = 1 duidt aan dat activiteiten volledig
serieel lopen. Er kan in dat geval geen enkele activiteit tegelijkertijd uitgevoerd worden
met een andere activiteit. Een waarde van SP = 0 wijst naar het volledig parallelle
verloop van de activiteiten in een project. Het parallel of serieel verloop van een project
zal een indicatie zijn voor het aantal kritische en niet-kritische activiteiten.
• Activity Distribution (AD): geeft aan in welke mate de activiteiten verspreid liggen in
het netwerk. Het geeft een indicatie of er veel activiteiten gepland zijn in het begin van
het project (AD=0) of het merendeel van de activiteiten in een later stadia (AD=1)
gepland staan.
• Length of Arc indicator (LA): geeft aan in welke mate de verschillende activiteiten aan
elkaar verbonden zijn. Gaat er aan elke activiteit slechts één waarde vooraf, dan is LA
= 0. Indien alle activiteiten perfect aan elkaar verbonden zijn, zal LA=1.
• Topological Float indicator (TF): een maat voor de vrijheid van elke activiteit (slack)
in het project. Het netwerk is volledig gepakt waardoor er geen enkele activiteit kan
verschoven worden als TF = 0. Bij een TF=1 bestaat de projectstructuur uit een
groep activiteiten die serieel aan elkaar hangen en dus geen vrijheid hebben. Er is
tegelijkertijd een andere groep activiteiten die maximale vrijheid genieten.
Merk op dat de indicatoren, uitgezonderd het aantal activiteiten, geschaald zijn zodat ze een
waarde aannemen tussen [0,1].
4.2. PROJECTSIMULATIE 54
4.2 Projectsimulatie
Om dynamische projectgegevens te verkrijgen, wordt ieder individueel project gesimuleerd
onder een aantal scenario‘s. Deze sectie gaat dieper in op het gebruik van de Monte-Carlo
methodologie en de gebruikte distributies om projectvariabiliteit te realiseren.
4.2.1 Monte-Carlosimulatie
Om grote, complexe problemen te benaderen, wordt de Monte-Carlosimulatie methodologie
gebruikt. Hierbij worden aan onzekere variabelen bepaalde distributies toegekend waaruit
willekeurige waarden worden getrokken. Dit wordt een groot aantal keer herhaald om zo een
verscheidenheid aan mogelijke verlopen van het gemodelleerde systeem weer te geven. Het
laat toe de potentiële gevolgen van onzekerheid te begrijpen en te kwantificeren (Kwak &
Ingall, 2007).
Voor projectmanagement betekent Monte-Carlosimulatie dat de tijdsduur van iedere activiteit
wordt getrokken uit een vooraf bepaalde kansdistributie. Dit herhaalt men voor ieder project
een groot aantal keer om zo verschillende uitvoeringen van ieder project te bekomen. Deze
vorm van simulatie is eerder al toegepast door Vanhoucke (2010, 2011); de Vonder et al.
(2008); Elshaer (2013).
De motivatie achter deze vorm van simulatie is dat ML-modellen getraind worden op basis
van beschikbare data. Deze gegevens stellen een realistisch verloop van een project voor.
Zodoende leert een algoritme patronen die kunnen voorvallen in de werkelijkheid om op deze
manier nauwkeurige uitspraken te doen.
4.2.2 Distributies voor de tijdsduur van activiteiten
Om een simulatie te bekomen, moet men in de eerste plaats een distributie toekennen aan de
tijdsduur van de activiteiten. Deze distributie schetst de probabiliteit van iedere mogelijke
tijdsduur en vormt aldus het risicoprofiel. Een basisveronderstelling hierbij is dat de opge-
legde verdeling een realistische verzameling van mogelijke tijdspannen voorstelt voor iedere
activiteit.
Aangezien de deterministische Critical Path Method (CPM), waarbij men de tijdsduur van
het totale project schat aan de hand van het kritieke pad, geen onzekerheid aanschouwt, is
door Malcolm et al. (1959) de Program Evaluation and Review Technique (PERT) ontwik-
keld. PERT voegt risico toe aan de tijdsduur van een activiteit door een driehoeksverdeling te
4.2. PROJECTSIMULATIE 55
bepalen op basis van een pessimistische, optimistische en meest-waarschijnlijke schatting. De
aantrekkelijkheid van deze methode ligt in de gebruiksvriendelijkheid: een driehoeksverdeling
is namelijk gemakkelijk op te stellen. De assumptie dat de activiteiten een driehoeksverde-
ling volgen wordt vaak gebruikt in risicoanalyse. Er wordt echter door Kuhl et al. (2007)
beargumenteerd dat het gebruik van de driehoeksverdeling als proxy voor de bètadistributie
met grote zorg moet gebeuren in het geval dat er een aanzienlijke scheefheid is. Dit is het
geval indien men een groot positief of negatief risico wil simuleren. Naast de bèta- en drie-
hoeksverdeling wordt ook de normale verdeling vaak gebruikt als voorstelling van risico voor
activiteiten (Berny, 1989).
4.2.3 Bètadistributie
Naar voorbeeld van Vanhoucke (2010) hanteren we de bètaverdeling als achterliggend profiel
voor de tijdsduur van een activiteit. De bètaverdeling wordt gedefinieerd als:
f(x) = Γ(θ1 + θ1)Γ(θ1)Γ(θ2)
(x − a)θ1−1(b − x)θ2−1
(b − a)θ1+θ2−1 (4.1)
Waarbij Γ(x) de Gammafunctie voorstelt: Γ(x) =∫∞
0 tx−1e−tdt voor x > 0. De parameters
a en b stellen respectievelijk de minimum en maximum totale tijdsduur voor. We schatten a
priori de verwachte tijdsduur c in en gebruiken ze in de hulpvariabele z.
z = b − c
c − a(4.2)
Zo bepalen we volgende parameters die de vorm beschrijven:
θ1 = z2 + 3d + 4z2 + 1
(4.3)
en
θ2 = 4z2 + 3d + 1z2 + 1
(4.4)
4.2.4 Simulatie-eigenschappen in dit onderzoek
In dit onderzoek gaan we 900 projectnetwerken telkens 100 keer simuleren onder vier verschil-
lende scenario’s volgens de parameters weergegeven in figuur 4.2. Dit levert per gegenereerd
project (sectie 4.1) 400 uitvoeringen op. Het doel van de simulaties voor de trainingsset is
zowel vroege als late projecten te genereren door de variabiliteit aan beide kanten op te drij-
ven. De parameters van de bètadistributie zijn voor de eerste drie scenario’s overgenomen
van de Vonder et al. (2008).
4.2. PROJECTSIMULATIE 56
Figuur 4.2: Risicoprofielen voor de simulatie van de projecten.
Scenario één verwijst naar een projectomgeving waarbij projecten een lage variabiliteit ver-
tonen. Dit laten wij overeenstemmen met een ondergrens a = 0.75 en bovengrens b = 1.625.
Indien we werken met een activiteit waarvan de geschatte tijdsduur 5 dagen omvat, dan zal
deze nu minimum 3.75 dagen of maximum 8.125 dagen kunnen duren. In de realiteit zou
men dit scenario kunnen vergelijken met een situatie waarbij men denkt dat de schattingen
van de duurtijden redelijk correct zijn. Indien er verkeerde schattingen zijn gemaakt, zullen
ze eerder te optimistisch ingeschat zijn.
Scenario twee duidt een projectomgeving aan met een hogere variabiliteit dan het eerste
scenario. Om dit te realiseren, wordt de ondergrens a op de helft geïnitialiseerd van de
verwachte tijdsduur c. De bovengrens b wordt op 2.25 maal de verwachte tijdsduur c gezet.
Zo kan een activiteit waarvan verwacht wordt dat het 5 dagen in beslag zal nemen zowel 2.5
dagen als 11.25 dagen duren. We merken op dat het hoogste risico voornamelijk naar de late
kant opschuift aangezien de parameters zorgen voor een rechts-scheve verdeling.
Het derde scenario introduceert een nog hogere variabiliteit dan de twee vorige scenario’s.
Dit kan het geval zijn indien er verwacht wordt dat de initiële schattingen van de tijdsduur
niet zo nauwkeurig werden gemaakt. We zorgen ervoor dat de grootste onzekerheid naar de
late kant in plaats van de vroege kant ligt door te werken met een ondergrens a = 0.25c en
een bovengrens b = 2.875c. In ons voorbeeld zal de activiteit nu ten vroegste na 1.25 dagen
4.3. VARIABELEN 57
geëindigd zijn en ten laatste na 14.375 dagen. Zo wordt de kans dat de activiteit wel degelijk
5 dagen of minder duurt gereduceerd naar 40%.
Om een situatie te creëren waarbij quasi ieder project na de vooropgestelde deadline eindigt,
hebben we in scenario vier de ondergrens a op 0.1 ingesteld en de bovengrens b op 10. Dit
komt in de realiteit overeen met een project waarbij de vooropgestelde tijdsduur een wilde
gok is en men eerder overtuigd is dat ze langer zullen duren. Zo zal in het voorbeeld de kans
dat de activiteit 5 dagen of minder duurt nog maar 21% zijn aangezien deze mogelijk kan
uitlopen tot 50 dagen. In vergelijking met het tweede scenario, waarbij deze activiteit nooit
langer dan 14.375 dagen zal duren, heeft de activiteit nu een kans van 35% dat ze langer zal
duren dan 14.375 dagen.
Al deze risicoprofielen worden aan de activiteiten toegekend door willekeurige waarden te
trekken uit de bijhorende bètadistributie en deze toe te kennen aan de tijdsduur van de
verschillende activiteiten. In dit onderzoek laten we de voorspelling van de finale kosten
buiten aanschouwing. Bijgevolg zullen de kosten een waarde aannemen die lineair is met de
tijdsduur. In totaal is er dus een dataset van 900 projecten x 100 simulaties x 4 scenario’s =
360.000 projectsimulaties ter beschikking.
4.2.5 Projectopvolging
Tijdens de simulatie worden van negen momenten de relevante variabelen weggeschreven
om dan later te gebruiken in de modellen. Deze tijdstippen worden bepaald op basis van
het voltooid percentage van het project (PC). De eerste keer dat de stand van het project
genoteerd wordt is op 10PC. Dit wil zeggen dat indien een project 100 dagen geduurd heeft,
de eerste rapporteringsperiode na 10 dagen plaatsvindt. Zo vorderen we in stappen van 10PC:
de volgende periode die opgenomen wordt is na 20 dagen, 30 dagen enzovoort. De variabelen
die worden opgeslagen worden gegeven in volgende sectie (4.3).
4.3 Variabelen
In dit onderdeel lichten we de variabelen toe die verwerkt worden in de ML-algoritmen.
Wegens het opvolgen van een project over verschillende tijdstappen van 10% zal dit leiden tot
een verschillend voorspellingsmodel per tijdstip met een variabel aantal variabelen. Bovendien
zal het resultaat van het project, de vergelijking van de geplande tijdsduur (PD) en de
werkelijke tijdsduur (AD), moeten vertaald worden naar een categorische variabele.
4.3. VARIABELEN 58
4.3.1 Ingangsvariabelen
Vanuit de trainingsdata wordt gebruik gemaakt van de gesimuleerde dynamische EVM va-
riabelen die samen met de statische variabelen (netwerkinformatie, BAC en PD) dienen als
input variabelen die we doorgeven aan onze ML-algoritmen. Voorbeelden van dynamische
variabelen zijn de SPI, CPI, SPIt, AD, EV. . . Hierbij dient de opmerking gemaakt te worden
dat in dit onderzoek het verloop van een project ingedeeld wordt in 10 tijdsperioden gaande
van 10% afgewerkt tot 90% afgewerkt. Ook dienen we toe te voegen dat de dynamische
variabelen van de tijdsperioden voorgaand aan tijdsperiode X gebruikt worden als extra in-
gangsvariabelen voor X, waardoor er voor latere tijdsperioden veel meer input ter beschikking
is. Per tijdsperiode t zijn er dus: 6 statische variabelen + 9*(aantal perioden) dynamische
variabelen. Voor tijdsperiode 90% komt dit dus neer op een totaal aantal variabelen van
6+9+9*8 = 87. Het aantal variabelen voor iedere tijdsperiode is weergegeven in tabel 4.1.
Percentage afgewerkt 10% 20% 30% 40% 50% 60% 70% 80% 90%
Aantal variabelen 15 24 33 42 51 60 69 78 87
Tabel 4.1: Variabelen per tijdsperiode.
4.3.2 Uitgangsvariabele
Bij gesuperviseerde classificatietaken hebben ML-algoritmen toegang tot de labels van de
klassen. In het geval van categorische variabelen krijgt elk datapunt X1, X2 . . . Xn een klasse
C1 . . . Cl toegewezen. Om de prestatie van de classificatietaken na te gaan dienen we een on-
derscheid te maken in het type van classificatie. In de literatuur (Sokolova & Lapalme, 2009)
maakt men een onderscheid tussen binaire classificatie (C1, C2), multiklasse classificatie (één
label Cl), multilabel classificatie (verschillende niet-overlappende labels Cl) en hiërarchische
classificatie (onderscheid tussen subklassen en superklassen).
In ons onderzoek hebben we te maken met een multiklasse-classificatieprobleem waarbij pro-
jecten worden geclassificeerd volgens de finale duurtijd van een project. Hiervoor maken we
onderscheid tussen drie klassen gaande van projecten die vroeger eindigen dan gepland (klasse
1), projecten die op tijd eindigen (klasse 2) en projecten die te laat eindigen (klasse 3). Deze
klassen worden aan projecten toegekend volgens formule 4.5.
Yt = Planned DurationActual Duration
(4.5)
4.4. VERDELEN VAN DE DATASET 59
• Klasse 1: Yt > 1.05
• Klasse 2: 0.95 < Yt < 1.05
• Klasse 3: Yt < 0.95
Merk op dat we een kleine marge van 5% tolereren op het tijdig zijn van een project (klasse
2).
Ter illustratie beschouwen we volgende voorbeeld:
Gegeven is een project met een geplande duurtijd van 8 weken. Na uitvoering
van het project blijkt de totale duurtijd 12 weken geduurd te hebben. Volgens
formule 4.5 is Yt dus gelijk aan 8/12 = 0.67 en valt dus onder klasse 3: een te laat
project.
4.4 Verdelen van de dataset
Zoals uiteengezet in het ML gedeelte van deze thesis (sectie 3.1), moet er veel zorg besteed
worden aan het verzamelen en verdelen van gegevens. Volgende twee onderdelen leggen dan
ook uit hoe onze trainingsset, validatieset en testset bekomen worden.
4.4.1 Trainingsset
De gegenereerde en gesimuleerde dataset wordt opgesplitst in een trainingsset (180.000 simu-
laties) als ingang voor de ML-modellen en een testset (180.000 simulaties) om de uiteindelijke
ML-modellen te testen op de prestatie. De verdeling van de verschillende sets is zo gekozen
dat elke set bestaat uit evenveel projecten per SP indicator zoals weergegeven in 4.3. Aange-
zien deze grote dataset van 180.000 projectexecuties leidt tot een maximum aantal van twaalf
miljoen cellen, hebben we deze gereduceerd tot 10% van de totale gegevens. Deze verkleinde
dataset wordt gerandomiseerd getrokken uit de oorspronkelijke gegevens. Dit wordt op een
zodanige manier gedaan dat van iedere klasse evenveel observaties aanwezig zijn. We zor-
gen er tegelijkertijd voor dat iedere klasse van elke SP-waarde evenveel projecten heeft om
eventuele invloeden hiervan uit te schakelen.
4.4.2 Kruisvalidatie
Om de diverse modellen te trainen maken we gebruik van vijfvoudige KruisValidatie (KV).
Deze KV splitst de trainingsset op in vijf gelijke delen met een evenwaardig aandeel uit elke
4.4. VERDELEN VAN DE DATASET 60
�������������� ������������
������������� ���
���������
������������� ���
���������
�����
����
�����
����
�����
���
�����
���
�����
����
�����
����
�����
�� �
�����
����
�����
����
��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� �� �� �� �� ��� ���
��� ��� ��� ��� ��� ��� �� �� ��� ��� ��� ��� ��� ��� ��� �� �� ���
Figuur 4.3: Trainingset (links) vs. testset (rechts).
Klasse Betekenis klasse Procentuele verdeling
Klasse 1 Te vroeg 33.33%
Klasse 2 Op tijd 33.33%
Klasse 3 Te laat 33.33%
Tabel 4.2: Verdeling van de klassen in de trainingsset.
klasse. Deze verschillende folds worden dan afwisselend gebruikt om de beste hyperparame-
ters voor het model te bepalen en het uiteindelijke model te fitten. Het beste model wordt
gekozen aan de hand van de F1-score (zie 4.6.2). Dit is het harmonisch gemiddelde van de
precision (4.8) en recall (4.9).
Uit tabel 4.2 blijkt dat we van elke klasse eenzelfde percentage data gebruiken om onze mo-
dellen te trainen. Dit doen we door uit de volledige trainingsset een willekeurige subselectie te
nemen die de gelijke verdeling garandeert. Zo voorkomen we dat een bepaald algoritme slecht
zou presteren omdat het bijvoorbeeld klasse één niet genoeg gezien heeft in de trainingsset
om er uit te kunnen leren. Dezelfde methode passen we toe voor het aantal observaties per
SP. We garanderen voor de gebruikte trainingsset dus een gelijk aantal observaties per klasse
en per SP.
4.5. BEOORDELINGSPERSPECTIEVEN 61
SP 10 SP 20 SP 30 SP 40 SP 50 SP 60 SP 70 SP 80 SP 90
11.11% 11.11% 11.11% 11.11% 11.11% 11.11% 11.11% 11.11% 11.11%
Tabel 4.3: Verdeling van de SP-waarde in de trainingsset.
4.4.3 Testset
De testset van 180.000 observaties wordt beoordeeld op basis van de prestatiemaatstaven
gegeven in sectie 4.6. Omdat we slechts een steekproef trekken van de gehele populatie aan
projecten, is het nuttig om de testset op te delen in verschillende stukken en op ieder in-
dividueel gedeelte de kengetallen te berekenen. Op deze manier hebben we een maat van
afwijking, de standaarddeviatie, die een indicatie geeft van de consistentie van de gerappor-
teerde getallen. Om een uiteindelijke uitspraak te doen of één model significant beter scoort
dan een ander, gaan we vervolgens de modellen onderling statistisch testen. Dit doen we door
gebruik te maken van de Wilcoxon signed ranks test en wordt vaak gebruikt in de literatuur
om verschillende classifiers onderling te vergelijken (Demsar, 2006). Deze niet-parametrische
test heeft het grote voordeel dat het geen normale of andere distributie of assumpties veron-
derstelt.
4.5 Beoordelingsperspectieven
In lijn met de EVM-literatuur kijken we vanuit meerdere invalshoeken naar de kwaliteit van
de uitgevoerde voorspellingen. De perspectieven accuraatheid, stabiliteit en tijdsverloop zijn
afkomstig van Vanhoucke & Vandevoorde (2007). Aanvullend beschouwen we de invloed van
variabiliteit in de statistische distributies van de activiteiten. De volgende punten behandelen
één voor één de bovengenoemde perspectieven.
Globale accuraatheid
De eerste onderzoeksvraag omvat een beschrijving van de globale accuraatheid (forecast ac-
curacy) van een bepaalde techniek. Het vertelt in welke mate het ML model erin slaagt de
uitkomst van een project te voorspellen bij toepassing van verschillende distributies op de
duurtijd van de activiteiten. Deze onderzoeksvraag geeft de projectmanager een beeld op
de prestatie van de techniek voor een gemiddeld projecttype, op een gemiddeld tijdstip met
gemiddelde variabiliteit.
4.6. BEOORDELINGSMAATSTAVEN 62
Tijdsverloop
De tweede vraag houdt in hoe de kwaliteit van de voorspelling evolueert naarmate we verder
staan in de levensduur van het project. We doen aldus een uitspraak over het tijdsver-
loop (timeliness) van de voorspellingsmethode. Dit is relevant voor de projectmanager die
wil weten hoe betrouwbaar een uitspraak over de toekomst is op één bepaald moment in
de tijdsduur van een project. Het doel is om zo vroeg mogelijk betrouwbare resultaten te
verkrijgen.
Stabiliteit
Omdat de EV methode haar informatie haalt op projectniveau is het mogelijk dat er een ver-
keerde waarschuwing wordt gegeven wegens het langer duren van een niet-kritieke activiteit.
Dit probleem is gevalideerd in Vanhoucke & Vandevoorde (2007). Daarin wordt vastgesteld
dat de structuur van een project een significante invloed heeft op de nauwkeurigheid van de
predicties. De voornaamste determinant hiervan is de SP-indicator die de mate van seriali-
teit aanduidt. Aldus gaan wij in deze thesis de stabiliteit (stability) na van de gemaakte
ML-voorspellingen.
Projectvariabiliteit
Door met gesimuleerde projectgegevens te werken, kunnen we de onzekerheid van de projec-
tomgeving beïnvloeden en het effect hiervan nagaan. Zo komen we op het finaal perspectief
om de prestatie van een voorspellingstechniek te onderzoeken: de invloed van projectva-
riabiliteit op de voorspelling. Aldus geeft deze analyse de invloed weer van verschillende
maten van turbulentie in de activiteiten van een project. Dit geeft inzicht in welke mate het
mogelijk is bepaalde scenario‘s te onderscheiden. Zo kan het zijn dat in een zeer volatiele
omgeving, waar het te laat realiseren van activiteiten de regel in plaats van uitzondering is,
het relatief eenvoudiger is een correcte classificatie te doen.
4.6 Beoordelingsmaatstaven
Om de kwaliteit van de verschillende perspectieven van een voorspellingstechniek te beoor-
delen, maken we gebruik van twee soorten beoordelingsmaatstaven: confusion matrices en de
4.6. BEOORDELINGSMAATSTAVEN 63
Mean Absolute Percentage Error (MAPE). De reden hiervoor ligt in de aard van een classi-
ficatieopdracht: het is namelijk moeilijk om de fout van een verkeerd gelabelde observatie te
kwantificeren in één getal.
Andere maatstaven zoals de computationele efficiëntie en interpreteerbaarheid van het model
worden niet gebruikt in de beoordelingsgraad. We concentreren ons dus voornamelijk op
voorspellingskracht.
4.6.1 MAPE
Al is de literatuur omtrent de vergelijking van de voorspellingsprestatie van EVM technieken
schaars, toch wordt er vaak de MAPE gehanteerd als maatstaf voor kwaliteit. Voorbeelden
hiervan vindt men in Vanhoucke & Vandevoorde (2007); Vanhoucke (2009); Vandevoorde &
Vanhoucke (2006); Moreira & Figueiredo (2012).
De MAPE meet in geval van classificatie het gemiddelde aantal fouten dat de classificator
maakt. Dit zijn het procentueel aantal verkeerd gecategoriseerde observaties. Hierdoor is het
ook gelijk aan 1 − accuracy waarbij accuracy gelijk is aan de fractie juist voorspelde labels.
Het wordt berekend volgens
MAPE = 100 1P
1T
P∑p=1
T∑t=1
I(y, y) (4.6)
Waarbij I slaat op de indicatorfunctie:
I =
1 : y = y
0 : y = y
(4.7)
Volgende definities gelden:
P : totaal aantal projecten (observaties) in de dataset
p : een bepaald project uit de gegevens
T : het totaal aantal tijdstippen = 9
t : een bepaald tijdstip in de levensduur van het project
y : voorspelde categorie
y : werkelijke categorie
Uit (4.6) blijkt dat de beste prestatie die gehaald kan worden de waarde 0 is. In geval dat
de MAPE gelijk is aan 1, zijn alle observaties in de verkeerde categorie geplaatst. Merk op
4.6. BEOORDELINGSMAATSTAVEN 64
dat iedere misclassificatie even zwaar bestraft wordt: een project als te vroeg labelen terwijl
het in werkelijkheid te laat is, wordt even zwaar gepenaliseerd indien het project op tijd is.
De MAPE kan potentieel een verkeerd beeld werpen op de kwaliteit van een voorspeller.
Het kan namelijk het geval zijn dat 99% van de projecten in de gegevens altijd mooi op tijd
zijn (klasse twee). In dit geval zou men een voorspeller kunnen creëren waarbij standaard
alles ingedeeld wordt in klasse één en zo een MAPE halen van 1% (of dus een accuracy van
99%). De kunst bestaat er echter in de projecten die over tijd zullen zijn eruit te halen. Om
deze situatie te voorkomen bespreken we in de volgende sectie de confusion matrix en de
bijhorende kengetallen.
4.6.2 Confusion Matrix
Zoals in Provost et al. (1998) geargumenteerd wordt, is de probabiliteit om een fout te maken
op zich meestal geen doel van taken uit de werkelijkheid omdat de minimalisatie van kosten
vaak niet hetzelfde is als het maximaliseren van nauwkeurigheid. Om aldus een extra beeld
te krijgen over de prestatie van de classificatie, maken we gebruik van een Confusion Matrix
(CM). Een CM bevat informatie over de werkelijke en de voorspelde classificaties door een
algoritme. Deze visuele voorstelling bevat in de rijen de werkelijke waarden van een observatie
en in de kolommen de voorspelde waarde. Naargelang het label dat een observatie toegewezen
krijgt, kan deze onderverdeeld worden volgens:
• True-Positives (TP): aantal projecten behorend tot een bepaalde klasse Ci, geclassifi-
ceerd volgens deze klasse.
• True-Negatives (TN): aantal projecten niet behorend tot een klasse Ci, terecht verwor-
pen uit klasse Ci.
• False-Positives (FP): aantal projecten die geclassificeerd worden tot de klasse Ci, maar
niet behoren tot Ci.
• False-Negatives (FN): aantal projecten die niet geclassificeerd worden als klasse Ci,
maar wel behoren tot deze klasse.
Een generiek voorbeeld toegepast op ons onderzoek is gegeven in figuur 4.4.
Op basis van deze confusion matrix kunnen we vervolgens de precision (4.8), recall (4.9),
F1-score (4.10) berekenen. Hiermee wordt de confusion matrix in prestatiemaatstaven sa-
mengevat.
4.6. BEOORDELINGSMAATSTAVEN 65
De precision van een klasse geeft weer hoeveel procent van de gemaakte voorspellingen wel
degelijk thuishoren in die klasse.
Precision = true positivestrue positives + false positives
(4.8)
De recall van een klasse is het aandeel van de observaties van die klasse die ook geclassificeerd
zijn onder deze klasse.
Recall = true positivestrue positives + false negatives
(4.9)
De F1-score neemt de precision en recall samen door het harmonisch gemiddelde te berekenen.
F1-score = true positives2 ∗ true positives + false positives + false negatives
(4.10)
De reden om precision en recall samen te nemen ligt in de inverse relatie tussen de twee
parameters. Men kan een zodanig grote recall bekomen zodat we alle relevante observaties
van een klasse gevonden hebben ten koste van het groottallig aanwezig zijn van observaties
van andere klassen in de predicties. Indien men deze verkeerde voorspellingen er wilt uithalen
en zo een hogere precision willen bekomen, zal men strenger moeten classificeren ten koste
van de recall. Ter illustratie beschouwen we volgend fictief voorbeeld:
Bij het nagaan van verschillende bouwprojecten wordt onderscheid gemaakt tus-
sen projecten op schema en projecten achterlopen op het schema. Van het totaal
aantal projecten die onderzocht worden zullen vier projecten achterop raken en
zes projecten niet. Tijdens het onderzoek blijken er echter maar twee projecten te
��
�
��
���
��
�
��
���� ��
����������
���
�
���������
����
�
���������
����
����������
���
���
�
��
�
��
�
��
�
��
��
��
�
��
�
��
��
����������
���
�
���������
����
�
���������
����
���������
����
�
����������
���
�
����������
���
Figuur 4.4: Visuele voorstelling van een confusion matrix toegepast op klasse 1.
4.6. BEOORDELINGSMAATSTAVEN 66
zijn met vertraging, terwijl de rest op schema verloopt. Dit resulteert in de CM
weergegeven in figuur 4.5:
Indien we precision als beoordelingsmaatstaf zouden gebruiken voor de classi-
ficatie van de achterlopende projecten kan men stellen dat de test uitstekende
resultaten neerlegt (100%). We dienen echter de vraag te stellen of het financieel
aanvaardbaar is om een project dat in werkelijkheid achterloopt te beoordelen
als op tijd waardoor de projectmanager geen extra middelen zal toekennen aan
het project, en de bouwonderneming beboet zal worden als de deadline voor het
project niet behaald wordt. In ons voorbeeld volstaat het dus niet om enkel te
kijken naar precision aangezien de fout van een misclassificatie hier zwaar door-
weegt. In dit voorbeeld is recall dan ook een betere maatstaf aangezien deze een
maat geeft van het percentage te late projecten dat effectief wordt gedetecteerd
en wordt aangepakt. Baserend op de recall met een waarde van 50% kunnen we
dus stellen dat de test verre van uitstekende resultaten neerlegt. De recall score
alleen geeft ons echter ook een te eenzijdige kijk op de prestatie van de test. Stel
dat er teveel projecten worden gediagnosticeerd als te laat worden er bij teveel
projecten onterecht extra middelen toegekend wat zowel tijd als geld kost. Het
optimaliseren van de F1-score is bijgevolg een gulden middenweg tussen de twee
maatstaven.
Bovenstaande drie maatstaven worden berekend voor iedere klasse. We hebben zodoende
een F1-score voor alle drie de klassen. Er zijn verschillende manieren om deze getallen uit
te middelen: micro-averaging , macro-averaging, sampled-averaging, weighted-averaging. In
geval van micro-averaging wordt de totale F1-score berekend door een gewicht toe te kennen
op basis van het aantal TP, FN en FP. Omdat onze klassen niet gebalanceerd zijn, waardoor
een fout gemaakt op klasse één minder erg is, hanteren we geen gewichten en nemen we het
�������
�����
������� �����
� �
�
�������
��������� � �
� �
��� ��� ���
� � � � ���
��� � � ���
����� �������
�� ��
Figuur 4.5: Een voorbeeld van een CM.
4.6. BEOORDELINGSMAATSTAVEN 67
wiskundig gemiddelde. Dit noemt men macro-averaging, ook wel macrogemiddelde genaamd.
Op deze manier worden misclassificaties in klassen met een kleiner aandeel in de totale testset
evenwaardig in rekening gebracht.
Precisionmacro = 1q
·n∑
i=1precision Ci (4.11)
Recallmacro = 1q
·n∑
i=1recall Ci (4.12)
Fscoremacro = 1q
·n∑
i=1F1-score Ci (4.13)
met q het totaal aantal klassen.
De macro F1-score kunnen we gebruiken als waarschuwingssignaal indien deze tegengestelde
conclusies ten opzichte van de MAPE weergeven. Dit houdt in dat er volgens de MAPE
weinig fouten gemaakt worden, maar volgens de F1-score toch gezondigd wordt tegen het
classificeren van één of meerdere, mogelijks ondervertegenwoordigde klasse.
In hoofdstuk 6 zullen CM’s aangehaald worden om de resultaten toe te lichten. We hebben
ervoor gekozen om gebruik te maken van een CM met genormaliseerde rijen. Elke rij stelt
dus 100% van de observaties per klasse voor waarbij de CM de relatieve verhouding per
voorspelde klasse weergeeft.
Om de verschillende onderdelen aan elkaar te hangen, verschaffen we de lezer in figuur 4.6
de structuur waarop de kwaliteit van de verschillende predictiemethoden in kaart wordt
gebracht.
4.6. BEOORDELINGSMAATSTAVEN 68
��������������
������������������������������������������������������������������������������������������������
�����������������������������������������������������������������������
�����������������������
��� ����������������
!���������
"�� �������
#���� �������
��������������������
�$%&
'������ ���������������������
$���(�������� �����
�����)���������� �����
Figuur 4.6: De structuur waarop onze onderzoeksvragen beantwoord worden.
Hoofdstuk 5
Voorbereiding van de modellen
In dit hoofdstuk wordt in sectie 5.1 toegelicht hoe we de EVM-voorspellingsmethoden om-
zetten naar een classificatietaak. Vervolgens bespreken we sectie 5.2 de set-up van de ML-
modellen en wordt de invloed van de hyperparameters besproken.
5.1 Earned value voorspellingen in een classificatieopdracht
Aangezien de standaardmethoden binnen EVM opgesteld zijn voor een regressieopdracht,
moeten deze waarden omgezet worden naar een categorische waarde. Dit doen we door de
voorspelling in te vullen in de noemer van volgende formule:
Yt = PDAD
(5.1)
Waarbij AD slaat op de geschatte Actual Duration. De PD is de geschatte tijdsduur gemaakt
in het begin van het project.
Op basis van de voorgedefinieerde intervallen in sectie 4.3 krijgen de voorspellingen vervolgens
een label te vroeg (klasse 1), op tijd (klasse 2) of te laat (klasse 3) toegewezen.
De verschillende EVM methoden toegepast in ons onderzoek geven de resultaten weergege-
ven in figuur B.1. Daaruit leiden we af dat gemiddeld genomen de ES2 methode het best
presteert; er worden 27% fouten gemaakt bij het classificeren. Ook over de andere kwaliteits-
gebieden, namelijk stabiliteit, tijdsverloop en variabiliteit merken we op dat ES2 het beste
presteert. De resultaten van deze perspectieven zijn te vinden in bijlage B op pagina 117.
Ter conclusie kunnen we stellen dat we als keuze binnen de diverse EVM voorspellingsmetho-
den de ES methode kiezen die als assumptie heeft dat het toekomstig verloop de tijdsprestatie
SPI(t) gaat volgen. Dit korten we af met de notatie ES2.
69
5.2. DE INVLOED VAN HYPERPARAMETERS 70
Figuur 5.1: De MAPE van de traditionele EVM voorspellingsmethoden toegepast in een
classificatieopdracht.
5.2 De invloed van hyperparameters
Aangezien het juist kalibreren van de hyperparameters een cruciale impact kan hebben op
de nauwkeurigheid van de technieken, bespreken we in deze sectie per techniek de meest
optimale keuze van hyperparameters.
5.2.1 Logistische regressie
De enige waarde die gekalibreerd moet worden in het geval van logistische regressie is de
regularisatieterm λ. In ons onderzoek werken we met de inverse van λ, afgekort met de letter
C. Hoge waarden van C kunnen leiden tot een model dat te veel aan de data gefit wordt, ter-
wijl lage waarden van C kunnen leiden tot underfitting. In de applicatie van projectcontrole,
blijkt de keuze voor C hier echter geen invloed op te hebben. Zoals geïllustreerd in figuur
5.2, kan de keuze van de inverse regularisatieterm vrij gekozen worden. De figuur duidt de
F1-score van het model aan op tijdstip t = 90PC. Voor de andere tijdstippen stellen we
gelijkaardige resultaten vast. Het totale afstemmingsproces duurde 121.76 minuten.
5.2.2 SVM
In geval van de Support Vector Machine techniek moet er eerst een kernel gekozen worden. In
dit werk werd gebruik gemaakt van de lineaire en Gaussiaanse RBF kernel. Bij beide kernels
5.2. DE INVLOED VAN HYPERPARAMETERS 71
Figuur 5.2: De invloed van de inverse regularisatieterm C op de f1 score bij logistische
regressie.
moet de inverse regularisatieterm C ingesteld worden. In geval van een lineaire kernel stellen
we op basis van figuur 5.3 twee zaken vast:
1. De maximum geprefereerde waarde voor C is 10. Hogere waarden leiden dus tot een
slechtere generalisatie.
2. Het juist instellen van C wordt belangrijker naarmate een project vordert in de tijd.
De oorzaak van dit effect ligt in de aard van tijdsmodellen: modellen op een hogere
PC-waarde bevatten meer variabelen dan modellen met lagere PC-waarden. Er zijn
dus meer variabelen waaraan het model kan overfitten.
Bij de RBF kernel moet een additionele waarde, de gammawaarde, ingesteld worden. Het
verloop van de beste combinaties hyperparameters staat weergegeven in het spreidingsdia-
gram in figuur 5.4. Algemeen zijn waarden voor γ onder de 0.1 en lager verkozen. Een te
hoge waarde voor γ leidt tot overfitting op de gegevens. Voor de regularisatieterm C zijn
voornamelijk grote waarden boven 10 geprefereerd, wat inhoudt dat het hypervlak zo veel
mogelijk mag aangepast worden aan de gegeven trainingsset. Hieruit kunnen we afleiden
dat met lagere waarden van de γ hyperparameter overfitting wordt tegengegaan terwijl met
hogere waarden van C juist getracht wordt het model zoveel mogelijk aan de data te fitten.
Deze conclusies zijn geldig over alle tijdsperioden.
5.2. DE INVLOED VAN HYPERPARAMETERS 72
Figuur 5.3: De invloed van de inverse regularisatieterm C op de f1 score bij SVM’s met
lineaire kernel. De linkse figuur is opgesteld op tijdstip t = 10 pc en de rechtse figuur op
t = 90 pc.
Figuur 5.4: De invloed van de hyperparameters C en γ op de F1-score van de SVM.
Een praktische opmerking omtrent de exploratie van het hyperparametergebied van de re-
gularisatieterm gebruikt in SVM’s gaat over hogere waarden van C. In figuur 5.4 is een
maximumwaarde voor C gefixeerd op 104. Er is echter ruimte voor verbetering aangezien
er nog geen opmerkelijke daling van de F1-score is. Toch hebben we het gebied van de C-
waarden niet verhoogd aangezien hogere waarden voor C overeenkomen met meer tolerantie
voor overfitting. Daardoor worden er meer support vectors aanschouwd voor het opstellen
5.2. DE INVLOED VAN HYPERPARAMETERS 73
van het scheidingsvlak. Zoals gezien in sectie 3.3 zijn het enkel deze support vectors die opge-
nomen worden in het optimalisatieproces. Een verhoging van het aantal support vectors leidt
dus tot een berekening die meer dan kwadratisch langer duren, wat met onze rekenkracht
niet berekenbaar was aangezien het huidig afstemmingsproces 43.20 uur duurde.
5.2.3 K-Nearest Neighbour
Voor de K-Nearest Neighbour techniek zijn de twee belangrijkste parameters het aantal dicht-
bij gelegen punten (neighbours) die worden vergeleken en de formule voor het berekenen van
de afstand tussen het nieuwe datapunt en de nabij gelegen punten. Het aantal neighbours
hebben we laten variëren in een bereik van [1,1000]. Uit figuur 5.5 blijkt dat een kleine waarde
voor het aantal neighbours leidt tot een betere voorspelling. Het model overfit de data dus niet
voor kleinere waarden. Voor de afstandsfunctie hebben we zowel de Euclidische-, Chebyshev-
en Manhattan-afstand vergeleken. Figuur 5.5 toont aan dat de verschillende functies leiden
tot dezelfde prestatie. Het hele optimalisatieproces duurde 32.52 minuten.
Figuur 5.5: De invloed van de hyperparameters neighbours en afstandsfunctie op de F1-score
van de KNN classificator.
5.2.4 Gerandomiseerde bomen
Bij Random Forests zijn er een hele reeks aan hyperparameters die vastgelegd moeten worden
zoals het aantal bomen die gefit worden, de diepte van elke boom, de zuiverheidsfunctie, het
aantal variabelen per split, het minimum aantal observaties per split. . . In de studie naar de
optimale hyperparameters hebben we enkel de voornaamste in kaart gebracht: aantal gefitte
bomen, diepte van elke boom en de zuiverheidsfunctie. Het duurde twee uur en zes minuten
5.2. DE INVLOED VAN HYPERPARAMETERS 74
om deze resultaten te bereiken.
De grote kracht van gerandomiseerde bomen is het combineren van een grote set aan wil-
lekeurige beslissingsbomen om zo een gemiddeld kleinere generalisatiefout te bekomen. Uit
figuur 5.6 blijkt echter dat de gerandomiseerde boom niet veel aan predictiekracht wint bij
een groter aantal bomen. Verder blijkt de zuiverheidsindicator en de diepte van de individu-
ele bomen ook geen grote invloed te hebben op de prestatie van de gerandomiseerde bomen.
Figuur 5.6: De invloed van het aantal beslissingsbomen en de diepte van de individuele bomen
op de prestatie van gerandomiseerde bomen voor het 50PC model (links gini, rechts entropie).
Als we kijken naar een individuele beslissingsboom in figuur 5.7 zien we dat het model wellicht
overfit bij een grotere diepte. Hierbij zien we ook dat het aantal mogelijke variabelen per
splitsing een positieve impact heeft naarmate er meer variabelen bij de vergelijking worden
betrokken.
5.2. DE INVLOED VAN HYPERPARAMETERS 75
Figuur 5.7: De invloed van de diepte en het aantal geselecteerde variabelen per split op de
prestatie van een beslissingsboom voor het 50PC model.
Hoofdstuk 6
Resultaten
In dit hoofdstuk worden de resultaten van de verschillende voorspellingstechnieken besproken.
Dit wordt gedaan in termen van globale accuraatheid, tijdsverloop, stabiliteit en projectva-
riabiliteit. De resultaten zijn bekomen door gebruik te maken van Scikit-learn (Pedregosa
et al., 2011b). Scikit-learn is een open source Python pakket dat gebruik maakt van NumPy,
SciPy en matplotlib, en beschikt over talrijke toepassingen voor data-analyse.
6.1 Globale accuraatheid
In grafiek 6.1 staat de prestatie van de verschillende technieken getekend, uitgedrukt in de
MAPE. Hieruit blijkt dat de ES2 methode een gemiddeld project op een gemiddeld tijdstip in
27% van de gevallen fout classificeert. Als we dit vergelijken met de ML-technieken kunnen
we besluiten dat ES2 het minst nauwkeurig nieuwe projecten kan classificeren. De beste
ML-technieken zijn SVM, RF en logistische regressie die ongeveer 4% beter scoren dan ES2.
De prestatie van nearest neighbour blijft hangen op 24.6%. Met de SVM’s wordt een betere
prestatie gehaald (+0.7%) met een RBF kernel dan met een lineaire kernel. Ook leidt het
combineren van meerdere beslissingsbomen in RF tot betere prestaties (+3%) in vergelijking
met een individuele beslissingsboom. De MAPE van zowel SVM (p-waarde = 5.98.10−20)
als RF (p-waarde = 6.148.10−20) zijn significant verschillend van die van ES2 op het 5%
significantieniveau. SVM en RF zijn op hun beurt onderling niet significant verschillend van
elkaar (p = 0.1066), wat van beide evenwaardige technieken maakt. In de verdere bespreking
van de resultaten gaan we dan ook de discussie concentreren op de best presterende technieken
(SVM en RF) en benchmarken met de traditionele ES2 methode.
We kunnen zodoende onze eerste onderzoeksvraag beantwoorden:
76
6.1. GLOBALE ACCURAATHEID 77
Figuur 6.1: Globale prestatie van de technieken op basis van de MAPE.
ML-technieken, met in het bijzonder SVM en RF, slagen er op een nauwkeurigere
manier in het toekomstig verloop van projecten te classificeren als te vroeg, tijdig
of te laat.
6.1.1 Nauwkeurigheid in het voorspellen van specifieke klassen
Aan de hand van confusion matrices bestuderen we welke klassen moeilijker te voorspellen
zijn. Op basis van de cijfergegevens weergegeven in tabel 6.1 concluderen we dat klasse
twee (projecten die op tijd eindigen) het slechtst voorspeld is. We merken wel dat SVM beter
scoort dan RF en ES2, met een F1-score van 68% (respectievelijk 3% en 6% beter). We dienen
hier de opmerking te maken dat SVM beter scoort doordat hij meer klasse één observaties
herkent (hogere recall), maar dit gaat ten koste van een hoger aantal misclassificaties in de
klasse één observaties (lagere precision).
Klasse drie of de klasse met de te late projecten wordt door alle modellen het best herkend
met een zeer goede classificatie door SVM en RF met een F1-score van respectievelijk 92%
en 93% (8-9% beter dan ES2).
Voor klasse één (te vroege projecten) constateren we dat elke techniek deze klasse even goed
kan voorspellen met een betere prestatie door RF (+1% en +2% voor respectievelijk ES2 en
SVM). Een mogelijke verklaring waarom de voorspelling van klasse twee moeizaam verloopt
is de manier van classificeren. Klasse twee heeft namelijk een kleiner interval (zie sectie 4.3)
waardoor de kans om tot klasse twee te behoren automatisch veel kleiner is.
6.2. TIJDSVERLOOP 78
ES2 SVM RF
Precisie Recall F1 Precisie Recall F1 Precisie Recall F1
klasse 1 64.99% 80.71% 72.00% 67.21% 74.41% 70.63% 65.26% 82.02% 72.69%
klasse 2 71.29% 54.24% 61.61% 69.32% 66.99% 68.14% 73.14% 57.95% 64.66%
klasse 3 84.14% 83.90% 84.02% 95.81% 88.76% 92.15% 95.78% 91.08% 93.37%
Tabel 6.1: Confusion matrices met het aantal voorspelde en werkelijke observaties per klassen
in functie van de verschillende technieken. De rijen stellen de werkelijke klasse voor, de
kolommen de voorspelde klasse.
6.2 Tijdsverloop
Naarmate men het einde van het project nadert, is er meer informatie ter beschikking en
kunnen er ook minder gebeurtenissen optreden die het verloop van het project verstoren. Deze
logica vinden we ook terug in de resultaten van alle technieken. We nemen ter demonstratie
het tijdsverloop van de MAPE van de drie best presterende technieken en benchmarken deze
met de ES2 methode. De resultaten staan geplot in figuur 6.2. We merken op dat SVM en RF
het beste presteren met een ietwat betere prestatie voor RF ten opzichte van SVM met 2.6%
in de beginstadia van het project. Voor de latere fasen van het project presteert SVM beter
met een verbetering van 0.50% en 1.30% voor respectievelijk de middelste fasen en latere
fasen. Globaal genomen presteert RF 0.30% beter dan SVM. Als we de standaardafwijking,
weergegeven als het gevuld gebied rondom de lijnen, in achting nemen, kunnen we stellen dat
dit verschil in prestatie niet relevant is.
Vervolgens benchmarken we onze twee ML-technieken met ES2. Hierbij constateren we dat
SVM en RF voor de begin- en middelste fasen beter scoren met een verbetering van respec-
tievelijk 8.72% en 3.40% voor SVM en 11.36% en 2.93% voor RF. Rekening houdend met
de standaardafwijking kunnen we met veiligheid stellen dat tijdens deze eerste perioden ML-
technieken het wel degelijk beter doen. ES2 neemt echter de bovenhand voor de laatste fase
van het project, met een verbetering van respectievelijk 0.80% en 2.10% voor SVM en RF.
Op de figuur is het zichtbaar dat de zones rondom de grafieklijnen overlappen waardoor we
niet van een relevant verschil kunnen spreken. Globaal genomen presteren de ML-technieken
3.77% en 4.06% beter voor respectievelijk SVM en RF. De resultaten zijn nog eens samenge-
vat in tabel 6.2. Voor de andere ML-methoden vinden we een gelijkaardig verloop. Voor de
volledigheid is hiervan het verloop te vinden in appendix C, figuur C.2.
6.2. TIJDSVERLOOP 79
Figuur 6.2: Invloed van het tijdsverloop op basis van de MAPE voor de verschillende model-
len.
Met deze informatie beantwoorden we onze tweede onderzoeksvraag:
ML-technieken zijn gebaat met het ter beschikking hebben van meer informatie
in het begin van het project. Dit loont zich de eerste vijf tijdsperioden waar ±8%
meer nauwkeurigheid wordt behaald. In de latere fases is de nauwkeurigheid
echter gelijkwaardig tot ondergeschikt aan ES2.
Stage PC SVM RF
Vroeg 10-30 8.72% 11.36%
Midden 40-60 3.40% 2.93%
Einde 70-90 -0.81% -2.10%
Compleet 10-90 3.77% 4.06%
Tabel 6.2: Gemiddelde verbetering van de MAPE ten opzichte van ES2 voor drie verschillende
tijdsintervallen van een project.
6.3. STABILITEIT 80
6.3 Stabiliteit
De stabiliteit van de voorspellingen over de verschillende projectnetwerkstructuren heen is
variabel. Vanhoucke (2012) heeft in een vorig onderzoek reeds aangetoond dat in het geval
van projecten met meer simultane activiteiten de nauwkeurigheid lager ligt dan in projecten
met voornamelijk seriële activiteiten. Deze invloed observeren we ook in onze ML-technieken
(figuur 6.3), maar met een kleinere foutenmarge in vergelijking met EVM.
Figuur 6.3: Invloed van de SP-waarden op de MAPE voor de verschillende modellen.
Voor meer parallelle netwerkstructuren doen SVM’s het iets beter met 0.5% in vergelijking
met een RF. Rekening houdend met de standaardafwijking is dit echter niet relevant en zijn
beide methoden alweer gelijkwaardig. Ten opzichte van de traditionele EVM methode ES2
bekomen we een verbetering van 5.78% en 5.30% voor respectievelijk SVM en RF. Indien we
kijken naar meer seriële projecten, scoort RF het beste met een verbetering van 3.08% ten
opzichte van ES2. SVM haalt een verbetering van 2.16%. Globaal genomen scoren de ML-
technieken gemiddeld 3.77% en 4.06% beter voor respectievelijk SVM en RF. Ten opzichte
van de vorige testen bevat deze prestatiedimensie een hogere variabiliteit in de resultaten.
Dit is visueel zichtbaar gemaakt met de gekleurde band rondom de punten in figuur 6.3.
Derhalve moet de interpretatie met grotere zorg gebeuren. De resultaten zijn samengevat in
tabel 6.3.
6.4. VARIABILITEIT 81
Onze derde onderzoeksvraag is hiermee beantwoord:
De nauwkeurigheid van ML-technieken om het toekomstig tijdsverloop van pro-
jecten te classificeren daalt naarmate een project meer parallel wordt wegens ver-
keerde waarschuwingssignalen afkomstig van de niet-kritische activiteiten. Met
enige voorzichtigheid stellen we dat SVM en RF meer nauwkeurige voorspellin-
gen maken voor parallelle projecten dan ES2.
SP SVM RF
10-40 5.78% 5.30%
50-90 2.16% 3.08%
10-90 3.77% 4.06%
Tabel 6.3: De gemiddelde verbetering van de MAPE ten opzichte van ES2 voor drie verschil-
lende SP-intervallen van een project. Hogere getallen duiden een hoger negatief verschil aan
ten opzichte van de MAPE van ES2.
6.4 Variabiliteit
Om te weten te komen in welke mate de verschillende voorspellingstechnieken kunnen omgaan
met toenemende graden van variabiliteit, hebben we de testobservaties nogmaals gesimuleerd
onder een bètadistributie. We hebben in dit geval andere onder- en bovengrenzen gehanteerd.
Deze staan weergegeven in tabel 6.4. De grenzen zijn zodanig gekozen dat ze met toenemende
scenario’s een grotere variabiliteit introduceren. Vanaf scenario drie schuilt er meer risico in
de bovengrens, waardoor de kans op latere activiteiten groter wordt dan vroegere activiteiten.
Scenario a b
1 0.8 1.2
2 0.5 1.5
3 0.25 2.875
4 0.1 10
Tabel 6.4: Onder- en bovengrenzen van de bètadistributie van de verschillende scenario’s.
6.4. VARIABILITEIT 82
We merken in figuur 6.4 op dat bij een stijgend risico de MAPE, en dus de fout, toeneemt.
Enkel bij scenario vier stellen we een daling vast. Dit valt te verklaren door de aard van de
distributie onderliggend aan dit scenario: de staart van de verdeling ligt naar rechts waardoor
late activiteiten veel vaker voorkomen dan vroege. De SPI en andere prestatiemaatstaven
zullen dus al vroeg in het project lage waarden aannemen waardoor het laat komen van een
project veel reëler is.
Als we de technieken onderling vergelijken, noteren we dat SVM en RF terug de betere tech-
nieken zijn voor de meeste scenario’s. Wat wel opvalt is dat ES2 de beste voorspellingskracht
heeft voor scenario drie, dat gekenmerkt is door een gemiddeld hoge variabiliteit. RF scoort
over alle scenario’s gemiddeld 0.3% beter dan SVM. Voor de lagere variabiliteit (scenario één
en twee) scoort SVM beter met respectievelijk 0.42% en 2.48% ten opzichte van RF. Voor
scenario drie en vier is het omgekeerde waar, met een betere prestatie van respectievelijk
2.07% en 1.98% ten opzichte van SVM. Als we vervolgens de ML-modellen benchmarken
met ES2 merken we betere prestaties van 6.70% en 6.27% voor respectievelijk SVM en RF
voor scenario één, 4.94% en 2.46% voor scenario twee, -7.18% en -5.11% voor scenario drie
en 7.80% en 9.78% voor scenario vier. Als we de prestatie evalueren over de vier scenario’s
samen presteert EVM 3.07% en 3.35% slechter dan respectievelijk SVM en RF. De globale
verbetering en de verbetering per scenario is weergegeven in tabel 6.5.
Met deze informatie kunnen we onze vierde onderzoeksvraag afsluiten:
De nauwkeurigheid van ML-technieken om het toekomstig tijdsverloop van pro-
jecten te classificeren daalt naarmate de tijdsduur van de activiteiten meer volatiel
worden.
PC SVM RF
Scenario 1 6.70% 6.27%
Scenario 2 4.94% 2.46%
Scenario 3 -7.18% -5.11%
Scenario 4 7.80% 9.78%
Scenario 1-4 3.07% 3.35%
Tabel 6.5: Gemiddelde verbetering van de MAPE van de voorspellingstechnieken voor vier
verschillende risicoscenario’s van een project.
6.4. VARIABILITEIT 83
Figuur 6.4: Invloed van de vier risicoscenario’s op de MAPE voor de verschillende modellen.
Hoofdstuk 7
Relevantiedetectie van de
ingangsvariabelen
In dit onderdeel gaan we na welke ingangsvariabelen het meest relevant zijn bij het bepalen
van de categorie waarin een project thuishoort.
7.1 Relevantie van de dynamische variabelen
Op elk moment dat de prestatie van het project wordt opgemeten, heeft het model nieuwe
informatie ter beschikking. Zo krijgt het een update over AC, EV, PF, p-factor, SPI, SPI(t),
CPI, ES en SCI. In ons onderzoek is het op twee manieren mogelijk om de relevantie van deze
informatie na te gaan. De eerste methode bestaat uit L1-regularisatie en de tweede methode
haalt zijn informatie uit de knooppunten van de beslissingsbomen.
L1-regularisatie
Indien we bij lineaire modellen de L1-regularisatieterm gebruiken worden vele coëfficiënten
van het model op nul gezet (Ng, 2013). Hierdoor blijven enkel de meest relevante variabelen in
het model over. We geven bij onze analyse dus enkel aan of de variabelen al dan niet relevant
zijn en doen geen uitspraak over de grote van een mogelijke invloed. Aangezien we een
één-tegen-allen classificatie toepassen, hebben we per y-categorie een model met bijhorende
variabelen. We halen drie bevindingen uit dit experiment:
1. Naarmate het project vordert, worden er minder variabelen gebruikt om de gegevens
te scheiden. Dit impliceert dat de beslissingskracht van een aantal specifieke variabelen
84
7.2. RELEVANTIE VAN PROJECTNETWERKINFORMATIE 85
stijgt naarmate we verder gaan in de tijd. Dit is een logisch gevolg van het naderen van
het einde van het project.
2. De meest gebruikte variabelen zijn de p-factor en SPI(t).
3. Er is geen noemenswaardig verschil in het gebruik van dynamische projectinformatie
in het bepalen van de drie verschillende klassen. Zo gebruikt het SVM model voor alle
drie de klassen te voorspellen even vaak de SPI(t) en p-factor.
Voor de lezer zijn hiervan figuren verschaft in appendix D.
Random forests
De relatieve diepte van een verklarende variabele in een beslissingsboom kan gebruikt worden
als proxy voor de belangrijkheid (Pedregosa et al. (2011a)). Zo zijn variabelen die bovenaan de
boom gebruikt worden belangrijker aangezien meer observaties dat beslissingspunt moeten
voorbijgaan. Bij random forests zijn er meerdere bomen en kan men dus het gemiddelde
nemen van het aantal observaties die de knoop, met een bepaalde verklarende variabele in,
passeren. In tegenstelling tot L1-regularisatie doen we in dit gedeelte wel een uitspraak over
de mate van relevantie. Op deze manier leiden we uit figuur 7.1 af dat SPI(t) bij quasi
ieder tijdsmoment de meest belangrijke variabele is. De p-factor speelt in de eerste twee
tijdsperioden een rol in het bepalen van de classificatie, maar neemt nadien af in belang. SPI
en SCI zijn ook bepalende maatstaven doorheen de tijd, doch niet zo belangrijk als SPI(t).
De invloed van de andere variabelen is van kleiner belang.
Het besluit dat we hier trekken is dat het ES concept van Lipke (2003) en het opstellen van
bijhorende SPI(t) volgens RF en L1-regularisatie nuttiger is geweest dan EV en SPI in het
bepalen van het toekomstig verloop van het project.
7.2 Relevantie van projectnetwerkinformatie
We kunnen de techniek van bovenstaand deel 7.1 ook toepassen op de variabelen die infor-
matie bevatten over het projectnetwerkstructuur: AD, TF, LA en SP. Zo komen we te weten
of het toevoegen van deze informatie al dan niet nuttig is. We voegen ook het totaal budget
BAC en PD toe aan de analyse.
7.2. RELEVANTIE VAN PROJECTNETWERKINFORMATIE 86
Figuur 7.1: De invloed van de prestatie-indicatoren bij het maken van de classificatiebeslissing
bij RF in de tijd.
L1-regularisatie
Bij het gebruik van L1-regularisatie kijken we enkel naar de periodes voorbij 50PC aangezien
voor deze periode quasi iedere variabele wordt opgenomen, zoals uitgelegd in bovenstaande
sectie en zichtbaar in de figuren in appendix D. Tabel 7.1 duidt aan welke topologische
indicatoren gebruikt worden bij het bepalen van elke categorie.
Klasse LA TF SP AD
1 X X X
2 X
3 X X
Tabel 7.1: Gebruikte topologische indicatoren volgens L1-regularisatie voor het voorspellen
van het toekomstig projectverloop.
We zien in deze tabel dat voornamelijk de LA en TF voorspellingskracht bevatten. Dit
impliceert dat de mate waarin verschillende activiteiten aan elkaar verbonden zijn en de
vrijheidsgraad een betekenis kan hebben in het bepalen of het project op tijd zal afgerond
worden.
7.3. BELANG VAN HET VERLEDEN 87
Random forests
Indien we kijken naar het voorkomen van de variabelen in de beslissingsbomen opgesteld door
het random forest model, dan zien we in figuur 7.2 dat SP en AD enkel in de eerste periode een
invloed hebben van 4%. Na deze periode valt de beslissingskracht van deze variabelen terug
naar 1% zoals de andere statische variabelen. BAC en PD reduceren gemiddeld genomen de
onzuiverheid met 1% dan de netwerkinformatie. Hieruit concluderen we dat de invloed van de
statische variabelen een veel lagere bepalende rol spelen in vergelijking met de voorspellende
variabelen.
Figuur 7.2: De invloed van statische projectinformatie bij het maken van de classificatiebe-
slissing bij RF in de tijd.
7.3 Belang van het verleden
Eén van de argumenten die we hebben aangehaald waarom ML modellen beter presteren, is
de aanwezigheid van informatie uit het verleden van een project. In dit gedeelte controleren
we dan ook in welke mate dit werkelijk zo is door de evolutie van het belang van een meetpunt
in het verleden uit te plotten in de tijd. Zo nemen we bijvoorbeeld SPI(t=10) en kijken we in
welke mate die nog mee de classificatie bepaalt in latere tijdsmodellen. We bespreken enkel
SPI(t) aangezien deze voor de RF het meest determinerend was voor het bepalen van de
classificatie.
7.3. BELANG VAN HET VERLEDEN 88
Figuur 7.3 toont het afnemend belang aan van het historische verloop van SPI(t). Enkel
de vorige periode zorgt gemiddeld genomen nog voor onzuiverheidsreductie met ongeveer de
helft van de vorige periode. Zo heeft bijvoorbeeld SPI(t=10) een invloed van 12% in periode
10PC. In de volgende periode, namelijk 20PC, is deze gereduceerd naar 5%. Voor de latere
perioden zakt het belang naar 1%. Dit patroon herhaalt zich voor iedere tijdsperiode PC.
Ter conclusie stellen we dat de informatie uit de vorige periode wel degelijk gebruikt wordt
door RF om beslissingen te maken, wat het nuttig maakt om informatie uit het verleden toe
te voegen.
Figuur 7.3: De invloed van dynamische projectinformatie uit het verleden bij het maken van
de classificatiebeslissing bij RF in de tijd.
Hoofdstuk 8
Sensitiviteitsanalyse van de dataset
In dit hoofdstuk bespreken we de invloed van verschillende settings van onze onderzoeksopzet.
In sectie 8.1 wordt de invloed nagegaan indien we projecten classificeren volgens vier klassen
in plaats van drie. In sectie 8.2 bespreken we vervolgens de impact indien we werken met
gestratificeerde data in de trainingsset in plaats van een gelijk aantal observaties per klasse.
Omdat niet alle gegenereerde informatie wordt opgenomen in onze modellen, bespreken we
in sectie 8.3 de verandering in de prestatie van de modellen indien gewerkt wordt met minder
observaties. Als laatste onderzoeken we in sectie 8.4 de impact van een grotere variabiliteit
door meer distributies op te leggen bij de simulatie van de projecten.
8.1 De invloed van vier voorspellingsklassen
Het kan nuttig zijn de voorspellingswaarde van een classificatieopdracht te verfijnen door een
klasse toe te voegen. Om deze reden nuanceren wij klasse C3, die projecten weergeeft die te
laat eindigen. Van zodra een project meer dan het dubbele te laat is dan vooraf bepaald,
categoriseren wij dit project in klasse C4. Samengevat geeft dit volgende structuur van de
klassen:
• Klasse 1 - te vroeg: Yt > 1.05
• Klasse 2 - op tijd: 0.95 < Yt < 1.05
• Klasse 3 - te laat: 0.50 < Yt < 0.95
• Klasse 4 - veel te laat: Yt < 0.50
89
8.1. DE INVLOED VAN VIER VOORSPELLINGSKLASSEN 90
8.1.1 Globale accuraatheid bij het voorspellen van vier klassen
Als we de globale accuraatheid voor vier klassen nagaan (figuur 8.1) merken we op dat RF en
SVM nog steeds de twee best scorende ML-technieken zijn. Wat wel opvalt is dat ES2 hier de
prestatie van ML benadert, of zelfs beter doet dan bijvoorbeeld logistische regressie, lineaire
SVM en Nearest Neighbour. Als we dieper inzoomen op de twee beste technieken merken we
een gelijke prestatie op van ES2 en SVM met een MAPE van 36.3%. RF scoort lichtjes beter
met een MAPE van 36%. Het is eigenaardig dat ML bij de classificatie van vier klassen een
daling van de prestatie met 13% voor zowel SVM als RF kent. Dit kan liggen aan het feit
dat men voor vier klassen beter overschakelt naar regressietaken in plaats van classificatie.
Als we de confusion matrix van bijvoorbeeld RF analyseren (figuur 8.2) merken we op dat RF
heel moeilijk klasse 3 kan voorspellen en veel van de observaties in klasse 4 steekt. Ditzelfde
fenomeen merken we ook bij SVM. Als we vervolgens de confusion matrix van ES2 analyseren
(figuur 8.3) merken we op dat EVM veel minder fouten maakt in deze klasse 3, wat leidt tot
de betere/gelijke prestatie ten opzichte van de ML-technieken. We kunnen dus stellen dat
de klassen 1 en 2, projecten die te vroeg en op tijd eindigen, beter voorspeld worden door
de ML technieken. Indien we echter bij de te late projecten, klasse 3 en 4, een nuance willen
aanbrengen in de zin van ’te laat zijn’ en ’veel te laat zijn’, wordt ES2 geprefereerd aangezien
de bestudeerde ML technieken vaak een klasse 3 project als klasse 4 indelen.
Figuur 8.1: Globale prestatie van de technieken op basis van de MAPE voor de classificatie
van vier klassen
8.1. DE INVLOED VAN VIER VOORSPELLINGSKLASSEN 91
Figuur 8.2: Confusion matrix van RF. Figuur 8.3: Confusion matrix van ES2.
8.1.2 Tijdsverloop bij het classificeren van vier klassen
Als we vervolgens het tijdsverloop van de beste technieken bekijken (figuur 8.4) merken we een
goede prestatie op van de ML-technieken in de vroegtijdige fase van het project. RF is voor
dit tijdsinterval de beste techniek met een MAPE van 43.52% en scoort hiermee 1.7% beter
dan SVM en 8.23% ten opzichte van ES2. Voor de latere tijdsperioden merken we een sterke
dominantie op in de classificatiekracht van ES2 met een lichtjes betere prestatie van 1.14%
en 1.17% voor de middelste fase voor respectievelijk SVM en RF. Voor de eindfase presteert
ES2 nog beter met 5.29% en 6.13% voor respectievelijk SVM en RF. Deze verbetering kan
ook hier verklaard worden door het beter herkennen van klasse drie observaties door ES2,
voornamelijk in de latere fasen. De resultaten zijn samengevat in 8.1. Globaal genomen
scoren de ML-technieken 13% slechter in vergelijking met het drieklassen probleem. ES2 kent
een daling van 9%.
PC SVM RF
PC 10-30 6.51% 8.23%
PC 40-60 -1.14% -1.17%
PC 70-90 -5.29% -6.13%
PC 10-90 0.03% 0.31%
Tabel 8.1: Gemiddelde verbetering van de MAPE ten opzichte van ES2 voor drie verschillende
tijdsintervallen van een project in het vier klassen classificatieprobleem.
8.1. DE INVLOED VAN VIER VOORSPELLINGSKLASSEN 92
Figuur 8.4: Invloed van het tijdsverloop op basis van de MAPE voor de verschillende modellen
voor de classificatie van vier klassen.
8.1.3 Stabiliteit bij het classificeren onder vier klassen
Het toevoegen van een extra vierde klasse heeft ook invloed op de stabiliteit van de voorspel-
ling. Zo merken we ten opzichte van de classificatie onder drie klassen een globale prestatie-
vermindering op van 10-15%. Ook ES2 daalt met 13%. Wat opvalt is dat ML beter blijft
presteren (3%) voor meer parallelle netwerken. Dit is conform met de studie van Vanhoucke
& Vandevoorde (2007) die aangetoond hebben dat EVM slecht parallelle netwerkstructuren
kan voorspellen. Voor de meer seriële netwerken scoort ES2 wel beter dan ML met een ver-
betering van 3.06% en 1.81% ten opzichte van respectievelijk SVM en RF. De resultaten zijn
samengevat in figuur 8.5 en in tabel 8.2.
8.1.4 Variabiliteit bij het classificeren van vier klassen
Als we de foutenmarges over de vier risicoscenario’s bekijken bij het classificeren onder vier
klassen merken we op dat de prestatie voor de eerste drie scenario’s nagenoeg constant is
gebleven. Voor het vierde scenario is er dan wel weer een sterke stijging in de MAPE met 25-
35%. Dit is mogelijk te wijten aan het feit dat in het geval van drie klassen alle observaties in
het extreme scenario (scenario 4) onder klasse 3 vielen. Nu liggen de observaties van scenario
8.1. DE INVLOED VAN VIER VOORSPELLINGSKLASSEN 93
Figuur 8.5: Invloed van de SP-waarden op de MAPE voor de verschillende modellen voor de
classificatie van vier klassen.
PC SVM RF
SP 10-40 3.01% 2.96%
SP 50-90 -3.06% -1.81%
SP 10-90 0.03% 0.31%
Tabel 8.2: Gemiddelde verbetering van de MAPE ten opzichte van ES2 voor drie verschillende
SP-intervallen van een project. Hogere getallen duiden een hoger negatief verschil aan ten
opzichte van de MAPE van ES2.
4 echter verspreid over twee mogelijke klassen en is de scheiding niet altijd even duidelijk.
Als we de prestatie per scenario bekijken (figuur 8.6) merken we voor de eerste scenario’s
(projecten die te vroeg en op tijd eindigen) een sterke dominantie van ML met een betere
prestatie ten opzichte van ES2 met 6.06% en 5.82% voor respectievelijk SVM en RF voor
scenario 1. Voor scenario 2 is dit een verbetering van 4.13% en 2.47% voor respectievelijk
SVM en RF. Als we vervolgens scenario 3 analyseren valt de goede prestatie van ES2 op (3.91%
beter dan SVM), maar presteert RF nog steeds lichtjes beter met 0.50%. Voor scenario 4 heeft
8.1. DE INVLOED VAN VIER VOORSPELLINGSKLASSEN 94
ES2 dan weer een terugval met een betere prestatie van 7.02% en 0.98% voor respectievelijk
SVM en RF.
Globaal genomen presteert SVM het best met een MAPE van 30.30% ten opzichte van 31.19%
voor RF en 33.63% voor ES2. De resultaten staan samengevat in tabel 8.3.
PC SVM RF
Scenario 1 6.06% 5.82%
Scenario 2 4.13% 2.47%
Scenario 3 -3.91% 0.49%
Scenario 4 7.02% 0.98%
Scenario 1-4 3.33% 2.44%
Tabel 8.3: Gemiddelde verbetering van de MAPE ten opzichte van ES2 van de voorspellings-
technieken voor vier verschillende risicoscenario’s van een project.
Figuur 8.6: Invloed van de vier risicoscenario’s op de MAPE voor de verschillende modellen
bij het classificeren van vier klassen.
8.2. GESTRATIFICEERDE DATA IN PLAATS VAN GELIJK VERDEELDE DATA 95
8.2 Gestratificeerde data in plaats van gelijk verdeelde data
Door te werken met artificieel gegenereerde data zijn we in staat de dataset zodanig te
manipuleren dat iedere klasse en SP-factor evenveel vertegenwoordigd is in de dataset. In
de realiteit is dit echter niet mogelijk; het is duidelijk dat een organisatie niet exact 33%
projectuitvoeringen gaat hebben van zowel te vroege, tijdige als te late projecten. Vanwege
deze reden gaan we in deze sectie de invloed na van de data gestratificeerd te trekken uit
de dataset en dit toe te passen op de classificatie onder drie klassen. Specifiek betekent
dit de overgang gedemonstreerd in tabel 8.4: het leeralgoritme krijgt nu de observaties uit
de rechterkolom gepresenteerd. Het zal bijgevolg veel minder observaties van klasse 1, wat
overeenkomt met te vroege projecten, te zien krijgen en daar minder uit kunnen leren.
Klasse Gelijk vertegenwoordigd Gestratificeerd
Klasse 1 33.33% 10%
Klasse 2 33.33% 30%
Klasse 3 33.33% 60%
Tabel 8.4: Verdeling van de klassen in de trainingsset.
Uit de resultaten in figuur 8.7 valt op te merken dat de ML-modellen moeilijk kunnen omgaan
met deze ongelijke verdeling in de klassen, en dit in tegenstelling tot ES2. Met een MAPE
van 27% doet ES2 het 4% beter dan SVM (30.90%) en RF (30.60%). Als we de resultaten van
deze modellen vervolgens vergelijken met de prestatie onder gelijk verdeelde klassen presteren
SVM en RF 7% slechter. Onze ML-modellen zijn dus minder robuust en zijn sterk afhankelijk
van wat ze aanleren in de trainingsfase.
Een mogelijke verklaring is dat de ML-modellen getraind zijn op een ongelijke verdeling
van de observaties per klasse en deze kennis heeft opgenomen in het model. Er wordt dus
verwacht dat de nieuwe testobservaties een aandeel van 10% voor bijvoorbeeld klasse 1 zal
hebben. Dit is onder de huidige testopzet echter niet het geval met slechts een aandeel
van 33.33% voor klasse 1. Als we de confusion matrix van de RF in figuur 8.9 analyseren
merken we inderdaad op dat de ML-modellen minder observaties van klasse 1 verwachten en
veel van deze observaties foutief onder klasse 2 onderverdelen. ES2 daarentegen maakt deze
classficatiefout niet (figuur 8.8), wat logisch is aangezien deze methodiek statisch is en nooit
de onderliggende trainingsdata heeft gezien.
8.3. INVLOED VAN DE HOEVEELHEID DATA IN DE TRAININGSSET 96
Figuur 8.7: Prestatie van de voorspellingsmodellen met betrekking tot gestratificeerde test-
data.
De conclusie luidt als volgt:
ML-modellen presteren beter als de observatieruimte van de testset exact overeen
komt met de trainingset waaronder de modellen zijn opgesteld. Indien de ML-
modellen worden blootgesteld aan vertekende testdata mis-classificeren ze nieuwe
testobservaties op basis van wat ze geleerd hebben in de trainingsfase. Dit maakt
ML-modellen minder robuust dan ES2.
8.3 Invloed van de hoeveelheid data in de trainingsset
De hoofdresultaten van dit afstudeerwerk werden bekomen door een trainingsset van 13.000
observaties te gebruiken. Zoals vermeld in 4.2 hebben we desalniettemin 180.000 projectsi-
mulaties gereserveerd voor deze trainingsopdracht. De voornaamste reden om deze grote set
te reduceren ligt in de berekenbaarheid van sommige complexe algoritmen. Zo valt een RBF
kernel onder zo een groot aantal observaties niet meer praktisch uit te rekenen.
Om te weten te komen of deze substantiële reductie in het aantal trainingsobservaties een
significante invloed heeft op de kwaliteit van de modelparameters, hanteren we een opzet met
een variërend aantal trainingspunten. We reduceren het aantal observaties tot de helft van
het huidig aantal gebruikte datapunten, namelijk tot 6.750 datapunten. Verwacht wordt dat
hierdoor de prestatie zal verminderen. In de volgende stap reduceren we dit aantal observaties
nog eens tot 1.300 trainingsobservaties, wat overeenkomt met 10% van het initieel totaal
aantal gebruikte observaties. Voor alle duidelijkheid vermelden we andermaal dat iedere
8.3. INVLOED VAN DE HOEVEELHEID DATA IN DE TRAININGSSET 97
Figuur 8.8: Confusion matrix van ES2.
Figuur 8.9: Confusion matrix van een RF ge-
traind met gestratificeerde data. Het model
verwacht weinig observaties van klasse 1.
klasse en iedere SP-factor gelijk aanwezig is in iedere dataset om het mogelijke neveneffect
hiervan te neutraliseren.
MAPE SVM RF
# Observaties Gemiddelde Stdev Gemiddelde Stdev
1.300 23,91% 0,0163 23,48% 0,0174
6.750 23,17% 0,0164 23,14% 0,0162
13.000 22,87% 0,0159 22,98% 0,0163
Tabel 8.5: MAPE van SVM en RF onder een variërende grootte van trainingsset.
De resultaten, gegeven in tabel 8.5, duiden aan dat het gebruik van minder trainingsgegevens
leidt tot een lagere accuraatheid in het classificeren van de projecten uit de testset. Voor RF
stijgt de MAPE met een halve procent, voor de SVM met één procent. Rekening houdend
met de standaardafwijking die gemiddeld genomen rond 0.016 ligt, is het effect van minder
gegevens in termen van globale accuraatheid marginaal.
In bovenstaand experiment is het gebruik van gegevens enkel gereduceerd en niet verhoogd.
De motivering hiervan ligt in de berekenbaarheid: de SVM met RBF kernel trainen duurt
onder 13.000 observaties afgerond 48 uur. Een verdubbeling van het aantal observaties valt
niet meer uit te rekenen aangezien een SVM een complexiteit1 heeft tussen O(nvariabelen ×1De complexiteit is een maatstaf voor hoeveel elementaire bewerkingen nodig zijn voor het algoritme uit
8.4. HET EFFECT VAN MEERDERE DISTRIBUTIES IN DE TESTOBSERVATIES 98
n2observaties) en O(nvariabelen × n3
observaties) (Pedregosa et al., 2011a). Andere algoritmen, zoals
lineaire SVM’s of logistische regressie hebben een lagere complexiteit en zijn dus wel uit-
voerbaar met zoveel observaties. Indien we deze methoden trainen op de maximum hoeveel-
heid observaties, zien we een verbetering voor logistische regressie van 0.4% en voor lineaire
SVM’s 0.77%. Dit is een relatief lage verbetering ten opzichte van de stijging in het aantal
trainingsobservaties. Het kan bijgevolg in vraag gesteld worden of deze marginale verbetering
het rekenwerk waard is. In toekomstig onderzoek kan nagegaan worden of dezelfde besluiten
gelden op SVM en RF.
8.4 Het effect van meerdere distributies in de testobservaties
De dynamische projectinformatie waarop de ML-modellen getraind zijn, werd bekomen door
projecten onder vier distributies te simuleren. In sectie 6.4 is dan ook besproken hoe accuraat
deze modellen kunnen omgaan met variabiliteit indien de distributies licht verschillend zijn.
Omdat we a priori niet met zekerheid een distributie kunnen toewijzen aan de activiteiten,
simuleren we in deze sectie de testset opnieuw met een groter aantal distributies. Dit leidt tot
de opzet gegeven in de tabellen boven de figuren van 8.10 tot 8.12. Hierin worden projecten
expliciet gesimuleerd om eens vroeg en eens laat te eindigen. Dit wordt bereikt door enkel
de ondergrens ofwel enkel de bovengrens geleidelijk aan te verschuiven. Als derde situatie
duwen we ook beide grenzen gradueel uit elkaar. In de volgende paragrafen bespreken we per
simulatiecategorie, i.e. vroeg, laat en turbulentie, eerst de karakteristieken van de simulatie
en nadien de resultaten in volgende paragrafen.
De simulatieprofielen gebruikt om vroege projecten te genereren wordt tussen situatie twee
en vier op de grafiek 8.10 gekenmerkt door de grootste onzekerheid. Dit komt omdat de
verhouding te vroege op te late projecten voor situatie twee, drie, vier respectievelijk 5050 , 60
40 ,9010
is. Voor de verdere situaties vijf tot negen wordt er voor 99% te vroege projecten gegenereerd
en hoort dit duidelijk te zijn in de EVM-kengetallen. Indien we de voorspellingsmethoden
deze simulaties laten voorspellen, observeren we dat de MAPE eerst stijgt om dan gradueel
te dalen. Vanaf situatie 6, waarbij de ondergrens a gelijk is aan 0.4, zorgt de distributie er
expliciet genoeg voor dat dit scenario voornamelijk te vroege projecten (y=0) gaat afleveren.
De reden voor dit verloop is zoals net uitgelegd: situatie twee, drie en vier kennen de grootste
onzekerheid. Als we de technieken onderling vergelijken zien we dat ES2 domineert boven de
ML technieken. Over de hele lijn scoort ES2 3.10% beter dan de ML-modellen. De eerste
te voeren.
8.4. HET EFFECT VAN MEERDERE DISTRIBUTIES IN DE TESTOBSERVATIES 99
Vroeg
Situatie 1 2 3 4 5 6 7 8 9
a 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1
b 1 1 1 1 1 1 1 1 1
Figuur 8.10: MAPE voor de verschillende voorspellingstechnieken bij simulaties die voorna-
melijk vroege projecten genereren.
oorzaak hiervan ligt in de lagere F1-score van klasse één voor SVM en RF ten opzichte van ES2
(zie ook tabel 6.1). De tweede reden is de afwezigheid van een distributie in de trainingsset
die expliciet voor te vroege projecten zorgt zoals in de testsimulaties.
Bij de tweede categorie simulatieprofielen wordt de bovengrens gradueel omhoog getrokken
en de ondergrens gefixeerd. Hierbij zorgen situaties één tot drie voor 90% projecten uit klasse
één, situaties vier tot zes voor een gelijke verhouding van beide klassen en situaties zeven
tot negen voor 90% klasse twee. De voorspellingstechnieken kennen alle drie vooreerst een
stijgende MAPE om dan nadien te dalen. Net zoals de simulatieprofielen voor de vroege
scenario’s stellen we vast dat ES2 het beter doet dan de ML technieken, namelijk 11,78%
meer correcte classificaties. Dezelfde redenen die de in vorige paragraaf besproken zijn, zijn
van toepassing: er waren in de trainingsset geen observaties gesimuleerd gelijkaardig aan die
van deze testset.
Als we de prestatie meten op simulaties uitgevoerd met de derde categorie, die zowel late als
vroege projecten genereert, domineren de ML technieken met een gemiddelde MAPE verbe-
tering van 3.87%. De hoofdoorzaak ligt in het feit dat trainings- en testset beide distributies
bevatten die gelijkaardig zijn: de variabiliteit wordt zowel aan de late als aan de vroege kant
uitgevoerd.
8.4. HET EFFECT VAN MEERDERE DISTRIBUTIES IN DE TESTOBSERVATIES 100
Laat
Situatie 1 2 3 4 5 6 7 8 9
a 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9
b 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9
Figuur 8.11: MAPE voor de verschillende voorspellingstechnieken bij simulaties die voorna-
melijk late projecten genereren.
De conclusies die we uit dit experiment kunnen trekken zijn beperkt aangezien de gebruikte
trainingsset een beperkt aantal distributies bevat. Zo kunnen we niet besluiten dat de ES2
voorspellingsmethode in omgevingen waar projecten expliciet vroeg of laat eindigen, beter
functioneert. Er valt wel te besluiten dat ML-methoden gevoelig zijn aan de gehanteerde
distributies in de trainingsobservaties. Indien deze verdelingen representatief zijn voor de
testset, zijn ML meer nauwkeurig in termen van MAPE. Men kan dit onderzoeken door een
grote hoeveelheid aan statistische verdelingen op te leggen op de duurtijd van activiteiten in
de trainingsset. Indien dit aantal divers en groot genoeg is, vermoeden we dat de ML modellen
patronen zullen herkennen in ongeziene data en beter zullen presteren dan modellen getraind
op minder diverse data. Dit is echter niet onderzocht in dit afstudeerwerk wegens de beperkte
rekenkracht.
8.4. HET EFFECT VAN MEERDERE DISTRIBUTIES IN DE TESTOBSERVATIES 101
Variabiliteit
Situatie 1 2 3 4 5 6 7 8 9
a 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1
b 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9
Figuur 8.12: MAPE voor de verschillende voorspellingstechnieken bij simulaties die voorna-
melijk zowel vroege als late projecten genereren.
Deel IV
Finale reflecties
102
Hoofdstuk 9
Conclusie
De einddatum van een project voorspellen is een moeilijke taak. De tijdsduur van de ac-
tiviteiten zijn met onzekerheid geschat, activiteiten verlopen door elkaar en communicatie-
beperkingen zaaien verwarring en vergissing. Gelukkig heeft de projectmanager de Earned
Value Management methode ter beschikking. Deze methodiek voorziet kengetallen, presta-
tiemaatstaven en voorspellingsmethoden op basis van informatie geëxtraheerd op een hoger
werkpakket-niveau. Hierdoor wordt de opvolging, bijsturing en communicatie sterk gefaci-
liteerd. Deze vereenvoudiging komt echter aan een prijs: de informatie op het niveau van
de activiteiten gaat verloren. Vorig onderzoek bevestigt deze tekortkomingen: prestatieme-
tingen zijn enkel in monetaire waarden, niet-kritische activiteiten vertekenen in parallelle
netwerkstructuren de EVM-kengetallen, er ontbreekt informatie in het begin van het project
en de voorspellingen vereisen subjectieve - en mogelijk tegenstrijdige visies over het toe-
komstig productiviteitsniveau. Deze kwalen hebben geleid tot waardevolle concepten zoals
Earned Schedule, de p-factor en de bijhorende voorspellingen. Er komt echter een eind aan
het opnieuw verwerken van EV-gegevens. Vanwege deze reden hanteren wij in dit afstudeer-
werk een andere voorspellingsmethodiek: we gebruiken de EVM-getallen en maatstaven in
predictietechnieken afkomstig uit het Machinaal Leren. Deze modellen zijn in staat extra
projectinformatie op te nemen, zowel uit het verleden als het verloop van de vorige uitge-
voerde projecten. We bevinden dat twee populaire classificatietechnieken, Support Vector
Machines en Random Forests, de traditionele EVM-voorspellingsmethoden overheersen in
termen van nauwkeurigheid. Vooral in de eerste stages van het project, waar 8% tot 11%
correcter wordt voorspeld, merken we het profijt van extra informatie op te nemen. Ook voor
parallel-verlopende projecten nemen we lichte verbeteringen tot 6% waar, doch tegen een ho-
gere variabiliteit. Deze verbetering komt evenwel aan een prijs: er zijn gegevens nodig voor
103
104
de modellen zodat ze patronen leren herkennen. Deze gegevens dienen met voorzichtigheid te
worden geconstrueerd. Zo constateren wij dat (1) iedere klasse even vaak moet voorkomen,
(2) er voldoende simulatiedistributies - of reële projectexecuties aanwezig moeten zijn en (3)
een meer genuanceerde uitspraak over de finale tijdsduur, regressietechnieken vergt.
Als slotbeschouwing stellen we dat ML-technieken niet raken aan de integriteit en filosofie
van EVM: keep it simple. Dezelfde informatie wordt gebruikt, maar dan op een efficiëntere
en meer volledige wijze. Het is een hulpmiddel en een noodzakelijke transformatie in deze
eeuw waarbij het beheren en analyseren van grote pakketten informatie centraal staan in het
leveren van succesvolle projecten.
Hoofdstuk 10
Verder onderzoek
In dit onderzoek hebben we reeds de mogelijkheden van ML aangetoond en een eerste stap
gezet in het beter voorspellen van de finale tijdsduur van projecten. Deze nieuwe kijk op
tijdsvoorspelling binnen EVM biedt echter meer mogelijkheden.
Zo kunnen de classificatietaken door de ML-modellen aangepast worden naar regressieta-
ken die de projectuitkomst kwantificeren. Ook willen we aanhalen dat de verzameling ML-
modellen die we in dit onderzoek gebruikt hebben niet exhaustief is. Zo kunnen bijvoorbeeld
neurale netwerken, Gaussiaanse processen en andere technieken ingezet worden om de pro-
jectuitkomst te voorspellen.
Verder zijn de kosten van de activiteiten als lineaire functie van de tijd verondersteld, wat
uiteraard in de werkelijkheid niet het geval is. Toekomstig onderzoek kan dan ook bestuderen
hoe ML-technieken informatie uit de EVM-kengetallen distilleren om het finale kostenplaatje
te voorspellen.
Een andere mogelijke uitbreiding is het toevoegen van meer variabelen aangezien modellen
zoals RF en SVM goed kunnen omgaan met een grote verzameling variabelen. Het combineren
van EVM met bijvoorbeeld de sensitiviteitsparameters uit Scheduled Risk Analysis (SRA)
kan een interessante toepassing zijn wegens de extra input aan informatie komend van het
activiteitenniveau. Deze combinatie is reeds besproken door Elshaer (2013). Projectspecifieke
en sectorspecifieke parameters, zoals bijvoorbeeld het aantal verdiepingen in een bouwproject,
kunnen ook extra informatie aan de modellen toevoegen die de voorspellingen accurater
maken.
De uiteindelijke proef die deze methoden moeten doorstaan, is de realiteitstoets. Er moet na-
105
106
melijk in werkelijke omgevingen degelijke resultaten gehaald worden. Indien verder onderzoek
reële projectdata ter beschikking heeft, kunnen meerdere pistes geëxploreerd worden:
• Is het nuttig reële projectgegevens aan te vullen met fictief-gegenereerde projecten om
ML-modellen te trainen? Zo ja, wat is het effect van de kwantiteit en diversiteit waarmee
de gegevens worden aangevuld op de kwaliteit van de voorspeller?
• Is het zinnig reële projectnetwerkstructuren te simuleren? Zo ja, wat is het effect van
diverse distributies te gebruiken?
• Is het mogelijke kwalitatieve voorspellingen te maken op echte projecten door louter
modellen te trainen op fictieve data?
• Leidt het toevoegen van sectorspecifieke variabelen tot een hogere prestatie?
Bibliografie
F. T. Anbari (2003). Earned value project management method and extensions. Project
Management Journal, 34(4):12–23.
G. Bellinger, D. Castro & A. Mills (2004). Data, information, knowledge, and wisdom. URL
http://www.systems-thinking.org/dikw/dikw.htm.
J. Berny (1989). A new distribution function for risk analysis. The Journal of the Operational
Research Society, 40(12):pp. 1121–1127. ISSN 01605682.
A. Beygelzimer, S. Kakade & J. Langford (2006). Cover trees for nearest neighbor. In ICML,
pp. 97–104.
C. M. Bishop (2006). Pattern Recognition and Machine Learning (Information Science and
Statistics). Springer-Verlag New York, Inc., Secaucus, NJ, USA. ISBN 0387310738.
B. E. Boser, I. M. Guyon & V. N. Vapnik (1992). A training algorithm for optimal margin
classifiers. In Proceedings of the Fifth Annual Workshop on Computational Learning Theory,
COLT ’92, pp. 144–152. ACM, New York, NY, USA. ISBN 0-89791-497-X.
L. Breiman (1984). Classification and regression trees.
L. Breiman (2001). Random forests. Machine Learning, 45(1):5–32. ISSN 0885-6125.
D. S. Christensen (1993). The estimate at completion problem: A review of three studies.
Project Management Journal, 24:37–42.
C. Cortes & V. Vapnik (1995). Support-vector networks. Mach. Learn., 20(3):273–297. ISSN
0885-6125.
P. Cunningham & S. J. Delany (2007). k-nearest neighbour classifiers.
107
BIBLIOGRAFIE 108
I. F. de Barcelos Tronto, J. D. S. da Silva & N. SantAnna (2008). An investigation of artificial
neural networks based prediction systems in software project management. Journal of
Systems and Software, 81(3):356 – 367. ISSN 0164-1212.
N. de Freitas (2013). Machine learning and data mining. URL http://www.cs.ubc.ca/
~nando/340-2012/lectures.php.
S. V. de Vonder, E. Demeulemeester & W. Herroelen (2008). Proactive heuristic procedures
for robust project scheduling: An experimental analysis. European Journal of Operational
Research, 189(3):723 – 733. ISSN 0377-2217.
J. Demsar (2006). Statistical comparisons of classifiers over multiple data sets. Journal of
Machine Learning Research, 7:1–30.
T. G. Dietterich (2000). Ensemble methods in machine learning. In J. Kittler & F. Roli,
editors, First International Workshop on Multiple Classifier Systems, Lecture Notes in
Computer Science, pp. 1–15. Springer-Verlag, New York, NY, USA.
R. Elshaer (2013). Impact of sensitivity information on the prediction of project’s duration
using earned schedule method. International Journal of Project Management, 31(4):579 –
588. ISSN 0263-7863.
R.-E. Fan, K.-W. Chang, C.-J. Hsieh, X.-R. Wang & C.-J. Lin (2008). LIBLINEAR: A library
for large linear classification. Journal of Machine Learning Research, 9:1871–1874.
P. Gong & C. Zhang (2012). Efficient multi-stage conjugate gradient for trust region step.
In J. Hoffmann & B. Selman, editors, AAAI. AAAI Press.
S. Z. D. H. Murat Gnaydin (2004). A neural network approach for early cost estimation of
structural systems of buildings. International Journal of Project Management, 22(7):595 –
602. ISSN 0263-7863.
T. Hastie, R. Tibshirani & J. Friedman (2009). The elements of statistical learning: data
mining, inference and prediction. Springer Series in Statistics. Springer, 2 edition.
F. S. Hillier & G. J. Lieberman (2010). Introduction to Operations Research, 9th Ed. Holden-
Day, Inc., San Francisco, CA, USA. ISBN 0816238715.
D. Jacob & M. Kane (2004). Forecasting schedule completion using earned value metrics
revisited. The Measurable News, Summer, 1:11–17.
BIBLIOGRAFIE 109
G. James, D. Witten, T. Hastie & R. Tibshirani (2013). An Introduction to Statistical
Learning, volume 103 XIV of Springer Texts in Statistics. Springer.
C.-H. Ko & M.-Y. Cheng (2007). Dynamic prediction of project success using artificial
intelligence. Journal of construction engineering and management, 133(4):316–324.
M. Kuhl, E. Lada, M. Wagner, J. Ivy, N. Steiger & J. Wilson (2007). Introduction to modeling
and generating probabilistic input processes for simulation. In Simulation Conference
(WSC), Proceedings of the 2007 Winter, pp. 184–202.
Y. H. Kwak & L. Ingall (2007). Exploring monte carlo simulation applications for project
management. Risk Management, 9(1):44–57.
C.-J. Lin, R. C. Weng & S. S. Keerthi (2007). Trust region newton methods for large-
scale logistic regression. In Proceedings of the 24th International Conference on Machine
Learning, ICML ’07, pp. 561–568. ACM, New York, NY, USA. ISBN 978-1-59593-793-3.
W. Lipke (2003). Schedule is different. The Measurable News, 3:31–34.
W. Lipke (2004). Connecting earned value to the schedule. The Measurable News, 6:16.
W. Lipke, O. Zwikael, K. Henderson & F. Anbari (2009). Prediction of project outcome:
The application of statistical methods to earned value management and earned schedule
performance indexes. International Journal of Project Management, 27(4):400 – 407. ISSN
0263-7863.
D. G. Malcolm, J. H. Roseboom, C. E. Clark & W. Fazar (1959). Application of a technique
for research and development program evaluation. Operations research, 7(5):646–669.
T. M. Mitchell (1997). Machine Learning. McGraw-Hill, Inc., New York, NY, USA, 1 edition.
ISBN 0070428077, 9780070428072.
T. Moreira & J. Figueiredo (2012). Reflexion on emergent earned value schedule methods.
International Journal of Innovation, Management and Technology, 3.
A. Ng (2013). Machine learning courses & lecture notes. Online courses
https://www.coursera.org.
F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel,
P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Bru-
cher, M. Perrot & E. Duchesnay (2011a). Scikit-learn: Machine learning in Python. Journal
of Machine Learning Research, 12:2825–2830.
BIBLIOGRAFIE 110
F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel,
P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Bru-
cher, M. Perrot & E. Duchesnay (2011b). Scikit-learn: Machine learning in Python. Journal
of Machine Learning Research, 12:2825–2830.
F. J. Provost, T. Fawcett & R. Kohavi (1998). The case against accuracy estimation for
comparing induction algorithms. In Proceedings of the Fifteenth International Conference
on Machine Learning, ICML ’98, pp. 445–453. Morgan Kaufmann Publishers Inc., San
Francisco, CA, USA. ISBN 1-55860-556-8.
J. Quinlan (1986). Induction of decision trees. Machine Learning, 1(1):81–106. ISSN 0885-
6125.
S. J. Russell & P. Norvig (2003). Artificial Intelligence: A Modern Approach. Pearson
Education, 2 edition. ISBN 0137903952.
B. Schrauwen (2013). Cursus machinaal leren. Ex-cathedra lessen.
M. Segal (2004). Machine learning benchmarks and random forest regression. Centor for
Bioinformatics and Molecular Biostatistics, 1:14.
M. Sokolova & G. Lapalme (2009). A systematic analysis of performance measures for clas-
sification tasks. Information Processing & Management, 45(4):427 – 437. ISSN 0306-4573.
L. V. Tavares, J. A. Ferreira & J. S. Coelho (1999). The risk of delay of a project in terms
of the morphology of its network. European Journal of Operational Research, 119(2):510 –
537. ISSN 0377-2217.
S. Vandevoorde & M. Vanhoucke (2006). A comparison of different project duration forecas-
ting methods using earned value metrics. International Journal of Project Management,
24(4):289 – 302. ISSN 0263-7863.
M. Vanhoucke (2009). Measuring Time. Springer.
M. Vanhoucke (2010). Using activity sensitivity and network topology information to monitor
project time performance. Omega, 38(5):359 – 370. ISSN 0305-0483. <ce:title>Empirical
Research in the {EU} Banking Sector and the Financial Crisis</ce:title>.
M. Vanhoucke (2011). On the dynamic use of project performance and schedule risk in-
formation during projecttracking. Omega, 39(4):416 – 426. ISSN 0305-0483. URL
http://www.sciencedirect.com/science/article/pii/S0305048310001222.
BIBLIOGRAFIE 111
M. Vanhoucke (2012). Measuring the efficiency of project control using fictitious and empirical
project data. International Journal of Project Management, 30(2):252 – 263. ISSN 0263-
7863.
M. Vanhoucke, J. Coelho, D. Debels, B. Maenhout & L. V. Tavares (2008). An evalua-
tion of the adequacy of project network generators with systematically sampled networks.
European Journal of Operational Research, 187(2):511 – 524. ISSN 0377-2217.
M. Vanhoucke & S. Vandevoorde (2007). A simulation and evaluation of earned value metrics
to forecast the project duration. The Journal of the Operational Research Society, Vol. 58,
No. 10 (Oct., 2007)(05/317):1361–1374.
V. Vapnik (1982). Estimation of Dependences Based on Empirical Data: Springer Series in
Statistics (Springer Series in Statistics). Springer-Verlag New York, Inc., Secaucus, NJ,
USA. ISBN 0387907335.
C. wei Hsu, C. chung Chang & C. jen Lin (2010). A practical guide to support vector
classification.
Deel V
Appendices
112
Bijlage A
Volledig onderzoeksopzet
Volgende figuur, gespreid over meerdere pagina’s, geeft de structuur van ons onderzoeksopzet
weer.
113
Bijlage B
De prestatie van de traditionele
EVM voorspellingsmethoden
B.1 Globale accuraatheid
Figuur B.1: De MAPE van de traditionele EVM voorspellingsmethoden toegepast in een
classificatieopdracht.
117
B.2 Tijdsverloop
Figuur B.2: Het tijdsverloop van de MAPE van de traditionele EVM voorspellingsmethoden
toegepast in een classificatieopdracht.
B.3 Stabiliteit
B.4 Projectvariabiliteit
Figuur B.3: De stabiliteit van de traditionele EVM voorspellingsmethoden overheen verschil-
lende projectnetwerkstructuren uitgedrukt in de MAPE.
Figuur B.4: De MAPE voor verschillende variabiliteitscenario’s van de traditionele EVM
voorspellingsmethoden toegepast in een classificatieopdracht.
Bijlage C
De prestatie van alle
ML-voorspellingsmethoden
C.1 Globale accuraatheid
Figuur C.1: De MAPE van de verschillende ML voorspellingsmethoden ten opzichte van ES2.
120
C.2 Tijdsverloop
Figuur C.2: Het tijdsverloop van de MAPE van de verschillende ML voorspellingsmethoden
ten opzichte van ES2.
C.3 Stabiliteit
C.4 Projectvariabiliteit
Figuur C.3: De stabiliteit van de verschillende ML voorspellingsmethoden ten opzichte van
ES2 overheen verschillende projectnetwerkstructuren uitgedrukt in de MAPE.
Figuur C.4: De MAPE voor verschillende variabiliteitscenario’s van de verschillende ML
voorspellingsmethoden ten opzichte van ES2.
Bijlage D
Relevantiedectectie figuren
In deze sectie staan de figuren die aanduiden wanneer welke variabele gebruikt wordt indien
een SVM wordt gebruikt met l1-regularisatie.
Figuur D.1: De relevante variabelen voor het voorspellen van klasse 0 na l1 regularisatie
123
Figuur D.2: De relevante variabelen voor het voorspellen van klasse 1na l1 regularisatie
Figuur D.3: De relevante variabelen voor het voorspellen van klasse 2 na l1 regularisatie