De competentie ‘ontwikkelen’ omvat verschillende indicatoren die essentieel zijn bij het succesvol ontwikkelen van projecten of producten. Dit omvat het vermogen om een gedegen programma van eisen op te stellen, waarbij de behoeften en vereisten van het project of product duidelijk worden geïdentificeerd en gedocumenteerd. Daarnaast is het begrijpen en toepassen van relevante concepten en parameters van cruciaal belang, waarbij de theoretische basis en principes worden gebruikt om de ontwikkeling vorm te geven en relevante parameters te beheren. Bovendien is het gebruik, maken en valideren van modellen een belangrijke indicator, waarbij modellen worden gebruikt om het begrip te vergroten, scenario’s te simuleren en ontwerpen te optimaliseren. Ten slotte is het zorgvuldig beheren van de documentatie behorend bij het model van groot belang, waaronder het opstellen van gedetailleerde documentatie die het ontwikkelproces, aannames, beslissingen en resultaten beschrijft. Door deze competentie-indicatoren te beheersen, kunnen professionals succesvolle ontwikkelingsprojecten uitvoeren die voldoen aan de gestelde eisen en van hoge kwaliteit zijn.
Tijdens de minor Data Science heb ik met mijn groep ons bezig gehouden met het vinden van trends in grote datasets. Onze data set was afkomsting van SKOON BV, waar een van de groepsgenoten zelf werkt. SKOON is een bedrijf dat zich specialiseert in het verhuren van grote industriële batterijen. Hierbij wordt alle procesdata gelogd, denk aan, temperatuur, voltage, power in -en output en oplaadniveau. De wens van uit SKOON was dan ook een model opstellen waarbij de oplaadcycli van de batterijen kan worden gedetecteerd en zo voorspellingen te doen over de gezondheid van de batterij, immers het aantal cycle kan correlatie hebben met de gezondheid van de batterij.
Het programma van eisen vanuit SKOON BV is opgesomd en gebundeld in een project pitch. Hierbij moesten wij de leraren overtuigen van ons project en de haalbaarheid van de eisen en doelstellingen. De slides van de Pitch zijn te zien in Bijlage 3
Voor het Project was het van belang te weten welke concepten en parameters van belang waren. Hierbij was van essentiël belang om goed te definiëren wat en batterij cyclus inhoudt. Daarbij was ook belangrijk om te laten zien hoe de correlatie binnen de data kon worden aangetoond en welke parameters daarvoor nodig waren. Enkele van de parameters zijn reeds genoemd in de Project Pitch, zoals voltage, power in -en output en het oplaadniveau. Hierbij wordt in Bijlage 5 de test van de correlatie in de Milestone presentatie meer uiteengezet.
Om de correlatie en de cyclus te kunnen herkennen is er onderzoek gedaan naar welke modellen met de beschikbare parameters dit probleem konden tackelen. Daarbij zijn verschillende Machine Learning modellen vergeleken met elkaar om te kijken welke het meeste geschikt was voor onze dataset. Hierbij is gekeken naar het gemak van de implementatie en de efficiëntie van het model. De resultaten en het overzicht tussen de voor en nadelen van de verschillende modellen is te zien in Bijlage 4. Uiteindelijk is onze keuze gevallen op een lineair regressie model vanwege de makkelijke implementatie en het lineair te benaderen verloop van de batterij degradatie.
Belangrijk bij een Machine Learning model is dat dit model getest en gevalideerd wordt. De reden van testen is om underfitting en overfitting te voorkomen. Underfitting is wanneer het model de data niet goed voorspelt door dat het niet genoeg getraind is op een volledige dataset. Hierdoor kan nieuw aangereikte dataset slechte resultaten opleveren doordat het model geen onderliggende correlaties en verbanden heeft kunnen leren.
Bij overfitten gebeurd precies het tegenovergestelde. hierbij wordt het model te veel getraind op een dataset waarbij de correlaties en verbanden perfect gevolgd worden. Dit brengt als nadeel mee dat wanneer er een nieuwe dataset wordt geïntroduceerd, het model zich niet kan aanpassen aan de nieuwe verbanden binnen de nieuwe dataset. Dit leidt wederom tot slechte resultaat en perfomance van het Machine Learning Model.
Om deze problemen te voorkomen, is de data getraind op een zogenoemde train-test set. Hierbij wordt de data opgedeeld in twee subsets. De eerste subset, trainset, wordt gebruikt om de fit van het model vorm te geven. Vervolgens wordt de test dataset gebruikt om de performence van het model te valideren. Hierbij is het model gesplitst in een 80-20 verhouding van train en test data.
Door deze techniek toe te passen, zorg je ervoor dat het model algemene verbanden leert in de dataset en zich goed kan aanpassen om nieuwe data, waardoor deze met meer precisie het verloop van de degradatie van de batterij kan voorspellen. Een uiteenzetting en de resultaten van het valideren van het model kan worden teruggezien in Bijlage 1 in hoofdstuk “Results / Testing and evaluation”
Tijdens de Minor Data Science hebben wij de data voor ons model moeten manipuleren zodat dit door het (Machine Learning) model begrijpend is. Daarna moet de ook de resultaten van het model worden omgezet zodat er leesbare grafieken en/of tabellen zichtbaar worden. Daarom is alle code voorzien van comments. de Comments zijn opgenomen naast de code zoals te zien in de Appendix van Bijlage 1 en in de Appendix van Bijlage 2
Een van de belangrijke aspecten voor beide projecten is dat aan de hand van het paper en de code, de resulaten reproduceerbaar moeten zijn. Daarom fungeren beide rapporten als documentatie bij het gebruikte model. Echter is het hoofdstuk Solution design bij Bijlage 1 en hoofdstuk 3 bij Bijlage 2 in essentie de benodigde documentatie waarin onderbouwing wordt gegeven aan de ontwikkeling en gemaakte keuzes.