Creating periodic features from cyclical variables
Some features are periodic – for example, the hours in a day, the months in a year, and the days in a week. They all start at a certain value (say, January), go up to a certain other value (say, December), and then start over from the beginning. Some features are numeric, such as the hours, and some can be represented with numbers, such as the months, with values of 1 to 12. Yet, this numeric representation does not capture the periodicity or cyclical nature of the variable. For example, December (12) is closer to January (1) than June (6); however, this relationship is not captured by the numerical representation of the feature. But we could change it if we transformed these variables with the sine and cosine, two naturally periodic functions.
Encoding cyclical features with the sine and cosine functions allows linear models to leverage the cyclical nature of features and reduce their modeling error. In this recipe, we will...