Experimenteel ontwerp

Uit Systeemmodellering
Naar navigatie springen Naar zoeken springen

In het experimenteel ontwerp leg je vast welke experimenten je gaat doen met het computationele model dat je gemaakt hebt.

Voorbeeld

In principe zou je alle combinaties van uiterste waarden van de invoervariabelen kunnen veranderen, zoals in de ontwerpmatrix hieronder voor de variabelen L, m en T gedaan is.

experiment L m T
m kg °C
1 100 0,2 15
2 150 0,2 15
3 100 0,4 15
4 150 0,4 15
5 100 0,2 25
6 150 0,2 25
7 100 0,4 25
8 150 0,4 25

In de kolommen worden alle combinaties van laagste waarden en hoogste waarden (hier vet weergegeven) systematisch gerangschikt. Vergelijk voor de systematiek deze tabel met die in Binaire getallen.

Dit levert 8 experimenten op, waarmee de uitersten van de variabelenruimte onderzocht worden.

Een ontwerpmatrix wordt al snel een erg grote tabel. Neem je voor elke invoervariabele alleen de laagste en hoogste waarde, dan telt de matrix bij n variabelen n kolommen, en 2n rijen. Zou je voor sommige variabelen het model met méér dan alleen de twee extreme waarden willen doorrekenen, dan groeit de tabel nog sneller.

In de praktijk kunnen vaak verschillende variabelencombinaties uitgesloten worden.

Toepassing

Als illustratie gebruiken we hier het MNL-model van de keuze van forensen voor een vervoersmodaliteit. Stel dat je als beleidsmaker op zoek bent naar een kostenneutrale manier om het aandeel van de auto terug te dringen ten gunste van de fiets of het openbaar vervoer. Dat houdt dus in dat wanneer je bijvoorbeeld de prijs van een buskaartje verlaagt je de inkomsten die je dan misloopt moet terugverdienen door bijvoorbeeld de accijns op brandstof te verhogen.

Een experimenteel ontwerp dat je helpt bij het vinden van een oplossing voor dit beleidsvraagstuk zou zijn dat je het MNL-model doorrekent voor een groot aantal combinaties van maatregelen. Omdat je goed weet wat je wilt (minder autoverkeer; kostenneutraal) en ook de struktuur van het MNL-model goed kent (je weet dat je de auto minder aantrekkelijk maakt door de kosten of de reistijd ervan te verhogen, en omgekeerd dat andere modaliteiten aantrekkelijker worden als je ze goedkoper, sneller of comfortabeler maakt) kun je op voorhand al een aantal combinaties van invoerwaarden uitsluiten. Zo zul je het model niet met lagere brandstofprijzen doorrekenen. Het onderstaande experimenteel ontwerp zorgt er voor dat we systematisch alle zinvolle combinaties van maatregelen doorrekenen. Om het aantal combinaties beperkt te houden verkennen we de "oplossingsruimte" eerst "met grote stappen", om vervolgens de veelbelovende gebieden nader te verkennen.

Experimenteel ontwerp voor een probabilistisch model

Doordat een probabilistisch model stochastische variabelen bevat zijn de uitvoervariabelen van zo'n model ook stochasten. Dit betekent dat bij elke "run" (d.w.z. telkens wannneer je het model doorrekent) de uitvoervariabelen andere waarden zullen hebben. Om een zinvolle vergelijking te maken tussen verschillende behandelingen moet je per behandeling de kansverdeling van de uitvoervariabelen bepalen. Dat doe je door een groot aantal runs te doen en de waarden van de uitvoervariabelen in een gegevensverzameling te bewaren. Onderstaande histogrammen laten voor verschillende behandelingen van ons voorbeeldmodel de kansverdeling van de uitvoervariabele zien.

HistogrammenExperiment.png

Hoe je m.b.v. een statistische toets bepaalt of het verschil tussen twee behandelingen significant is leer je in de module Statistiek en data-analyse.

Opstarttijd

Een dynamisch probabilistisch model heeft vaak een opstarttijd, d.w.z. dat het model pas na een flink aantal tijdstappen het systeemgedrag goed weergeeft. Bij een wachtrijmodel komt dat doordat op t=0 alle wachtrijen nog leeg zijn. De benodigde opstarttijd bepaal je door het voortschrijdend gemiddelde van de belangrijkste endogene variabelen in een lijndiagram weer te geven:

LijndiagrammenVoorBepalenOpstarttijd.png

Uit deze grafieken kun je opmaken dat de doorlooptijd na een aantal tijdstappen stabiliseert. De lijnen hoeven overigens niet per se vlak te worden; er kan immers sprake zijn van een cyclisch patroon (denk aan spitsuren).

Runlengte

De runlengte is de lengte van het tijdsinterval waarover je metingen aan het model doet. De prestatie van een wachtrijssyteem meet je typisch af aan de gemiddelde lengte μL van de wachtrij en de gemiddelde bezettingsgraad μB. Omdat het om gemiddelde waarden gaat (som over alle tijdstippen t van Lt resp. Bt gedeeld door het aantal tijdstippen dat je waarneemt) maakt een korte runlengte je meting onbetrouwbaar. Dat wordt nog erger als het systeem zich cyclisch gedraagt. Als vuistregel geldt daarom dat de runlengte ten minste drie maal de langste cyclustijd moet zijn.

Aantal replicaties

Een enkele run met een simulatiemodel wordt een replicatie genoemd. Eén replicatie levert je voor elke uitvoervariabele één waarde op. Om zicht te krijgen op de kansverdeling van de stochastische uitvoervariabelen moet je tenminste zóveel replicaties uitvoeren dat je een betrouwbare schatting kunt maken van hun gemiddelde en de standaarddeviatie. Dat doe je door voor de belangrijkste uitvoervariabelen grafieken te maken van hun gemiddelde μ en hun standaarddeviatie σ over n replicaties waarbij je n laat toenemen, bijvoorbeeld van 1 t/m 300 zoals in onderstaande grafieken. Het aantal replicaties n van waaraf het gemiddelde van μ niet veel meer van waarde verandert (hieronder bijvoorbeeld n = 200) is dan een geschikt aantal replicaties. De spreiding σ voor dat aantal n is dan een maat voor de nauwkeurigheid van de modeluitkomsten.

Stabilizing mu and sigma.png

Replicaties in Excel

In Bestand:TB112-replicaties.pdf staat hoe je snel veel replicaties in Excel kunt uitvoeren.

Zie ook