Post

Time Series Forecasting using LSTM📈

Time Series Forecasting using LSTM📈

lstm-thumbnail

Image generated by ChatGPT

This repository demonstrates time series forecasting using a Long Short-Term Memory (LSTM) model. The main objective is to predict future trajectories based on historical data.

🛠 How to Set Up and Replicate

  1. Clone the Repository:

    1
    2
    
    git clone https://github.com/AKR-2803/pytorch-time-series-forecasting
    cd pytorch-time-series-forecasting
    
  2. Install required dependencies: You can install all the necessary dependencies using the requirements.txt file:

    1
    
    pip install -r requirements.txt
    
  3. Dataset: The dataset can be downloaded from here

  4. When trying to run model.ipynb locally, replace this

    1
    2
    3
    4
    5
    6
    7
    8
    
     import os
     train_path = os.path.join("/kaggle/input/cse-575-project-2/train.csv")
     val_path = os.path.join("/kaggle/input/cse-575-project-2/val.csv")
     test_path = os.path.join("/kaggle/input/cse-575-project-2/test.csv")
    
     train_df = pd.read_csv(train_path, header=0).drop('ids', axis=1)
     val_df = pd.read_csv(val_path, header=0).drop('ids', axis=1)
     test_df = pd.read_csv(test_path, header=0).drop('ids', axis=1)
    

    with

    1
    2
    3
    4
    5
    6
    7
    
     train_path = "dataset/train.csv"
     val_path = "dataset/val.csv"
     test_path = "dataset/test.csv"
    
     train_df = pd.read_csv(train_path, header=0).drop('ids', axis=1)
     val_df = pd.read_csv(val_path, header=0).drop('ids', axis=1)
     test_df = pd.read_csv(test_path, header=0).drop('ids', axis=1)
    

    Make sure to replace all file paths, such as "dataset/train.csv", with your appropriate system paths.

  5. Ensure the dataset (containing train.csv, val.csv, and test.csv) folder is placed in the same directory as model.ipynb. This ensures the code can correctly locate the files when executed locally.

Output

The following output images display the results of the LSTM model’s predictions on the first three trajectory instances:

123
trajectory_0trajectory_1trajectory_2

Output trajectory for Row-1:

output-trajectory

This post is licensed under CC BY 4.0 by the author.