woensdag 14 oktober 2015

Foute bussen - deel vier - Fouten in de data

Doordat ik het 'bustijden - dataverzamelings programma' af en toe onderbreek ontstaan er fouten in de data. In principe wordt er vanuit gegaan dat er elke 2 minuten een 'pol' wordt uitgevoerd. Soms zit daar dus (veel) meer tijd tussen. Dat moet tot foute voorspellingen leiden. Omdat ik 5 metingen neem, 4 invoer en de 5e het resultaat, kan er eigelijk maar maximaal 8 minuten tussen de eerste en de laatste meting zitten. Met een klein stukje extra programmering haal ik deze fouten eruit. Ik kan dan ook alle data gebruiken. (Tot daarvoor beperkt tot bussen met minimaal 50 waarnemingen).
Inmiddels heb ik ook weer meer waarnemingen verzameld (meer dan 10.000 nu) hetgeen hopelijk ook betere resultaten gaat geven.

Deze data is bijvoorbeeld dus niet meer meegenomen (laatste tijdstip, eerste tijdstip). Het zijn er 28. Valt eigelijk een beetje tegen. Dat zal dus niet heel veel opleveren.

Niet meegenomen tijden: 12:49 PM 10:46 AM
Niet meegenomen tijden: 12:51 PM 10:48 AM
Niet meegenomen tijden: 12:53 PM 10:50 AM
Niet meegenomen tijden: 12:55 PM 10:50 AM
Niet meegenomen tijden: 5:20 PM 1:22 AM
Niet meegenomen tijden: 5:22 PM 1:24 AM
...

Bij het toepassen van een 'linear model' (clf_l = svm.SVC(kernel='linear',gamma=0.1, C=100)) lijkt hij zich te verslikken. Zelfs na een volle nacht nog geen resultaat. Dan maar weer terug naar de 'rbf' kernel wat staat voor: 'Radius Basis Function'. Ik snap nog niet goed wat dat is maar in ieder geval lijkt die het aardig te doen. Aanpassing van de gamma van 0.01 naar 0.1 geeft al een aardige verbetering in het resultaat.  Het duurt nu wel steeds lange om de simulatie te laten lopen. Ook de 'predict - functie lijkt enkele seconden nodig te hebben per aanroep. Met 10% testwaarnemingen is het dus al gauw 1000 x enkele seconden wachten.  Maar het resultaat lijkt al beter. Het gemiddelde is omlaag gegaan van 6.4 naar 4.9 km afwijking. Nog niet waar we willen zijn maar wel weer een stap in de goede richting. 

count  1058.000000
mean      4.862771
std       3.801377
min       0.000000
25%       1.864763
50%       4.129243
75%       7.210203
max      20.856194

Misschien kunnen we nog eens een andere 'kernel' proberen of wellicht de stap gaan maken naar een neuraal netwerk.

Geen opmerkingen:

Een reactie posten