Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Попередня Обробка Даних Часових Рядів | Аналіз Часових Рядів
Рекурентні нейронні мережі з Python

Попередня Обробка Даних Часових Рядів

Свайпніть щоб показати меню

Висвітлено ключові етапи попередньої обробки даних часових рядів для проєкту прогнозування. Попередня обробка забезпечує чистоту, структурованість даних і готовність до навчання моделі. Розглядаються такі теми, як масштабування ознак, розділення на навчальну і тестову вибірки та створення послідовностей — усі вони є необхідними для ефективної підготовки даних.

  • Масштабування ознак: масштабування ознак важливе для того, щоб усі вхідні ознаки були в одному діапазоні. Це допомагає моделям, таким як LSTM та ARIMA, швидше сходитися та підвищує їхню ефективність. Поширені методи масштабування ознак — це масштабування мінімум-максимум та стандартизація (z-score нормалізація). Масштабування дозволяє моделі зосередитися на взаємозв'язках у даних, а не бути упередженою через ознаки з більшими діапазонами;
scaler = MinMaxScaler(feature_range=(0, 1))
scaled_train_data = scaler.fit_transform(train_data_raw)
scaled_test_data = scaler.transform(test_data_raw)
  • Розділення на навчальну і тестову вибірки: розділення набору даних на навчальну та тестову частини є необхідним для оцінки якості моделі. Зазвичай набір даних часових рядів розділяють хронологічно: ранні дані використовують для навчання, а пізніші — для тестування. Це гарантує, що модель оцінюється на даних, які вона раніше не бачила, і імітує реальні сценарії прогнозування. Поширене співвідношення — 80% для навчання і 20% для тестування, але воно може змінюватися залежно від розміру та особливостей даних;
train_split_ratio = 0.8
train_size = int(len(price_data) * train_split_ratio)
train_data_raw = price_data[:train_size]
test_data_raw = price_data[train_size:]
  • Створення послідовностей: у прогнозуванні часових рядів, особливо при використанні моделей типу LSTM, дані потрібно перетворити у формат послідовностей. Етап створення послідовностей полягає у формуванні пар вхід-вихід, де кожен вхід відповідає послідовності попередніх спостережень, а вихід — це прогнозоване значення для наступного кроку. Це важливо для того, щоб моделі могли навчатися на попередніх кроках і робити точні прогнози на майбутнє.
def create_sequences(data, seq_length):
xs = []
ys = []
      for i in range(len(data) - seq_length):
x = data[i:(i + seq_length)]
y = data[i + seq_length]
xs.append(x)
ys.append(y)
# Ensure numpy arrays are returned, helps with tensor conversion later
return np.array(xs), np.array(ys)

Підсумовуючи, попередня обробка є важливим етапом у прогнозуванні часових рядів. Масштабування ознак, розділення даних для навчання і тестування та створення послідовностей для подачі в модель забезпечують якісну підготовку даних для точного й ефективного прогнозування.

question mark

Яка мета масштабування ознак у попередній обробці часових рядів?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 3

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 3. Розділ 3
some-alt