Skip Navigation Links.
🏠Home
Collapse 💻Apps💻Apps
Collapse 📂Topics📂Topics
Collapse 📹Video Tutorials📹Video Tutorials
🎬SQL: Pivot and Unpivot Dat...
🎬Power BI: Creating Busines...
🎬Analysing Data in SQL Serv...
🎬Time Intelligence in Power...
🎬SQL Magic: Auto-Generating...
🎬Using Gemini for SQL Data ...
🎬Using Dropdown Lists Effec...
🎬Build a Stunning Animated ...
🎬Power BI: Creating and Int...
🎬Advanced Power BI Realtime...
🎬Real time Monitoring with ...
🎬Creating and Using Flow Ma...
🎬How to create terrain, add...
🎬Game Design Tutorial for B...
🎬Dashboard with Relational ...
🎬Power Pivot and Data Model...
🎬Selecting Project using Pr...
🎬Two Ways to Use Custom SQL...
🎬Diversity, Equity, and Inc...
🎬Complete Guide to Using Dr...
🎬Gantt Chart in Power BI: C...
🎬Monitoring Progress Using ...
🎬Creating a Dashboard of Sa...
🎬Indigeno Technologies - Pa...
🎬Creating and Publishing We...
🎬Make Your Data Grow: Tree ...
🎬Power BI: Adding Historica...
🎬We asked an AI to create a...
🎬Power BI: Staff Engagement...
🎬Using Unicode Symbols in E...
🎬Power BI: Timesheet Analys...
🎬Time Machine for Your Data...
🎬Azure Data Studio - Comple...
🎬Power BI: Creating a Stunn...
🎬Power BI: Project Payback,...
🎬Power BI: Complete Realtim...
🎬Power BI: DAX Query View f...
🎬Build Your Own Excel Toolb...
🎬Data Science Programming: ...
🎬Power BI: Manage and Track...
🎬MS Excel: Using Images in ...
🎬MS Excel: Complete Guide t...
🎬Power BI: Creating Dashboa...
🎬Power BI: Using Latest Pre...
🎬Power BI: Performing Compa...
🎬Power BI: Creating Dashboa...
🎬Python: Forecasting with S...
🎬Power BI: Creating a Dice ...
🎬MS Excel: Creating a Dynam...
🎬Power BI: Create stunningl...
🎬MS Excel: Data Visualizati...
🎬Power BI: Assets Managemen...
🎬Power BI: Using Copilot in...
🎬Power BI: How to Create a ...
🎬MS Excel: Complete Guide t...
🎬Power BI: Easily Pivoting ...
🎬Power BI: How to Create a ...
🎬MS Excel: Using Python Rea...
🎬MS Excel: Realtime/Live Da...
🎬Power BI: Creating Paginat...
🎬Power BI: Exploring PBI On...
🎬MS Excel: Mastering MS Exc...
🎬MS Excel: Performing Non-L...
🎬MS Excel: How to add lates...
🎬Power BI: Performing PESTL...
🎬Power BI: Creating an Exot...
🎬Python: Resizing and Conve...
🎬Power BI:The Clock - Episo...
🎬MS Power Point: The Clock ...
🎬Looker Studio: Setting up ...
🎬HTML: Complete Course for ...
🎬Power BI: Creating a Power...
🎬MS Excel: Best Way to Crea...
🎬Power BI: Setting up Repor...
🎬Power BI: Real-time Data R...
🎬MS Excel: Mastering Excel ...
🎬SQL: Creating Realtime Liv...
🎬SQL: SQL Server Reporting ...
🎬Power BI: Data Modeling an...
🎬MS Excel: Data Modeling an...
🎬Python: Mastering NumPy Li...
🎬Power BI: Automating Data ...
🎬Power BI: How to Build a P...
🎬Power BI: Displaying Realt...
🎬Power BI: Unlocking Insigh...
🎬Power BI: How to Create a ...
🎬Power BI: Comparing Variou...
🎬Power BI: Animate Your Vis...
🎬MS Excel: Using Formulas l...
🎬Power BI: Using Folders as...
🎬Power BI: Using Folders as...
🎬Python: Uploading Files Di...
🎬Power BI: Creating Stunnin...
🎬Power BI: Integrating Pict...
🎬Power BI: Crafting Dynamic...
🎬Power BI: Dealing with Err...
🎬Power BI: Creating Dynamic...
🎬MS Excel: Calculating, Com...
🎬Power BI: Exploratory Data...
🎬Power BI: Create an Intera...
🎬Python: Creating Polynomia...
🎬Looker Studio: Creating Dy...
🎬Google Charts: Using Googl...
🎬Looker Studio: Understandi...
🎬Python: Mastering Data Vis...
🎬Power BI: Realtime Simulat...
🎬Power BI: Connecting to an...
🎬Python: Performing basic S...
🎬MS Excel: Simplifying Comp...
🎬Power BI: How to Create Hi...
🎬MS Excel: How to Use Calcu...
🎬Power BI: Using Small Mult...
🎬Power BI: Performing Finan...
🎬Power BI: Displaying SQL D...
🎬Power BI: Displaying Audit...
🎬Power BI: Loading Data int...
🎬Power BI: Using SQL Query ...
🎬Power BI: Visualizing Basi...
🎬MS Excel: Create a Smart, ...
🎬Power BI: Realtime Plant S...
🎬Power BI: Analyzing Season...
🎬Power BI: Creating your fi...
🎬Power BI: Creating Paginat...
🎬Power BI: Creating a Key P...
🎬Power BI: Creating Data So...
🎬Power BI: Setting up Power...
🎬Creating and Setting up a ...
🎬Power BI: Creating Pareto ...
🎬Power BI: Realtime Call Ce...
🎬Power BI: Creating a Proje...
🎬Power BI: Displaying Live ...
🎬Power BI: Using Conditiona...
🎬MS Excel: How to Create Re...
🎬Power BI: Realtime Sales S...
🎬Power BI: Displaying Realt...
🎬MS Excel: Using Excel Slic...
🎬Tableau: Tutorial for Begi...
🎬Power BI: How to Use Bookm...
🎬MS Access: How to Create R...
🎬MS Excel: Using What If An...
🎬Power BI: Create a YouTube...
🎬Power BI: Correlation Anal...
🎬Power BI: Analyzing Murder...
🎬Power BI: Manage and Monit...
🎬MS Excel: Creating an Anim...
🎬MS Excel: Creating 3D Maps...
🎬Power BI: Analyzing Wareho...
🎬MS Excel: How to add seria...
🎬Power BI: Mastering Market...
🎬MS Excel: What lies beneat...
🎬MS Excel/Power BI: Unpivot...
🎬Power BI: Exploring Defaul...
🎬MS Excel: Using the Break-...
🎬MS Excel: Predicting Sales...
🎬Power BI: Market Basket An...
🎬MS Excel: Creating a Bell ...
🎬Power BI: Creating a Dimen...
🎬Looker Studio: Creating a ...
🎬R: Creating Your First Pie...
🎬MS Excel: Conditional Form...
🎬Power BI: Analyzing human ...
🎬Python: Unleashing the Pow...
🎬Excel: Mapping, Grouping a...
🎬Power BI: Forecasting Data...
🎬Power BI: Grouping Data in...
🎬JavaScript: Using the if-e...
🎬Power BI: Connecting to th...
🎬JavaScript: Performing Mat...
🎬Power BI: Analyzing Bank L...
🎬MS Excel: Pivot... Pivot.....
🎬JavaScript: How to use onC...
🎬Power BI: Using Sankey Dia...
🎬Power BI: Multi Page Power...
🎬JavaScript: How to use onL...
🎬JavaScript: How to get the...
🎬Power BI: Crimes in Los An...
🎬Power BI: Crimes in Los An...
🎬Excel: Using the Fill Feat...
🎬Power BI: Drill-through Re...
🎬Power BI: Using DAX (Data ...
🎬Power BI: Using Smart Narr...
🎬Power BI: Bank Failure in ...
🎬Python: Predicting absente...
🎬Power BI: Dashboards with ...
🎬Power BI: Team and Product...
🎬Excel: Lookup Functions, V...
🎬Power BI: Artificial Intel...
🎬Power BI: Drill Down Repor...
🎬Python: Creating a GUI bas...
🎬Power BI: Visualizing Stoc...
🎬Python: Expected Returns (...
🎬Power BI: Decomposition Tr...
🎬Power BI: Sales and Profit...
🎬Python: Why you should not...
🎬Python: How to save, reloa...
🎬Power BI: Dimensional Mode...
🎬Python: How to classify da...
🎬Python: Machine Learning, ...
🎬Python: Web Scraping using...
🎬Animate: Classic Tween in ...
🎬Python: Support Vector Mac...
🎬Python: How to perform loo...
🎬Unity3d: How to create ter...
🎬Python: How to create and ...
🎬Python: How to work with a...
🎬Python: How to work with p...
🎬Python: How to work with S...
🎬SQL: How to create databas...
🎬Python: Data Scraping from...
🎬MS Excel: Pivot Tables, Pi...
🎬Python: How to use World B...
🎬MS Excel: How to use COUPD...
🎬Power BI: How to install P...
🎬Python: Easiest way to dow...
🎬MS Excel: How to use AMORD...
🎬MS Excel: How to use ACCRI...
🎬Python: Calculating varian...
🎬MS Excel: How to calculate...
🎬Python: How to calculate a...
🎬MS Excel: How to calculate...
🎬Python: How to calculate a...
🎬MS Excel: How to calculate...
🎬Python: How to calculate a...
🎬MS Excel: How to calculate...

📄Seasonal Autoregressive Integrated Moving Average (SARIMA)

SARIMA stands for Seasonal Autoregressive Integrated Moving Average. It`s a powerful statistical model used for forecasting time series data with seasonal patterns. In simpler terms, it helps predict future values in a series that shows regular ups and downs over specific periods like months, quarters, or years. SARIMA is an extension of the ARIMA (Autoregressive Integrated Moving Average) model, which doesn`t handle seasonality effectively. It adds additional parameters to account for seasonal behavior in the data. Think of it like capturing the regular ups and downs within your overall trend. SARIMA is popular in various fields like finance (stock price prediction), business (demand forecasting), weather forecasts (temprature), and even epidemiology (tracking disease outbreaks).

SARIMA has following components:-
Seasonal (S): For seasonal patterns.
Autoregressive (AR): Considers past values of the series to predict future values.
Integrated (I): Removes trends by differencing the data (subtracting previous values).
Moving Average (MA): Accounts for random noise by considering past error terms.

To calculate SARIMA in MS Excel using python, you can use the SARIMAX library from statsmodels. Import this library using following code.

from statsmodels.tsa.statespace.sarimax import SARIMAX

We used global temprature data from 1880 to 1999 in our spreadsheet which we placed in column C in range C2:C121. We can import that data into a python dataframe using following python code.

data = xl("C2:C121")

Then we create SARIMAX model by providing three basic parameters: data, order, and trend. Data is the dataframe we created from the excel range. The same data will be entered into the SARIMAX data paramter. Order requires three paramters. Auto-Regressive Order, Difference Order and Trend Order. Auto-Regressive order (p), refers to the number of past values considered, when predicting the future values of a data point in a time series.

Difference order (d) aims to stabilize the data by subtracting a previous lagged value from the current one. The difference order "d" specifies the number of times this differencing is applied.

d = 0: No differencing. This implies the data might already be stationary or requires further investigation.
d = 1: First-order differencing removes linear trends and seasonality if the seasonal period is 1.
d > 1: Higher-order differencing might be necessary for complex trends or longer seasonal periods.

However, over-differencing can remove too much information and harm the model`s accuracy. Finding the optimal difference order is crucial for accurate forecasting. Tools like autocorrelation function (ACF) and partial autocorrelation function (PACF) plots help identify patterns and guide the selection. Statistical tests like Dickey-Fuller test can also confirm stationarity after differencing.

Moving Average order (q) captures the influence of past forecasting errors on the current value of the series. It essentially looks at past errors (residuals) in the data and uses them to adjust the predictions. Higher q values imply more emphasis on past errors.

Finally, the trend argument in statsmodels.tsa.statespace.SARIMAX specifies how to account for potential trends in your time series data. It allows you to model either a constant term, a linear trend over time, or both. Parameter value `c` means constant and `t` means trend (increasing or decreasing) and `ct` means both.

model = SARIMAX(data, order=(10, 1, 0), trend="ct")

Now we can train the model using the model.fit command.

fit= model.fit()

To predict the values, we can use the forecast function with steps parameter defining the number of values to be predicted. Here we are predicting 24 values i.e. from 2000 to 2023.

forecast = fit.forecast(steps=24)

You can predict any number of values as you like. If you predict just one value, and then predict next value from dataset including the previously predicted value, the result will almost be the same.

You can convert these values from array to list using forecast.tolist(). And to display the data, make sure to change python output next to the formula bar from python object, to excel value.


Image

Relevent youtube tutorial: https://virtual-school.org/p?v=aUHcEc1ZBYY

Reference: https://www.statsmodels.org/devel/generated/statsmodels.tsa.statespace.sarimax.SARIMAX.html