Numenta Platform for Intelligent Computing is an implementation of Hierarchical Temporal Memory (HTM), a theory of intelligence based strictly on the neuroscience of the neocortex.
The problem is that it only lists December 25 as a holiday. You should probably be able to pass in your own holidays given that different countries have different holidays that may fall in different days of the year.
My proposal is to have an extra parameter you can pass in to a date encoder that is a list of tuples that look like:
holidays = [(12, 25), (2018, 4, 1)]
If year isn't provided, it just uses the current year, otherwise it checks if year, month, day match the current record. This allows December 25, but also covers moving holidays like Easter Sunday (April 1 for 2018, April 16 for 2017)
The dateencoder has functionality to indicate if a day is a holiday:
https://github.com/numenta/nupic/blob/master/src/nupic/encoders/date.py#L297-L323
The problem is that it only lists December 25 as a holiday. You should probably be able to pass in your own holidays given that different countries have different holidays that may fall in different days of the year.
My proposal is to have an extra parameter you can pass in to a date encoder that is a list of tuples that look like:
If year isn't provided, it just uses the current year, otherwise it checks if year, month, day match the current record. This allows December 25, but also covers moving holidays like Easter Sunday (April 1 for 2018, April 16 for 2017)