There are multiple ways to handle time series abnormalities-
If abnormalities are known, build a classification model. Use this model to detect same type of abnormalities for time series data.
If abnormalities are unknown, what we have done in our organization is a combination of clustering and classification.
First use LOF/K-means/Cook's distance to identify outliers. Convert entire data into classification problem as we have got 2 classes now- Outliers and normals. Now build a classification model and get rules (classification model ) to identify abnormality at run time (time series data).
- If abnormalities are unknown, during my research, most common way of identifying abnormalities is to build a normal model and any deviation from normal model (error) is abnormal, so in your case, you forecast your time series for next hour and then compare with actual values. If error is more than expected, something abnormal is happening.
I was not able to find any direct package in Python or R to do so, as nobody knows what is really abnormal, in all the cases it has been related to outlier detection.
This & this may be useful to you.