Code Monkey home page Code Monkey logo

timeseries-analysis-fbprophet-cesium's Introduction

Time Series Analysis with FbProphet and Cesium

Business Objective

Working with time series data can be challenging, especially for those without in-depth knowledge of various machine learning or deep learning models. To make time series analysis more accessible to data analysts and data scientists, two open-source libraries, FbProphet and Cesium, were introduced. These libraries empower users to perform powerful and intuitive time-series modeling without requiring expertise in forecasting techniques.

FbProphet, developed by Facebook, offers a user-friendly forecasting tool available in Python and R. It simplifies time-series forecasting with easily tunable parameters, making it accessible even to users without deep expertise.

Cesium is another open-source library that allows users to extract features from raw time series data, build machine learning models, and generate predictions for new data.

In this project, we aim to build models using the FbProphet and Cesium libraries for time series analysis.


Data Description

The dataset is "Call-centres" data, recorded at a monthly level. Calls are categorized by domain as the call center operates for various domains. The dataset also includes external regressors, such as the number of channels and phone lines, indicating traffic predictions by in-house analysts and resource availability. The dataset contains a total of 132 rows and 8 columns:

  • Month, healthcare, telecom, banking, technology, insurance, number of phone lines, and number of channels.

Aim

The primary objectives of this project are to:

  • Build a prophet model using the FbProphet library.
  • Create a multi-layer perceptron (MLP) model using the Cesium library on the provided time series dataset.

Tech Stack

  • Language: Python
  • Libraries: pandas, NumPy, matplotlib, seaborn, TensorFlow, Keras, FbProphet, Cesium

Approach

  1. Import the required libraries and read the dataset.
  2. Perform descriptive analysis.
  3. Exploratory Data Analysis (EDA):
    • Visualize the data.
  4. FbProphet:
    • Define a prophet model.
    • Fit the model.
    • Create a dataframe with future date values.
    • Make predictions within a defined range.
    • Create models with varying changepoints parameters.
    • Plot the results.
  5. Cesium:
    • Convert month to date timestamp format.
    • Reshape the data.
    • Extract features from raw time-series data.
    • Perform train-test split on the data.
    • Build a machine learning model (MLP) using these features.
    • Fit and train the MLP.
    • Generate predictions for the test data.
    • Plot the results.

Modular Code Overview

  • Input folder: Contains the data for analysis (e.g., CallCenterData.xlsx).

  • Src folder: Contains modularized code for all project steps, including:

    • Engine.py
    • ML_Pipeline (folder): Contains Python functions organized into appropriately named files, called within the engine.py file.
  • Output folder: Contains two subfolders:

    • Plots: Includes various visualization plots.
    • Models: Contains four models saved in pickle format.
  • Lib folder: Includes an IPython notebook


timeseries-analysis-fbprophet-cesium's People

Contributors

ajnavneet avatar

Watchers

 avatar  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.