Skip to content

nesl/TSFM_Building

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jan 15, 2025
9988dc9 Â· Jan 15, 2025

History

10 Commits
Oct 1, 2024
Oct 1, 2024
Oct 1, 2024
Jan 15, 2025
Oct 1, 2024
Oct 1, 2024
Oct 1, 2024
Oct 1, 2024
Oct 1, 2024
Oct 1, 2024
Oct 1, 2024

Repository files navigation

TSFM_Building

Pytorch implementation of [BuildSyS '24] Are Time Series Foundation Models Ready to Revolutionize Predictive Building Analytics?

Usage

The following code will run inference on each model and dataset:

python main.py --model YOUR_MODEL --real_data DATA

Here,

real_data \in {ecobee, electricity_uci, umass}
model \in {AutoARIMA,
              SeasonaARIMA,
              moment,
              chronos,
              TimeGPT,
              TimesFM,
              uni2ts
              ...}

Download dataset

Download electricity_uci dataset

Download the dataset from ElectricityLoadDiagrams20112014 Then put LD2011_2014.txt in the ./data/ folder.

Download ecobee dataset

Download the dataset Ecobee Then put combined_thermostat_data.csv in the ./data/ folder.

Download smart* dataset

The smart* (umass) dataset has been uploaded with the repo.

TS-foundation-model Setup

To reproduce the results, please first setup environments for each model:

Chronos installation

You can find it in this repo

Create an environment for Chronos

virtualenv chronos -p python3.10
source chronos/bin/activate

Install general packages

pip install -r requirements.txt

Install chronos

python3.10 -m pip install git+https://github.com/amazon-science/chronos-forecasting.git

Moment installation

You can find it in this repo

Create a environment for Moment. Please note that only python version >= 3.10 is supported.

virtualenv moment -p python3.10
source moment/bin/activate

Install general packages

pip install -r requirements.txt

Install moment

python3.10 -m pip install git+https://github.com/moment-timeseries-foundation-model/moment.git

Uni2ts installation

  1. Clone repository:
git clone https://github.com/SalesforceAIResearch/uni2ts.git
cd uni2ts
  1. Create virtual environment:
virtualenv uni2ts -p python3.10
source uni2ts/bin/activate
  1. Build from source:
pip install -e '.[notebook]'

Install general packages

pip install -r requirements.txt

TimeGPT installation

Install general packages

pip install -r requirements.txt
pip install nixtla>=0.5.1

need to get api key from nixtla

import pandas as pd
from nixtla import NixtlaClient


# 1. Instantiate the NixtlaClient
nixtla_client = NixtlaClient(api_key = 'YOUR API KEY HERE')

TimesFM installation

View the original repo. Follow the instruction in the repo to install the model.

[Update on 09/30/24] TimesFM can be installed via pip install timesfm

LagLlama installation

Create a new conda env

<!-- conda create -n LagLlama python=3.10
conda activate LagLlama -->
virtualenv LagLlama -p python3.10
source LagLlama/bin/activate

Install general packages

pip install -r requirements.txt

clone the repo

!git clone https://github.com/time-series-foundation-models/lag-llama/

Go to the current folder

cd <Current_folder>

Hyperlink your lag-llama folder to the current folder

ln -s <Your_lag-llama_folder> lag_src

Copy the model file and go to the lag-llama folder

cp lagllama_model.py lag_src
cd ./lag_src

install the requirements

!pip install -r requirements.txt --quiet # this could take some time # ignore the errors displayed by colab

download pretrained model weights from HuggingFace 🤗

!huggingface-cli download time-series-foundation-models/Lag-Llama lag-llama.ckpt --local-dir ./

and it will copy the model file to lag-llama

Contact Information

If you have any questions or feedback, feel free to reach out:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages