网络故障预测:基于告警与性能数据的异常预警

FreeGuideOnline 最新 2026-06-26

python import pandas as pd import numpy as np

假设 df 包含 timestamp, device, cpu

df = df.set_index('timestamp') baseline = df.groupby([ df.index.hour, df.index.minute, df.index.weekday, 'device' ])['cpu'].transform(lambda x: x.rolling(4*7, min_periods=3).median())

upper = baseline + 2 * baseline.std() # 简化版,实际可用MAD

df['anomaly'] = df['cpu'] > upper

连续3点异常触发

df['trigger'] = df.groupby('device')['anomaly'].transform( lambda x: x.rolling(3).sum() >= 3 )