Lesson 13 � Intermediate

TIME SERIES
ANALYSIS.

Time series data mein time order important hai�stock prices, weather, sales forecast sab time series hain. Future predict karna main goal hai. Jab data point ek sequence mein aate hain aur unka order matter karta hai, toh use time series analysis karte hain.

? 22 min✓ Intermediate✓ Prerequisite: Clustering

WHY: Time Series kyun important hai?

Har business ko future predict karna hota hai�kal kitna bikega, agle mahine kitne log aayenge, stock price kya hoga. Time series data se hum patterns dhundhte hain jo repeat ho rahe hain, taaki future decisions better ho sakein.

TREND

Data overall kis direction mein ja raha hai�upar ya neeche. Long-term movement dikhata hai.

SEASONALITY

Pattern jo fixed time pe repeat hota hai�jaise har December sales badhte hain.

MOVING AVERAGE

Data ko smooth karne ka tareeka. Noise hatake actual trend dikhata hai.

FORECAST

Future values predict karna based on past patterns aur trends.

HOW: Time Series create karna

Python mein pandas se time series data handle karte hain. Pehle dates ke sath data create karte hain, phir patterns analyze karte hain.

python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# Create time series
dates = pd.date_range('2024-01-01', periods=365)
sales = 100 + np.cumsum(np.random.randn(365)*2) + np.sin(np.arange(365)*2*np.pi/365)*20
df = pd.DataFrame({'date': dates, 'sales': sales})
df.set_index('date', inplace=True)

# Rolling average
df['MA7'] = df['sales'].rolling(7).mean()
df['MA30'] = df['sales'].rolling(30).mean()

# Trend visualization
df['sales'].plot(label='Actual')
df['MA7'].plot(label='7-day MA')
df['MA30'].plot(label='30-day MA')
plt.legend(); plt.title('Sales Forecast'); plt.show()

# Seasonality analysis
monthly = df.resample('M').mean()
monthly['sales'].plot(kind='bar')
plt.title('Monthly Average Sales'); plt.show()
Mental model: Moving average ek sliding window hai jo har n data points ka average nikalta hai. Isse noise chhoot jaata hai aur real trend dikh jaata hai.

Time Series Components

Koi bhi time series 4 components mein divided ho sakta hai:

python
# Seasonality detect karna
from statsmodels.tsa.seasonal import seasonal_decompose

# Decompose the time series
decomposition = seasonal_decompose(df['sales'], model='additive', period=30)
fig = decomposition.plot()
plt.show()

Try it: Sales data analyze karo

Editor mein code chalao aur dekho kaise moving average trend ko smooth karta hai. Different window sizes try karo�7, 14, 30 days.

Python playgroundFirst run download kar sakta hai
Run Python dabayein

Forecasting basics

Forecasting ka matlab hai future values predict karna. Sabse simple method hai moving average�jo past data ka average future ke liye use karta hai.

python
# Simple forecasting using moving average
forecast_days = 30
last_values = df['sales'].tail(30).values
forecast = np.mean(last_values)

print(f"Next 30 days average forecast: {forecast:.2f}")

# Visualize forecast
future_dates = pd.date_range('2024-12-31', periods=forecast_days)
df_forecast = pd.DataFrame({'date': future_dates, 'forecast': [forecast]*forecast_days})
df_forecast.set_index('date', inplace=True)

df['sales'].plot(label='Historical')
df_forecast['forecast'].plot(label='Forecast', linestyle='--')
plt.legend(); plt.title('Sales Forecast'); plt.show()

Quick check

Moving average kya karta hai?

Socho: jab aap data ko smooth karte ho toh kya hota hai✓ Noise kahan jaata hai?

Real-world Applications

Time Series Analysis complete?

Ab dimensionality reduction par chalo�taaki high-dimensional data ko visualize aur analyze kar sako.