自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PyTorch-Forecasting一個新的時間序列預(yù)測庫

開發(fā) 前端
時間序列預(yù)測在金融、天氣預(yù)報、銷售預(yù)測和需求預(yù)測等各個領(lǐng)域發(fā)揮著至關(guān)重要的作用。PyTorch- forecasting是一個建立在PyTorch之上的開源Python包,專門用于簡化和增強時間序列的工作。在本文中我們介紹PyTorch-Forecasting的特性和功能,并進行示例代碼演示。

時間序列預(yù)測在金融、天氣預(yù)報、銷售預(yù)測和需求預(yù)測等各個領(lǐng)域發(fā)揮著至關(guān)重要的作用。PyTorch- forecasting是一個建立在PyTorch之上的開源Python包,專門用于簡化和增強時間序列的工作。在本文中我們介紹PyTorch-Forecasting的特性和功能,并進行示例代碼演示。

圖片

PyTorch-Forecasting的安裝非常簡單:

pip install pytorch-forecasting

但是需要注意的是,他目前現(xiàn)在只支持Pytorch 1.7以上,但是2.0是否支持我沒有測試。

PyTorch-Forecasting提供了幾個方面的功能:

1、提供了一個高級接口,抽象了時間序列建模的復(fù)雜性,可以使用幾行代碼來定義預(yù)測任務(wù),使得使用不同的模型和技術(shù)進行實驗變得容易。

2、支持多個預(yù)測模型,包括自回歸模型(AR, ARIMA),狀態(tài)空間模型(SARIMAX),神經(jīng)網(wǎng)絡(luò)(LSTM, GRU)和集成方法(Prophet, N-Beats)。這種多樣化的模型集確保了為您的時間序列數(shù)據(jù)選擇最合適方法的靈活性。

3、提供各種數(shù)據(jù)預(yù)處理工具來處理常見的時間序列任務(wù),包括:缺失值輸入、縮放、特征提取和滾動窗口轉(zhuǎn)換等。除了一些數(shù)據(jù)的預(yù)處理的工具外,還提供了一個名為 TimeSeriesDataSet 的Pytorch的DS,這樣可以方便的處理時間序列數(shù)據(jù)。

4、通過統(tǒng)一的接口方便模評估:實現(xiàn)了QuantileLoss,SMAPE 等時間序列的損失函數(shù)和驗證指標,支持Pytorch Lighting 這樣可以直接使用早停和交叉驗證等訓(xùn)練方法

使用方法也很簡單:

from pytorch_forecasting import TimeSeriesDataSet, TemporalFusionTransformer
 
 # Load and preprocess the data
 dataset = TimeSeriesDataSet.from_csv('data.csv', target='target', time_idx='time', group_ids=['id'])
 dataset.prepare_training(split_into_train_val_test=[0.8, 0.1, 0.1])
 
 # Initialize and train the model
 model = TemporalFusionTransformer.from_dataset(dataset)
 trainer = pl.Trainer()
 trainer.fit(model, dataset.train_dataloader())
 
 # Generate predictions
 predictions = model.predict(dataset.test_dataloader())
 
 # Evaluate the model
 metric = dataset.target_normalizer.metrics['mse']
 print(f'Test MSE: {metric(predictions, dataset.test_dataloader())}')

如果需要分類編碼,可以這樣用:

from pytorch_forecasting.data import GroupNormalizer
 
 # Load and preprocess the data with categorical variables
 dataset = TimeSeriesDataSet.from_pandas(data, target='target', time_idx='time', group_ids=['id'],
                                         categorical_encoders={'cat_variable': GroupNormalizer()})
 dataset.prepare_training(...)
 
 # Initialize and train the model
 model = TemporalFusionTransformer.from_dataset(dataset)
 trainer.fit(model, dataset.train_dataloader())
 
 # Generate predictions
 predictions = model.predict(dataset.test_dataloader())
 
 # Evaluate the model
 print(f'Test MSE: {metric(predictions, dataset.test_dataloader())}')

PyTorch-Forecasting是一個非常好用的工具包,就算你不使用它所有的功能,也可以將他提供的一些功能當(dāng)作鞏工具來整合到自己的項目中,如果你對使用PyTorch處理時序數(shù)據(jù)感興趣,也可以看看他的代碼當(dāng)作學(xué)習(xí)的參考,他的文檔還是比較全面的,并且也提供了很多的示例。

有興趣的看看官方的文檔和代碼示例:

https://pytorch-forecasting.readthedocs.io/en/stable/index.html

責(zé)任編輯:華軒 來源: DeepHub IMBA
相關(guān)推薦

2024-02-27 17:32:30

時間序列分析庫PyTimeTK數(shù)據(jù)科學(xué)

2019-06-12 08:23:21

數(shù)據(jù)庫時間序列開源

2024-05-09 16:23:14

2024-01-30 01:12:37

自然語言時間序列預(yù)測Pytorch

2023-10-13 15:34:55

時間序列TimesNet

2022-07-15 16:14:39

深度學(xué)習(xí)時間序列理論

2024-06-27 16:38:57

2021-08-05 13:49:39

Python工具開發(fā)

2022-08-16 09:00:00

機器學(xué)習(xí)人工智能數(shù)據(jù)庫

2024-12-11 08:17:30

2023-12-31 16:35:31

Pytorch函數(shù)深度學(xué)習(xí)

2015-05-08 12:41:36

C++序列化反序列化庫Kapok

2023-11-06 07:27:38

模型NLP領(lǐng)域

2021-07-01 21:46:30

PythonHot-Winters數(shù)據(jù)

2021-04-07 10:02:00

XGBoostPython代碼

2023-01-30 17:10:23

DeepTime元學(xué)習(xí)

2017-11-20 11:51:40

KerasLSTM深度學(xué)習(xí)

2021-07-02 10:05:45

PythonHot-winters指數(shù)平滑

2024-07-18 13:13:58

2025-01-14 13:32:47

點贊
收藏

51CTO技術(shù)棧公眾號