Ответ
Чтобы выявить сильные изменения данных во времени, можно использовать несколько подходов:
-
Визуальный анализ временных рядов через графики (линейные, столбчатые) - резкие скачки или тренды будут заметны сразу.
-
Статистические тесты на стационарность (ADF, KPSS) - если p-value < 0.05, данные нестационарны.
-
Расчет скользящих статистик (среднее, стандартное отклонение) - значительные отклонения указывают на изменения.
Пример кода для анализа:
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.stattools import adfuller
# Проверка стационарности
result = adfuller(data['value'])
print(f'ADF p-value: {result[1]:.3f}')
# Визуализация с скользящим средним
data['rolling_mean'] = data['value'].rolling(30).mean()
data.plot(figsize=(12,6))
plt.show()
Также полезно разбивать данные на периоды и сравнивать их распределения (например, через тест Колмогорова-Смирнова).