How to Use Facebook Prophet for Time Series Forecasting
๐ How to Use Facebook Prophet for Time Series Forecasting
✅ What is Prophet?
Facebook Prophet is an open-source forecasting tool created by Facebook (Meta) designed for easy and accurate time series forecasting, especially for:
Daily or seasonal data
Business metrics (sales, traffic, etc.)
Irregular holidays or seasonality
It is robust to missing data and handles outliers well.
๐ ️ 1. Installation
bash
Copy
Edit
pip install prophet
Note: If you have trouble installing Prophet, you may need pystan or cmdstanpy as a backend.
๐ 2. Preparing Your Data
Prophet requires a DataFrame with two columns:
ds: Date column (datetime format)
y: The value you want to forecast
Example:
python
Copy
Edit
import pandas as pd
# Sample data
df = pd.read_csv('your_data.csv')
# Rename columns to 'ds' and 'y'
df.rename(columns={'date': 'ds', 'value': 'y'}, inplace=True)
df['ds'] = pd.to_datetime(df['ds'])
๐ 3. Fit the Prophet Model
python
Copy
Edit
from prophet import Prophet
# Create the model
model = Prophet()
# Fit to your data
model.fit(df)
๐ 4. Make Future Predictions
Create a DataFrame for Future Dates:
python
Copy
Edit
future = model.make_future_dataframe(periods=30) # forecast 30 days ahead
Forecast:
python
Copy
Edit
forecast = model.predict(future)
๐ 5. Visualize the Forecast
python
Copy
Edit
model.plot(forecast)
You can also plot the forecast components (trend, seasonality, holidays):
python
Copy
Edit
model.plot_components(forecast)
⚙️ 6. Add Seasonalities or Holidays (Optional)
Add Custom Seasonality:
python
Copy
Edit
model.add_seasonality(name='monthly', period=30.5, fourier_order=5)
Add Holidays:
python
Copy
Edit
holidays = pd.DataFrame({
'holiday': 'event_name',
'ds': pd.to_datetime(['2025-12-25', '2026-01-01']),
'lower_window': 0,
'upper_window': 1
})
model = Prophet(holidays=holidays)
✅ 7. Evaluate the Model (Optional)
You can split your data into training and testing sets and compare predictions with actual values.
python
Copy
Edit
from sklearn.metrics import mean_absolute_error
actual = df['y'][-30:].values
predicted = forecast['yhat'][-30:].values
mae = mean_absolute_error(actual, predicted)
print(f'MAE: {mae}')
๐ Key Features of Prophet
Feature Supported?
Trend Modeling ✅ Yes
Seasonality ✅ Yes
Holidays/Events ✅ Yes
Missing Data ✅ Handled
Outlier Robustness ✅ Yes
๐ง When to Use Prophet
Use Prophet when:
You have daily/weekly/monthly time series data.
Your data has strong seasonal patterns.
You want a simple and interpretable model.
You need quick and reasonably accurate forecasts.
๐ Conclusion
Facebook Prophet is a great tool for:
Quick implementation
Business and financial forecasting
Handling real-world challenges like holidays and seasonality
Learn Data Science Course in Hyderabad
Read More
Common Time Series Forecasting Methods: ARIMA vs. LSTM
Introduction to Time Series Analysis in Data Science
12. Time Series Analysis and Forecasting
How to Use SHAP and LIME for Model Interpretability
Visit Our Quality Thought Training Institute in Hyderabad
Comments
Post a Comment