White Noise and Random Walk
Before learning forecasting models, we must clearly understand two very important concepts that often confuse beginners:
- White Noise
- Random Walk
These are not just theory terms. They directly decide whether forecasting is possible or meaningless.
Why This Lesson Matters
Many beginners try to forecast data without checking its nature. As a result:
- Models give nonsense predictions
- Accuracy looks random
- Results change every time
Understanding white noise and random walk helps you answer one key question:
“Is this data even forecastable?”
1. What Is White Noise?
White noise is a time series that contains pure randomness. There is:
- No trend
- No seasonality
- No structure
- No memory of the past
Each value is completely independent of previous values.
Real-world intuition:
- Sensor measurement errors
- Background electronic noise
- Daily tiny fluctuations with no pattern
Python Example: Generating White Noise
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(42)
white_noise = np.random.normal(0, 1, 200)
plt.figure(figsize=(8,4))
plt.plot(white_noise)
plt.title("White Noise Time Series")
plt.xlabel("Time")
plt.ylabel("Value")
plt.show()
Let’s not imagine the output. Here is the actual plot produced by this code:
What you should observe:
- Values jump randomly
- No visible direction
- No repeating pattern
- No dependency between points
This is white noise.
Can White Noise Be Forecasted?
No.
Because:
- There is no information in the past
- Future values are independent
- Best prediction is always the mean
If your data looks like white noise, forecasting models are useless.
2. What Is a Random Walk?
A random walk looks random — but it is very different from white noise.
In a random walk:
- Each value depends on the previous value
- Random changes accumulate over time
Simple definition:
Today = Yesterday + Random Change
Real-world intuition:
- Stock prices (short term)
- Cryptocurrency prices
- Uncontrolled drifting processes
Python Example: Random Walk
np.random.seed(42)
steps = np.random.normal(0, 1, 200)
random_walk = np.cumsum(steps)
plt.figure(figsize=(8,4))
plt.plot(random_walk)
plt.title("Random Walk Time Series")
plt.xlabel("Time")
plt.ylabel("Value")
plt.show()
Here is the real output from the code:
What you should notice:
- The line drifts up and down
- Shocks persist over time
- No clear mean level
Unlike white noise, random walk has memory.
White Noise vs Random Walk (Visual Comparison)
| Feature | White Noise | Random Walk |
|---|---|---|
| Trend | No | Appears over time |
| Dependence | None | Strong |
| Stationary | Yes | No |
| Forecastable | No | Only after differencing |
Why Random Walk Breaks Forecasting
Random walk violates stationarity.
That means:
- Mean keeps changing
- Variance grows over time
- Models like ARIMA fail directly
This is why we transform data before modeling.
Practice Questions
Q1. Can white noise have seasonality?
Q2. Why is random walk harder than white noise?
Key Takeaways
- White noise = pure randomness
- Random walk = accumulated randomness
- Neither should be modeled directly
- Transformations are mandatory
Next Lesson
In the next lesson, we will learn time series decomposition — how to separate trend, seasonality, and noise visually and mathematically.