1
$\begingroup$

I have some data that may or may not be called time series data, and I would like to be able to perform some machine learning classification on the data to obtain some general insights.

The data is of individual train journey's along some section of track and describes the speed, direction, geo location and many other measures. An example set of the data is shown below. (You will notice that each train journey is described by 150 - 250 rows, and I have highlighted each individual train journey). So you might say its a matrix of time series data with a hell of a lot of dimensions (more than visible). enter image description here

I've found that the "Time series" analysis models are mostly around forecasting from existing data, but I would like to be able to essentially compare each train journey with each other to gain some insight into the performance of the trains and the behaviours of the drivers.

The main problem I have is that one train journey is described by a few hundred data points (rows). Any classification model assumes each row is a separate data point. So I basically want to treat each train as a single row for the classification, and still be able to classify the journey, or parts of the journey to identify problem areas on the track, or performance issues in trains.

My goal is to classify each train journey to attempt to gain some general insights about the train performance. However, to ask a more specific (and probably more helpful) question; 1. What areas of the track are trains underperforming/over-performing? ie, are trains under-performing on up hills, or down hills. 2. Why are drivers slowing down in some areas when there is no known reason (ie, no speed restrictions, no oncoming traffic, straight and level track)?

My question is, what machine learning models (preferably unsupervised) would be a good fit to classify my configuration of data?

I'm just starting to get my hands dirty with machine learning tools, I have a good level of knowledge of Python, C/C++/C#, and Matlab. So examples with any of these languages would be fine.

$\endgroup$

closed as unclear what you're asking by Michael Chernick, kjetil b halvorsen, John, Tim, Dougal Aug 17 '17 at 13:27

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

1
$\begingroup$

If the main thing you are interested in is slowdowns/train speeds for each segment, first things you could do are simple tools: filter the data to view various characteristics by speed, and perhaps build a simple linear regression model that regress speed ~ everything else. Extracting the time of day, day of week (Monday, Tuesday, ...) and perhaps whether the day is a holiday would be useful. Changing the location to a location ID or journey info may be more useful than lat/long as well. This might tell you which variables are important in predicting speed. These are both relatively easy to do in the languages you suggested.

If you are looking for unsupervised methods, I would recommend looking at principal component analysis and self-organized maps as two possibilities. Principal component analysis is basically used to check for correlations between variables, and self-organizing maps are a great unsupervised tool for clustering data automatically.

Hope that helps!

$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.