指标关联分析:发现监控指标间的影响关系
FreeGuideOnline
最新
2026-06-24
python import pandas as pd import numpy as np from scipy.stats import pearsonr
模拟指标数据:cpu_usage 和 response_time
df = pd.DataFrame({ 'cpu_usage': np.random.randn(100).cumsum() + 50, 'response_time': np.random.randn(100).cumsum() + 200 })
直接相关系数
corr, p_value = pearsonr(df['cpu_usage'], df['response_time']) print(f"corr: {corr:.3f}, p: {p_value:.4f}")
带时滞扫描的关联
max_lag = 10 best_corr = 0 best_lag = 0 for lag in range(1, max_lag+1): shifted = df['response_time'].shift(lag).dropna() corr_lag, _ = pearsonr(df['cpu_usage'].iloc[lag:], shifted) if abs(corr_lag) > abs(best_corr): best_corr = corr_lag best_lag = lag
print(f"最佳时滞: {best_lag} 分钟, 相关系数: {best_corr:.3f}")