Hands-On Time Series Analysis with R
eBook - ePub

Hands-On Time Series Analysis with R

Perform time series analysis and forecasting using R

  1. 448 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Hands-On Time Series Analysis with R

Perform time series analysis and forecasting using R

About this book

Build efficient forecasting models using traditional time series models and machine learning algorithms.

Key Features

  • Perform time series analysis and forecasting using R packages such as Forecast and h2o
  • Develop models and find patterns to create visualizations using the TSstudio and plotly packages
  • Master statistics and implement time-series methods using examples mentioned

Book Description

Time series analysis is the art of extracting meaningful insights from, and revealing patterns in, time series data using statistical and data visualization approaches. These insights and patterns can then be utilized to explore past events and forecast future values in the series.

This book explores the basics of time series analysis with R and lays the foundations you need to build forecasting models. You will learn how to preprocess raw time series data and clean and manipulate data with packages such as stats, lubridate, xts, and zoo. You will analyze data and extract meaningful information from it using both descriptive statistics and rich data visualization tools in R such as the TSstudio, plotly, and ggplot2 packages. The later section of the book delves into traditional forecasting models such as time series linear regression, exponential smoothing (Holt, Holt-Winter, and more) and Auto-Regressive Integrated Moving Average (ARIMA) models with the stats and forecast packages. You'll also cover advanced time series regression models with machine learning algorithms such as Random Forest and Gradient Boosting Machine using the h2o package.

By the end of this book, you will have the skills needed to explore your data, identify patterns, and build a forecasting model using various traditional and machine learning methods.

What you will learn

  • Visualize time series data and derive better insights
  • Explore auto-correlation and master statistical techniques
  • Use time series analysis tools from the stats, TSstudio, and forecast packages
  • Explore and identify seasonal and correlation patterns
  • Work with different time series formats in R
  • Explore time series models such as ARIMA, Holt-Winters, and more
  • Evaluate high-performance forecasting solutions

Who this book is for

Hands-On Time Series Analysis with R is ideal for data analysts, data scientists, and all R developers who are looking to perform time series analysis to predict outcomes effectively. A basic knowledge of statistics is required; some knowledge in R is expected, but not mandatory.

Trusted by 375,005 students

Access to over 1.5 million titles for a fair monthly price.

Study more efficiently using our study tools.

Information

Year
2019
Print ISBN
9781788629157
Edition
1
eBook ISBN
9781788624046

Forecasting with ARIMA Models

The Autoregressive Integrated Moving Average (ARIMA) model is the generic name for a family of forecasting models that are based on the Autoregressive (AR) and Moving Average (MA) processes. Among the traditional forecasting models (for example, linear regression, exponential smoothing, and so on), the ARIMA model is considered as the most advanced and robust approach. In this chapter, we will introduce the model components—the AR and MA processes and the differencing component. Furthermore, we will focus on methods and approaches for tuning the model's parameters with the use of differencing, the autocorrelation function (ACF), and the partial autocorrelation function (PACF).
In this chapter, we will cover the following topics:
  • The stationary state of time series data
  • The random walk process
  • The AR and MA processes
  • The ARMA and ARIMA models
  • The seasonal ARIMA model
  • Linear regression with the ARIMA errors model

Technical requirement

The following packages will be used in this chapter:
  • forecast: Version 8.5 and above
  • TSstudio: Version 0.1.4 and above
  • plotly: Version 4.8 and above
  • dplyr: Version 0.8.1 and above
  • lubridate: Version 1.7.4 and above
  • stats: Version 3.6.0 and above
  • datasets: Version 3.6.0 and above
  • base: Version 3.6.0 and above
You can access the codes for this chapter from the following link:
https://github.com/PacktPublishing/Hands-On-Time-Series-Analysis-with-R/tree/master/Chapter11

The stationary process

One of the main assumptions of the ARIMA family of models is that the input series follows the stationary process structure. This assumption is based on the Wold representation theorem, which states that any stationary process can be represented as a linear combination of white noise. Therefore, before we dive into the ARIMA model components, let's pause and talk about the stationary process. The stationary process, in the context of time series data, describes a stochastic state of the series. Time series data is stationary if the following conditions are taking place:
  • The mean and variance of the series do not change over time
  • The correlation structure of the series, along with its lags, remains the same over time
In the following examples, we will utilize the arima.sim function from the stats package to simulate a stationary and non-stationary time series data and plot it with the ts_plot function from the TSstudio package. The arima.sim function allows us to simulate time series data based on the ARIMA model's components and main characteristics:
  • An Autoregressive (AR) process: Establish a relationship between the series and its past p lags with the use of a regression model (between the series and its p lags)
  • A Moving Average (MA) process: Similar to the AR process, the MA process establishes the relationship with the error term at time t and the past error terms, with the use of regression between the two components (error at time t and the past error terms)
  • Integrated (I) process: The process of differencing the series with its d lags to transform the series into a stationary state
Here, the model argument of the function defines p, q, and d, as well as the order of the AR, MA, and I processes of the model. For now, don't worry if you are not familiar with this function—we will discuss it in detail later in this chapter.
The arima.sim function has a random component. Therefore, in order to be able to reproduce the examples throughout this chapter, we will use the set.seed function. The set.seed function allows you to create random numbers in a reproducible manner in R by setting the random generating seed value.
For instance, in the following example, we will simulate an AR process with one lag (that is, p = 1) and 500 observations with the arima.sim function. Before running the simulation, we will set the seed value to 12345:
set.seed(12345)

stationary_ts <- arima.sim(model = list(order = c(1,0,0),
ar = 0.5 ),
n = 500)
Now, let's plot the simulate time series with the ts_plot function:
library(TSstudio)

ts_plot(stationary_ts,
title = "Stationary Time Series",
Ytitle = "Value",
Xtitle = "Index")
We get the following output:
In this case, you can see that, ...

Table of contents

  1. Title Page
  2. Copyright and Credits
  3. Dedication
  4. About Packt
  5. Contributors
  6. Preface
  7. Introduction to Time Series Analysis and R
  8. Working with Date and Time Objects
  9. The Time Series Object
  10. Working with zoo and xts Objects
  11. Decomposition of Time Series Data
  12. Seasonality Analysis
  13. Correlation Analysis
  14. Forecasting Strategies
  15. Forecasting with Linear Regression
  16. Forecasting with Exponential Smoothing Models
  17. Forecasting with ARIMA Models
  18. Forecasting with Machine Learning Models
  19. Other Books You May Enjoy

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn how to download books offline
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.5M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1.5 million books across 990+ topics, we’ve got you covered! Learn about our mission
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more about Read Aloud
Yes! You can use the Perlego app on both iOS and Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app
Yes, you can access Hands-On Time Series Analysis with R by Rami Krispin in PDF and/or ePUB format, as well as other popular books in Computer Science & Data Modelling & Design. We have over 1.5 million books available in our catalogue for you to explore.