Как обрабатывать пропущенные значения в данных временных рядов, когда прямое заполнение создает нереалистичные закономерPython

Программы на Python
Ответить
Anonymous
 Как обрабатывать пропущенные значения в данных временных рядов, когда прямое заполнение создает нереалистичные закономер

Сообщение Anonymous »

Описание проблемы
Я работаю над набором данных временных рядов показаний датчиков, собираемых каждые 5 минут в течение 3 месяцев. В наборе данных примерно 15% пропущенных значений разбросано по всему набору данных, но некоторые пробелы достигают 2–3 часов.
Текущий подход
В настоящее время я использую прямое заполнение () для обработки пропущенных значений:
python

Код: Выделить всё

import pandas as pd

df['sensor_reading'] = df['sensor_reading'].fillna(method='ffill')
Проблема
Упреждающее заполнение работает для небольших промежутков (5–10 минут), но для более крупных промежутков (1–3 часа) оно создает нереалистичные плоские шаблоны, которые не отражают фактическое поведение датчика. Это влияет на мой последующий анализ и прогнозы.
Что я пробовал
  • Интерполяция – работает лучше, но по-прежнему не справляется с большими пробелами
  • Прямое заполнение с ограничением – оставляет значения NaN для больших пробелов
  • Вменение среднего/медианы – не фиксирует временные закономерности
Пример данных
python

Код: Выделить всё

timestamp           sensor_reading
2024-01-01 00:00:00    23.5
2024-01-01 00:05:00    23.7
2024-01-01 00:10:00    NaN
2024-01-01 00:15:00    NaN
2024-01-01 00:20:00    NaN
... (20 more missing values)
2024-01-01 02:00:00    25.1
Вопрос
Каковы наилучшие методы обработки больших пробелов в данных датчиков временных рядов? Должен ли я:
  • Использовать разные методы вменения в зависимости от размера разрыва?
  • Отметить большие пробелы и исключить их из анализа?
  • Использовать прогнозную модель (ARIMA/LSTM) для заполнения пробелов?
  • Считаете качество данных слишком плохим и собираете новые данные?
Среда
  • Python 3.10
  • Pandas 2.0.3
  • Размер набора данных: ~ 26 000 строк
Будем признательны за любые советы или ссылки на исследовательские работы/лучшие практики!

Почему этот вопрос работает:
✅ Очистить формулировка проблемы ✅ Показывает, что вы пробовали ✅ Включает код и примеры данных ✅ Конкретно и целенаправленно ✅ Правильные теги для наглядности ✅ Показывает исследовательскую работу

Подробнее здесь: https://stackoverflow.com/questions/798 ... ates-unrea
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»