基于统计方法的时间序列异常检测的python代码
时间: 2023-12-29 07:03:01 浏览: 82
以下是基于统计方法的时间序列异常检测的 Python 代码示例:
```python
import numpy as np
import pandas as pd
from scipy.stats import zscore
# 读取数据
data = pd.read_csv('data.csv', index_col='timestamp')
data.index = pd.to_datetime(data.index)
# 计算每个数据点的 z-score
data['zscore'] = zscore(data['value'])
# 定义异常阈值,这里取 z-score 绝对值大于 3 为异常点
threshold = 3
# 标记异常点
data['is_anomaly'] = np.abs(data['zscore']) > threshold
# 输出异常点
anomalies = data[data['is_anomaly']]
print(anomalies)
```
其中,`data.csv` 是时间序列数据文件,包含两列:`timestamp` 表示时间戳,`value` 表示对应的数值。该代码使用了 scipy 库中的 `zscore` 函数计算每个数据点的 z-score,然后根据设定的阈值标记出异常点,并输出异常点数据。
阅读全文