import numpy as np
from statsmodels.tsa.holtwinters import ExponentialSmoothing
# 假设这是你的21天数据
data = [10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50]
# 使用Holt-Winters算法拟合数据
model = ExponentialSmoothing(np.array(data), seasonal='add', seasonal_periods=7).fit()
# 预测未来数据
forecast = model.forecast(steps=1)
# 判断今天的数据是否异常
today_data = 52 # 假设今天的数据是52
if abs(today_data - forecast[0]) > 3 * model.resid.std():
print("今天的数据异常!")
else:
print("今天的数据正常。")
print("置信区间上限:", forecast[0]+3*model.resid.std())
print("置信区间下限:", forecast[0]-3*model.resid.std())
02-27
464
06-21
9564