指标关联分析:发现监控指标间的影响关系

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}")