Giter Site home page Giter Site logo

mboaglio / forecasting-workshop Goto Github PK

View Code? Open in Web Editor NEW

This project forked from apac-ml-tfc/forecasting-workshop

0.0 2.0 0.0 43.58 MB

A workshop on timeseries forecasting with Amazon SageMaker and Amazon Forecast

Jupyter Notebook 93.37% Python 6.63%

forecasting-workshop's Introduction

Timeseries Forecasting on AWS

This demo repository walks through an example time-series forecasting problem, comparing pre-built timeseries forecasting engine Amazon Forecast with other models trained on data science platform Amazon SageMaker. We pay particular attention to modern forecasting procedures DeepAR and Prophet.

The demo is presented as a series of Python notebooks designed to be run in Amazon SageMaker, but with some parts requiring activity in the AWS Console.

Getting Started

Setting Up Your Notebook Instance

First you will need to create a new Notebook Instance, to do that begin by logging into the AWS Console.

Next, ensure you are in a supported region for Amazon Forecast. We test primarily in Asia Pacific (Singapore).

Under Find services in the main body of the page, enter SageMaker, then select it from the drop-down.

To the left, will see a category titled Notebook inside that, click Notebook instances.

Click the orange Create notebook instance button.

Give the instance a name unique in the account you are using. If a shared account, place your name first like FirstNameLastNameForecastDemo. The default Instance type is fine.

The Next component to change is the IAM role. Under the drop-down click Create a new role. Then for S3, select Any S3 Bucket, finally click Create role.

Note that the role itself has become a link. Open that link in a new tab.

Here you will update the policies of your instance to allow it to work with Forecast. Click the Attach policies button. Search and check the box next to the following policies: -IAMFullAccess -AmazonForecastFullAccess

Finally click the Attach policy button on the bottom right corner.

Now click on Trust relationship tab > click on Edit trust relationships button > update the json file with the following: "Service": [ "forecast.amazonaws.com", "sagemaker.amazonaws.com" ]

Next click the Create policy button at the top. In the new page, click the JSON tab.

Erase all of the content that is in the editor and paste the content in IAM_Policy.json.

After pasting, click the Review policy button. Give the policy again a personalize name like FirstNameLastNameForecastIAMPolicy.

For the description, enter in something about it being used to demo Forecast. Finally click Create policy. Close this tab or window.

Once closed you should see the tab for adding permissions to your SageMaker role. Click the Filter Policies link, then select Customer managed. After that, you should see the policy you just created, if the list is long, just paste the name in the search bar to reduce the number of items. If you do not see it still, click the refresh icon in the top right of the page.

After clicking the checkbox next to the policy, click Attach policy at the bottom of the page. Then close this window.

Back at the SageMaker Notebook Instance creation page, expand out the Git repositories section and select to "Clone a public Git repository into this notebook instance only": Provide the URL of this repository.

Now you're ready to click Create notebook instance at the bottom of the page. This process will take 5-10 minutes to complete. Once the status says InService you are ready to continue.

Working Through The Notebooks

To begin with your new notebook instance, click Open Jupyter or Open JupyterLab, this will take you to the default interface for the Notebook Instance.

The forecastworkshop folder should already be created for you: Enter it and start by opening Notebook 1.

If prompted for a kernel, select conda_python3.

From here you will follow the instructions outlined in the notebook.

Read every cell FULLY before executing it!

forecasting-workshop's People

Contributors

athewsey avatar

Watchers

James Cloos avatar paper2code - bot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.