Modelleren in Python

De laatste tijd werk ik erg veel in Python. Ik ken geen andere taal waarin je zo snel kan programmeren, analyseren en modelleren.

Ik maak heb mezelf aangeleerd om mijn modellen op een consistente manier op te bouwen. En ik heb een verzameling hulpmiddelen gebouwd. Daarom is het mogelijk zeer eenvoudig te koppelen aan een GUI (een Windows interface) of een webapplicatie (zoals deze), waardoor mijn klanten eenvoudig kunnen ‘klikken en gaan’ als ze dat willen. Inclusief eenheden converter (van meters naar millimeters bijvoorbeeld) en opslaan en openen van het model.

Simpel voorbeeld van de generieke model interface met unit conversie

Importeren en exporteren van gegevens  is natuurlijk ook mogelijk. Een veel gebruikte toepassing is: gegevens voorbereiden in Excel, model laten rekenen en resultaten weer analyseren in Excel.

Het interpreteren van resultaten gaat vaak het beste met een grafiek , een plot. Ook hiervoor biedt Python ruime mogelijkheden:

Voorbeeld van een plot met resultaten

Een ander actueel onderwerp is het koppelen van modellen en meetdata. Er wordt de laatste jaren meer en meer gemeten en ook de systemen om de data in op te slaan en te bekijken zijn sterk verbeterd. Maar er wordt nog relatief weinig gedaan met de data. Waar ik me graag mee bezig houd, is het fitten van de modellen op de meetdata. Dat lijkt heel ingewikkeld, maar dat valt (dankzij python) mee – en het levert wel veel op. Namelijk de waardes van de parameters waar je nog aan twijfelde. Het begint overigens met de data analyseren en opschonen. Door het fitten worden modellen een stuk betrouwbaarder en dus bruikbaarder.

Ook zaken als optimaliseren of toepassen van machine learning (Artificial Intelligence volgens sommigen) zijn kinderspel dankzij de vele libraries van Python. Dit biedt weer interessante mogelijkheden. Bijvoorbeeld al eens gedacht aan het trainen van een machine learning model met de resultaten van een complex model? Een complex model heeft vaak een lange rekentijd, terwijl een eenmaal getraind ML model binnen een flits (een goede benadering van) dezelfde resultaten kan produceren.

Op de TU Delft heb ik de eerstejaars studenten werktuigbouwkunde een en ander mogen vertellen over modelleren in Python. Ik begeleid daarnaast ontwerpgroepen bij ontwerpprojecten en een belangrijk onderdeel daarbij is het voorspellen van de prestaties van je ontwerp. Tegenwoordig gebeurt dat in Python, dat Matlab heeft verdrongen. Na wat proberen lukt het de studenten vaak om een aardig goed model te maken. Aan de vervolgstap zijn we helaas nog niet toegekomen: het vergelijken van je model met de werkelijkheid. Of nog beter, fitten van je model op meetresultaten. Want met een relatief eenvoudig model, dat gefit is op meetwaarden, kun je toch hele goede voorspellingen doen.

Door dit vaker te doen wordt ik er uiteraard steeds handiger in.  En dat komt de snelheid ten goede. Ik kan binnen no-time eerste resultaten laten zien. Eens proberen? Neem contact op via info@studiohouthaak.nl