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.
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.
Data overall kis direction mein ja raha hai�upar ya neeche. Long-term movement dikhata hai.
Pattern jo fixed time pe repeat hota hai�jaise har December sales badhte hain.
Data ko smooth karne ka tareeka. Noise hatake actual trend dikhata hai.
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.
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()Time Series Components
Koi bhi time series 4 components mein divided ho sakta hai:
- Trend (T): Long-term direction�business grow ho raha hai ya decline
- Seasonality (S): Fixed period pe repeat hone wala pattern
- Cyclical (C): Irregular patterns jo multiple years mein repeat hote hain
- Noise (N): Random fluctuations jo kisi pattern ko follow nahi karte
# 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.
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.
# 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
- Stock Market: Price prediction aur trading strategies
- Retail: Sales forecasting aur inventory management
- Weather: Temperature aur rainfall prediction
- Healthcare: Patient monitoring aur disease outbreak prediction
- Marketing: Campaign performance aur customer behavior analysis
Ab dimensionality reduction par chalo�taaki high-dimensional data ko visualize aur analyze kar sako.