1. Wrapping-up
Now that you've gotten a taste of how time series and machine learning interact with each other, let's quickly recap what we covered in this course, and discuss where you can go next.
2. Timeseries and machine learning
The course started with a discussion of why it is useful to apply machine learning concepts to time series data, with a focus on classifying heartbeat sounds as normal and abnormal, as well as building predictive models of a company's value over time. We also emphasized the importance of visualizing and understanding your raw data.
3. Feature extraction and classification
We then turned to feature extraction and discussed how to collapse a time series array into a single summary statistic and combining many statistics of a time series into a single feature matrix that can be used to classify heartbeat sounds. We also discussed some advanced features that can only be calculated with time series data, such as the spectrogram.
4. Model fitting and improving data quality
We then covered generating model predictions that change over time by discussing a few regression features that are useful for this, such as creating time-shifted versions of an input. We used this in combination with techniques to clean and prepare our data in order to fit the best models.
5. Validating and assessing our model performance
Finally, we covered how to validate machine learning models with time series data. We covered some tips for doing cross-validation with time series data, and introduced a cross-validation iterator that is unique to time series data. We also discussed the importance of assessing if your time series is stationary, and showed a few ways to calculate and visualize your model's stability over subsets of the data.
6. Advanced concepts in time series
If you'd like to learn more about time series data in general, here are some topics worth investigating further. Advanced window functions can improve the "rolling window" statistics we calculated in this course. They're related to advanced signal processing techniques which will help you manipulate your time series data more effectively. Finally, we only barely touched the surface of spectral analysis, which is a complicated and quite interesting field.
7. Advanced machine learning
There are also many more topics to investigate in machine learning for time series. There are many more features that can be extracted for modeling time series. One useful Python package is tsfresh, which can calculate dozens of features from time series. We also only discussed a few specific models in classification and regression, but there is a wide range of other models that are suited for time series predictions. Finally, we only worked with pre-collected data that all fits into the computer's memory, but "real world" applications usually involve more complex processing and machine learning pipelines.
8. Ways to practice
If you'd like to practice your skills in machine learning with time series, there are many options out there for you to experiment. For example, Kaggle has many curated time series datasets with information about how they were collected, and community code snippets for models that have been fit. In addition, Quantopian runs a public service that lets users play around with financial data and build models that attempt to predict future values. It also has a large community of enthusiasts who learn and share their machine learning skills together.
9. Let's practice!
Good luck analyzing time series data!