In October 2023, I published an article on TimeGPT, one of the first foundation model for time series forecasting, capable of zero-shot inference, anomaly detection and conformal prediction capabilities.
However, TimeGPT is a proprietary model that is only accessed via an API token. Still, it sparked more research in foundation models for time series, as this area has been lagging compared to natural language processing (NLP) and computer vision.
2023년 10월, 제로 샷 추론, 이상 징후 감지, 적합도 예측 기능을 갖춘 시계열 예측을 위한 최초의 기초 모델 중 하나인 TimeGPT에 대한 기사를 게시했습니다.
그러나 TimeGPT는 API 토큰을 통해서만 액세스할 수 있는 독점 모델입니다. 그럼에도 불구하고 이 분야는 자연어 처리(NLP) 및 컴퓨터 비전에 비해 뒤쳐져 있었기 때문에 시계열을 위한 기초 모델에 대한 더 많은 연구를 촉발시켰습니다.
Fast-forward to February 2024, and we now have an open-source foundation model for time series forecasting: Lag-Llama.
In the original paper: Lag-Llama: Towards Foundation Models for Probabilistic Time Series Forecasting, the model is presented as a general-purpose foundation model for univariate probabilistic forecasting. It was developed by a large team from different institutions like Morgan Stanley, ServiceNow, Université de Montréal, Mila-Quebec, and McGill University.
In this article, we explore the architecture of Lag-Llama, its capabilities and how it was trained. Then we actually use Lag-Llama in a forecasting project, and compare its performance to other deep learning methods life Temporal Fusion Transformer (TFT) and DeepAR.
2024년 2월, 이제 시계열 예측을 위한 오픈 소스 기반 모델을 갖추게 되었습니다: Lag-Llama.
원본 논문에서 확인하세요: 'Lag-Llama: 확률적 시계열 예측을 위한 기초 모델을 향하여'에서 이 모델은 단변량 확률적 예측을 위한 범용 기초 모델로 소개됩니다. 이 모델은 모건 스탠리, ServiceNow, 몬트리올 대학교, 밀라 퀘벡 대학교, 맥길 대학교 등 여러 기관의 대규모 팀에 의해 개발되었습니다.
이 글에서는 Lag-Llama의 아키텍처와 그 기능, 그리고 학습 방법을 살펴봅니다. 그런 다음 실제로 예측 프로젝트에서 Lag-Llama를 사용하여 다른 딥 러닝 방법인 시간적 융합 트랜스포머(TFT) 및 DeepAR과 성능을 비교합니다.
Of course, for more details, you can read the original paper.
Let’s get started!
Explore Lag-Llama
As mentioned earlier, Lag-Llama is built for univariate probabilistic forecasting.
It uses a general method for tokenizing time series data that does not rely on frequency. That way, the model can generalize well to unseen frequencies.
It leverages the Transformer architecture along with a distribution head to parse the input tokens and map them to future forecasts with confidence intervals.
Since there is a lot to cover, let’s explore each main component in more detail.
앞서 언급했듯이 Lag-Llama는 단변량 확률 예측을 위해 만들어졌습니다.
frequency에 의존하지 않는 시계열 데이터를 토큰화하는 일반적인 방법을 사용합니다. 따라서 이 모델은 보이지 않는 주파수에 대해서도 잘 일반화할 수 있습니다.
이 모델은 트랜스포머 아키텍처와 배포 헤드를 활용하여 입력 토큰을 파싱하고 이를 신뢰 구간으로 미래 예측에 매핑합니다.
다룰 내용이 많으므로 각 주요 구성 요소를 더 자세히 살펴보겠습니다.
Tokenization with lag features
The tokenization strategy of Lag-Llama involves constructing lagged features of the series using a specified set of lags.
Specifically, it will choose all appropriate frequencies for a given dataset from this list:
- quarterly
- monthly
- weekly
- daily
- hourly
- every second
This means that if we feed a dataset with a daily frequency, Lag-Llama will attempt to build features using a daily lag (t-1), a weekly lag (t-7), a monthly lag (t-30), and so on.
Lag-Llama의 토큰화 전략은 지정된 지연 세트를 사용해 지연된 특징을 가진 계열을 구성하는 것입니다.
구체적으로, 이 목록에서 주어진 데이터 세트에 적합한 모든 frequencies를 선택합니다:
분기별
매월
매주
매일
매시간
매초
즉, 일별 빈도로 데이터 집합을 제공하면 Lag-Llama는 일일 지연(t-1), 주간 지연(t-7), 월간 지연(t-30) 등을 사용하여 기능을 구축하려고 시도합니다.
This strategy is depicted in the image below.
Tokenization strategy of Lag-Llama. Image from Lag-Llama: Towards Foundation Models for Probabilistic Time Series Forecasting by K. Rasul, A. Ashok, A. Williams, H. Ghonia, R. Bhagwatkar, A. Khorasani, M. Bayazi, G. Adamopoulos, R. Riachi, N. Hassen, M. Bilos, S. Garg, A. Schneider, N. Chapados, A. Drouin, V. Zantedeschi, Y. Nevmyvaka, I. Rish
From the figure above, we also notice that other static covariates are built, such as second-of-minute, hour-of-day, and so on, up until quarter-of-year.
While this generalizes well to all kinds of time series, it also comes with the downside that the input token can get very large due to the fixed list of lag indices.
For example, looking at the monthly frequency of hourly data requires 730 time steps. This means that the input token has a length of at least 730, in addition to all static covariates.
위 그림에서 분 단위, 일 단위, 시간 단위 등 다른 정적 공변량도 분기 단위까지 구축되어 있음을 알 수 있습니다.
이는 모든 종류의 시계열에 잘 일반화되지만, 고정된 지연 인덱스 목록으로 인해 입력 토큰이 매우 커질 수 있다는 단점도 있습니다.
예를 들어, 시간별 데이터의 월별 빈도를 보려면 730개의 시간 단계가 필요합니다. 이는 입력 토큰의 길이가 모든 정적 공변량과 더불어 최소 730개 이상이라는 것을 의미합니다.
Architecture of Lag-Llama
Lag-Llama is a decoder-only Transformer-based model, and takes inspiration from the architecture of the large language model LLaMA.
A schematic of the architecture is shown below.
Lag-Llama는 디코더 전용 Transformer 기반 모델로, 대규모 언어 모델인 LLaMA의 아키텍처에서 영감을 얻었습니다.
아키텍처의 도식은 아래와 같습니다.
Architecture of Lag-Llama. Image from Lag-Llama: Towards Foundation Models for Probabilistic Time Series Forecasting by K. Rasul, A. Ashok, A. Williams, H. Ghonia, R. Bhagwatkar, A. Khorasani, M. Bayazi, G. Adamopoulos, R. Riachi, N. Hassen, M. Bilos, S. Garg, A. Schneider, N. Chapados, A. Drouin, V. Zantedeschi, Y. Nevmyvaka, I. Rish
From the figure above, we can see that the input token is a concatenation of lagged time steps and static covariates.
The input sequence is sent through a linear projection layer that maps the features to a hidden dimension of the attention module inside the decoder.
From there, the input sequence is sent to a distribution head, which is responsible for outputting a probability distribution.
During inference, the input sequence generates the distribution for the next point in time. Then, by autoregressive decoding, the model generates the rest of the forecast sequence until the length of the horizon is reached.
The autoregressive process of generating predictions effectively allows the model to generate uncertainty intervals for its forecasts.
Thus, we can see that the distribution head plays an important role in Lag-Llama, so let’s explore it further.
위의 그림에서 입력 토큰은 지연된 시간 단계와 정적 공변량의 연결임을 알 수 있습니다.
입력 시퀀스는 특징을 디코더 내부의 주의 모듈의 숨겨진 차원에 매핑하는 선형 투영 레이어를 통해 전송됩니다.
여기에서 입력 시퀀스는 확률 분포 출력을 담당하는 분포 헤드로 전송됩니다.
추론하는 동안 입력 시퀀스는 다음 시점에 대한 분포를 생성합니다. 그런 다음 모델은 자동 회귀 디코딩을 통해 지평선 길이에 도달할 때까지 나머지 예측 시퀀스를 생성합니다.
예측을 생성하는 자동 회귀 프로세스를 통해 모델은 예측에 대한 불확실성 구간을 효과적으로 생성할 수 있습니다.
따라서 분포 헤드가 Lag-Llama에서 중요한 역할을 한다는 것을 알 수 있으므로 이에 대해 자세히 살펴보겠습니다.
Understand the distribution head of Lag-Llama
As mentioned above, the distribution head of Lag-Llama is responsible for outputting a probability distribution.
This is how the model is able to generate prediction intervals.
In this iteration of the model, the last layer uses the Student’s t-distribution to construct the uncertainty intervals.
Technically, different distribution heads could be combined, but this experiment was not conducted and is left for future work.
Now that we have a deeper understanding of the inner workings of Lag-Llama, let’s see how the model was trained.s
위에서 언급했듯이 Lag-Llama의 분포 헤드는 확률 분포의 출력을 담당합니다.
이것이 모델이 예측 간격을 생성할 수 있는 방법입니다.
이 모델의 반복에서 마지막 계층은 학생의 t 분포를 사용하여 불확실성 구간을 구성합니다.
기술적으로는 서로 다른 분포 헤드를 결합할 수도 있지만 이 실험은 수행되지 않았으며 향후 작업을 위해 남겨져 있습니다.
이제 Lag-Llama의 내부 작동에 대해 더 깊이 이해했으니 모델이 어떻게 훈련되었는지 살펴보겠습니다.
Training Lag-Llama
Being a foundation model, Lag-Llama was obviously trained on a large corpus of time series data, such that the model can then generalize well on unseen time series and perform zero-shot forecasting.
In this case, Lag-Llama was trained on 27 time series datasets from different domains, such as energy, transportation, economics, and others.
The training corpus thus contains 7965 univariate time series, totalling around 352 million tokens.
All datasets are open-source, and include popular benchmarks like Etth, Exchange and Weather.
Note that the datasets were split into a training and test set, allowing the authors to use open-source data to train and evaluate the model.
You can consult the full list of datasets used for training here.
Let’s now apply Lag-Llama in small forecasting project.
기초 모델인 Lag-Llama는 대량의 시계열 데이터 코퍼스를 기반으로 학습되었기 때문에 보이지 않는 시계열에 대해서도 일반화하여 제로 샷 예측을 수행할 수 있는 것이 분명합니다.
이 사례에서 Lag-Llama는 에너지, 교통, 경제 등 다양한 영역의 27개 시계열 데이터 집합으로 학습되었습니다.
따라서 훈련 코퍼스에는 7965개의 단변량 시계열, 총 3억 5200만 개의 토큰이 포함되어 있습니다.
모든 데이터 세트는 오픈 소스이며, Etth, 거래소, 날씨와 같은 인기 벤치마크가 포함되어 있습니다.
데이터 세트는 훈련과 테스트 세트로 나뉘어져 있어 작성자가 오픈 소스 데이터를 사용해 모델을 훈련하고 평가할 수 있습니다.
학습에 사용된 데이터 세트의 전체 목록은 여기에서 확인할 수 있습니다.
이제 소규모 예보 프로젝트에 Lag-Llama를 적용해 보겠습니다.
Forecasting with Lag-Llama
In this small forecasting project, we first use Lag-Llama’s zero-shot forecasting capabilities and compare its performance to data-specific models such as TFT and DeepAR.
It seems that the implementation of Lag-Llama was built on top of GluonTS, so we use this library for this experiment.
Specifically, we use the Australian Electricity Demand dataset, which contains five univariate time series tracking the energy demand at a half-hourly frequency. The dataset is publicly available on the Monash Forecasting Repository.
Note that the current implementation of Lag-Llama is very early. The repository is still being actively developed, and more scripts will be added for more advanced usage, like fine-tuning the model on a dataset.
As always, the full source code for this experiment is available on GitHub.
이 작은 예측 프로젝트에서는 먼저 Lag-Llama의 제로 샷 예측 기능을 사용하고 그 성능을 TFT 및 DeepAR과 같은 데이터별 모델과 비교합니다.
Lag-Llama의 구현은 GluonTS를 기반으로 구축되었으므로 이 실험에서는 이 라이브러리를 사용합니다.
특히, 30분 단위로 에너지 수요를 추적하는 5개의 단변량 시계열이 포함된 호주 전력 수요 데이터 세트를 사용합니다. 이 데이터 세트는 모나쉬 예측 리포지토리에서 공개적으로 사용할 수 있습니다.
현재 Lag-Llama의 구현은 매우 초기 단계라는 점에 유의하세요. 리포지토리는 여전히 활발히 개발 중이며, 데이터 세트에서 모델을 미세 조정하는 등 고급 사용을 위해 더 많은 스크립트가 추가될 예정입니다.
언제나 그렇듯이 이 실험의 전체 소스 코드는 GitHub에서 확인할 수 있습니다.
Environment setup
To use Lag-Llama, we must first clone the repository and install the necessary requirements.
!git clone https://github.com/time-series-foundation-models/lag-llama/
cd lag-llama
pip install -r requirements.txt --quiet
Once the packages are installed, we can download the weights of the model from HuggingFace.
!huggingface-cli download time-series-foundation-models/Lag-Llama lag-llama.ckpt --local-dir /content/lag-llama
Load the dataset
Now, we can load the dataset and prepare it for inference.
We start off with the required library imports.
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import torch
from itertools import islice
from gluonts.evaluation import make_evaluation_predictions, Evaluator
from gluonts.dataset.repository.datasets import get_dataset
from lag_llama.gluon.estimator import LagLlamaEstimator
Then, we can load the dataset directly from GluonTS.
dataset = get_dataset("australian_electricity_demand")
backtest_dataset = dataset.test prediction_length = dataset.metadata.prediction_length
context_length = 3 * prediction_length
The data is now ready to be used for inference.
Predict with Lag-Llama
Then, we can simply initialize the model and use the LagLlamaEstimator object.
ckpt = torch.load("lag-llama.ckpt", map_location=torch.device('cuda:0'))
estimator_args = ckpt["hyper_parameters"]["model_kwargs"]
estimator = LagLlamaEstimator( ckpt_path="lag-llama.ckpt",
prediction_length=prediction_length,
context_length=context_length,
input_size=estimator_args["input_size"],
n_layer=estimator_args["n_layer"],
n_embd_per_head=estimator_args["n_embd_per_head"],
n_head=estimator_args["n_head"],
scaling=estimator_args["scaling"],
time_feat=estimator_args["time_feat"])
lightning_module = estimator.create_lightning_module()
transformation = estimator.create_transformation()
predictor = estimator.create_predictor(transformation, lightning_module)
Perfect! We then generate zero-shot predictions using the make_evaluation_predictions function.
forecast_it, ts_it = make_evaluation_predictions(
dataset=backtest_dataset,
predictor=predictor)
Note that this function returns generators. So, let’s convert them to lists so it’s easier to work with.
forecasts = list(forecast_it)
tss = list(ts_it)
Evaluation of Lag-Llama
GluonTS can then conveniently compute different performance metrics using the Evaluator object.
evaluator = Evaluator()
agg_metrics, ts_metrics = evaluator(iter(tss), iter(forecasts))
Here, we get a RMSE of 481.57.
Optionally, we can also visualize the predictions. For convenience, we only show the first four series of the dataset.
선택적으로 예측을 시각화할 수도 있습니다. 편의상 데이터 집합의 처음 네 시리즈만 표시합니다.
plt.figure(figsize=(20, 15))
date_formater = mdates.DateFormatter('%b, %d')
plt.rcParams.update({'font.size': 15})
for idx, (forecast, ts) in islice(enumerate(zip(forecasts, tss)), 4):
ax = plt.subplot(2, 2, idx+1)
plt.plot(ts[-4 * dataset.metadata.prediction_length:].to_timestamp(), label="target")
forecast.plot( color='g')
plt.xticks(rotation=60)
ax.xaxis.set_major_formatter(date_formater)
ax.set_title(forecast.item_id)
plt.gcf().tight_layout()
plt.legend()
plt.show()
Visualizing the zero-shot predictions of Lag-Llama on the Australian Electricity Demand dataset. Image by the author.
In the figure above, we can see that the model made reasonable predictions on the data, although it does have trouble with the fourth series (bottom right of the figure).
Plus, since Lag-Llama implements probabilistic predictions, we also get uncertainty intervals along with the predictions.
Now that we know how to use Lag-Llama for zero-shot forecasting, let’s compare its performance against data-specific models.
호주 전력 수요 데이터 집합에서 Lag-Llama의 제로 샷 예측을 시각화합니다.
위 그림에서 이 모델이 데이터에 대해 합리적인 예측을 했음을 알 수 있지만, 네 번째 계열(그림의 오른쪽 아래)에 문제가 있음을 알 수 있습니다.
또한 Lag-Llama는 확률적 예측을 구현하므로 예측과 함께 불확실성 구간도 얻을 수 있습니다.
이제 제로 샷 예측에 Lag-Llama를 사용하는 방법을 알았으니 데이터별 모델과 성능을 비교해 보겠습니다.
Comparing to TFT and DeepAR
For consistency, we keep using the GluonTS library and train a TFT and DeepAR models on the dataset to see if they can perform better.
To save some time, we constrain training to five epochs only.
일관성을 위해 GluonTS 라이브러리를 계속 사용하고 데이터 세트에 대해 TFT 및 DeepAR 모델을 훈련하여 더 나은 성능을 낼 수 있는지 확인합니다.
시간을 절약하기 위해 훈련은 5개의 에포크로만 제한합니다.
from gluonts.torch import TemporalFusionTransformerEstimator, DeepAREstimator
tft_estimator = TemporalFusionTransformerEstimator(
prediction_length=prediction_length,
context_length=context_length,
freq="30min",
trainer_kwargs={"max_epochs": 5})
deepar_estimator = DeepAREstimator(
prediction_length=prediction_length,
context_length=context_length,
freq="30min",
trainer_kwargs={"max_epochs": 5})
Once the models are initialized, we can launch the training procedure.
tft_predictor = tft_estimator.train(dataset.train)
deepar_predictor = deepar_estimator.train(dataset.train)
Once trained, we generate predictions and calculate the RMSE.
# Make predictions
tft_forecast_it, tft_ts_it = make_evaluation_predictions(
dataset=backtest_dataset,
predictor=tft_predictor)
deepar_forecast_it, deepar_ts_it = make_evaluation_predictions(
dataset=backtest_dataset,
predictor=deepar_predictor)
tft_forecasts = list(tft_forecast_it)
tft_tss = list(tft_ts_it)
deepar_forecasts = list(deepar_forecast_it)
deepar_tss = list(deepar_ts_it)
# Get evaluation metrics
tft_agg_metrics, tft_ts_metrics = evaluator(iter(tft_tss), iter(tft_forecasts))
deepar_agg_metrics, deepar_ts_metrics = evaluator(iter(deepar_tss), iter(deepar_forecasts))
The table below highlights the best performing model.
RMSE of all models. Here, TFT achieves the lowest RMSE and is the champion model. Image by the author.
From the table above, we can see that TFT is by far the best performing model, and DeepAR also beats the performance of Lag-Llama.
While the performance of Lag-Llama seems underwhelming, keep in mind that the model was not fine-tuned, and zero-shot forecasting is inherently harder.
On the other hand, the data-specific models were only trained for five epochs, which is interesting to see that both achieve better results than Lag-Llama. While zero-shot forecasting can save time, I would argue that training for five epochs is not demanding in terms of both time and computation power.
Still, we must keep in mind that Lag-Llama is in its early stage, and when fine-tuning capabilities become available, the model is likely going to perform better.
Also, this is far from being an exhaustive benchmark of Lag-Llama, so make sure to test it against other methods for a particular project.
모든 모델의 RMSE. 여기서 TFT가 가장 낮은 RMSE를 달성하며 챔피언 모델입니다. 작성자 이미지.
위의 표를 보면 TFT가 가장 성능이 좋은 모델이며, DeepAR도 Lag-Llama의 성능을 능가한다는 것을 알 수 있습니다.
Lag-Llama의 성능이 압도적으로 보이지만, 이 모델은 미세 조정되지 않았으며 제로 샷 예측은 본질적으로 더 어렵다는 점을 명심하세요.
반면에 데이터별 모델은 5개의 에포크에 대해서만 학습되었는데, 두 모델 모두 Lag-Llama보다 더 나은 결과를 얻었다는 점이 흥미롭습니다. 제로 샷 예측이 시간을 절약할 수는 있지만, 5개의 에포크에 대한 훈련은 시간과 계산 능력 측면에서 그리 어렵지 않다고 주장하고 싶습니다.
하지만 Lag-Llama는 아직 초기 단계에 있으며, 미세 조정 기능이 제공되면 더 나은 성능을 발휘할 수 있다는 점을 명심해야 합니다.
또한 이것은 Lag-Llama의 완전한 벤치마크가 아니므로 특정 프로젝트에 대해 다른 방법과 비교하여 테스트해야 합니다.
My take on TimeGPT vs Lag-Llama
To me, it seems that we are witnessing in time series what happened a few months ago in NLP.
Proprietary large language models generally perform better than their open-source counterparts, alhtough the open-source models are catching up.
I believe we can draw a similar parallel here. Having tried both TimeGPT and Lag-Llama, the latter seems like a great first step in building an open-source foundation forecasting model, but it falls short in terms of capabilities when compared to TimeGPT.
At the moment, TimeGPT can handle multivariate time series, irregular timestamps, and it implements conformal predictions, which is a more robust way of quantifying uncertainty compared to using a fixed distribution like in Lag-Llama.
Nevertheless, I believe we are going to see more open-source foundation forecasting models appear in the near future. Their performance is likely going to improve, and that represents a big paradigm shift for the field.
In brief, we are going through exciting times in the field of forecasting.
제 생각에는 몇 달 전에 NLP에서 일어난 일을 시계열로 목격하고 있는 것 같습니다.
독점적인 대규모 언어 모델은 일반적으로 오픈 소스 모델보다 더 나은 성능을 보이지만, 오픈 소스 모델이 따라잡고 있습니다.
여기서도 비슷한 비유를 찾을 수 있다고 생각합니다. TimeGPT와 Lag-Llama를 모두 사용해 본 결과, 후자는 오픈 소스 기반 예측 모델을 구축하는 데 있어 훌륭한 첫걸음처럼 보이지만 기능 면에서 TimeGPT와 비교했을 때 부족합니다.
현재 TimeGPT는 다변량 시계열과 불규칙한 타임스탬프를 처리할 수 있으며, Lag-Llama처럼 고정 분포를 사용하는 것에 비해 불확실성을 정량화하는 더 강력한 방법인 컨포멀 예측을 구현합니다.
그럼에도 불구하고 가까운 시일 내에 더 많은 오픈 소스 기초 예측 모델이 등장할 것으로 생각합니다. 이러한 모델의 성능이 향상될 가능성이 높으며, 이는 이 분야의 큰 패러다임 변화를 의미합니다.
요컨대, 우리는 예측 분야에서 흥미로운 시기를 겪고 있습니다.
Conclusion
Lag-Llama is an open-source foundation model for univariate probabilistic forecasting.
It uses a decoder-only Transformer architecture with a distribution head to generate probabilistic predictions, meaning that we get uncertainty intervals immediately.
The model implements a general tokenization strategy that involves creating lagged features and constructing static covariates, such as time-of-day, day-of-week, etc.
It is built on top of GluonTS, so for now, we have to use that library to actually generate predictions from Lag-Llama.
As always, I think that each problem requires its unique solution. Make sure to test Lag-Llama against other methods.
Thanks for reading! I hope that you enjoyed it and that you learned something new!
Looking to master time series forecasting? Then check out my course Applied Time Series Forecasting in Python. This is the only course that uses Python to implement statistical, deep learning and state-of-the-art models in 16 guided hands-on projects.
Lag-Llama는 단변량 확률 예측을 위한 오픈 소스 기반 모델입니다.
이 모델은 확률적 예측을 생성하기 위해 분포 헤드가 있는 디코더 전용 트랜스포머 아키텍처를 사용하므로 불확실성 구간을 즉시 얻을 수 있습니다.
이 모델은 지연된 특징을 생성하고 시간, 요일 등과 같은 정적 공변수를 구성하는 일반적인 토큰화 전략을 구현합니다.
이 모델은 GluonTS를 기반으로 구축되었기 때문에 현재로서는 해당 라이브러리를 사용하여 Lag-Llama에서 실제로 예측을 생성해야 합니다.
항상 그렇듯이 각 문제에는 고유한 솔루션이 필요하다고 생각합니다. 다른 방법과 비교하여 Lag-Llama를 테스트해 보세요.
읽어주셔서 감사합니다! 재미있게 읽으셨고 새로운 것을 배웠기를 바랍니다!
시계열 예측을 마스터하고 싶으신가요? 그렇다면 파이썬으로 시계열 예측 적용하기 강좌를 확인해 보세요. 이 강좌는 16개의 실습 프로젝트에서 통계, 딥 러닝 및 최신 모델을 구현하기 위해 Python을 사용하는 유일한 강좌입니다.
Applied Time Series Forecasting in Python.
Cheers 🍻
Learn the latest time series analysis techniques with my free time series cheat sheet in Python! Get the implementation of statistical and deep learning techniques, all in Python and TensorFlow!
Support me
Enjoying my work? Show your support with Buy me a coffee, a simple way for you to encourage me, and I get to enjoy a cup of coffee! If you feel like it, just click the button below
References
Lag-Llama: Towards Foundation Models for Probabilistic Time Series Forecasting by K. Rasul, A. Ashok, A. Williams, H. Ghonia, R. Bhagwatkar, A. Khorasani, M. Bayazi, G. Adamopoulos, R. Riachi, N. Hassen, M. Bilos, S. Garg, A. Schneider, N. Chapados, A. Drouin, V. Zantedeschi, Y. Nevmyvaka, I. Rish
Original repository of Lag-Llama — GitHub
Lag-Llama: Open-Source Foundation Model for Time Series Forecasting - Lag-Llama
댓글