Skip to content

An R/Shiny application created to help users practice ARIMA time series modelling. Hosted on AWS EC2.

Notifications You must be signed in to change notification settings

AndrewDisher/arima-shiny-app

Repository files navigation

ARIMA Modelling Application

This repository contains the R code, along with supplementary SCSS and YAML files, and a Dockerfile to create the R/Shiny application. This application was built to help users practice modeling randomly generated time series data with the Autoregressive Integrated Moving Average (ARIMA) framework, proposed by Box and Jenkins.

The application is hosted on an AWS EC2 instance here: Practice with ARIMA Modeling.

R/Shiny

The application was built using the R web application development package called Shiny. Shiny is an open source R package developed by Posit with the aim of helping data scientists and analysts communicate statistical findings by creating complex statistical web applications.

Docker

The base image used in the Dockerfile is rocker/shiny:4.3.0.

A pre-built docker image for this project can be found in this DockerHub repository for easy download.

A Dockerfile is provided here in case you'd like to build the image locally. To do this, run in your terminal the command

docker build -t adisher/arima-shiny-app:v1 .

To run a container from the built image (or after you've downloaded the pre-built image from DockerHub), run the command

docker run -d --rm -p 3838:3838 adisher/arima-shiny-app:v1

Shiny natively uses port 3838 and shiny-server, the software used to manage the application, listens on port 3838. So you must include 3838:3838 in your docker run command.

After doing so, the application should be available on your local machine at the url localhost:3838/arima-app.

Dependency Management

This project uses the renv package to manage R package dependencies for the app, so the Dockerfile is able to read and download these dependncies when building the Docker image.

Additional Linux dependencies are addressed via the rocker/shiny image mentioned above.

About the App

The application provides al of the tools and necessary diagnostic plots a data scientist would need to accurately model the time series data. On application start up, a time series is generated with a randomlyselected ARIMA data generating process, which the user is then meant to identify.

Using diagnostic plots for the autocorrelation function, inverse unit root plots, and various other residual diagnostic plots, a user of this app can iteratively add and remove model parameters that specify the order of an ARIMA model.

Once the user is content with their work and the final model they have specified, they can check the answer to validate their proposed model.

Happy modeling!

ARIMA-gif

About

An R/Shiny application created to help users practice ARIMA time series modelling. Hosted on AWS EC2.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published