Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Chronological Validation Splits | Section
Engineering Temporal Features

bookChronological Validation Splits

Scorri per mostrare il menu

When working with time series data, it is crucial to design validation strategies that respect the temporal order of your observations. Unlike general machine learning datasets, where random train/test splits are common, time series data has a natural sequence—future values should never influence the past. Using standard random splits can lead to data leakage, as information from the future may inadvertently be used to predict the past, resulting in overly optimistic validation scores and models that perform poorly in production.

In time series modeling, you must always ensure that validation data comes strictly after the training data in time. This chronological order mimics real-world forecasting, where you train on past data and predict the future. Ignoring this order can invalidate your evaluation and lead to unreliable models.

1234567891011121314151617181920212223
import pandas as pd # Create a sample time series DataFrame data = { "date": pd.date_range("2023-01-01", periods=10, freq="D"), "value": [10, 12, 11, 13, 15, 16, 18, 17, 19, 20] } df = pd.DataFrame(data) # Sort by date to ensure chronological order df = df.sort_values("date") # Define the split index (e.g., 70% train, 30% validation) split_idx = int(len(df) * 0.7) # Chronological split train = df.iloc[:split_idx] validation = df.iloc[split_idx:] print("Train set:") print(train) print("\nValidation set:") print(validation)
copy
question mark

What is a likely consequence of using a randomly shuffled train/validation split on time series data?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 9

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 1. Capitolo 9
some-alt