PyPOTS: 一個用於分析含有缺失值的多元時間序列的機器學習工具箱

PyPOTS: 一個用於分析含有缺失值的多元時間序列的機器學習工具箱

它解決了什麼問題

PyPOTS 旨在解決分析含有缺失值的真實世界時間序列數據(部分觀測時間序列,或稱 POTS)所面臨的挑戰。由於感測器故障或通訊錯誤導致的數據缺失,往往會阻礙進階的數據分析與機器學習,而直到目前為止,該領域仍缺乏一個專門且統一的工具包來滿足這些特定需求。

運作原理

PyPOTS 提供了一個全面的 Python 工具箱,整合了大量專為處理含有缺失值的多元時間序列而設計的經典與最先進的機器學習演算法。它提供統一的 API 並附帶詳細的文檔,以簡化這些模型的實作。對於最初並非為 POTS 設計的模型,該函式庫會應用特定的嵌入策略與訓練方法(例如 ORT+MIT)使其與缺失數據相容。

目標對象

它專為處理時間序列數據的研究人員與工程師設計,讓他們在處理缺失值時,無需在繁瑣的數據預處理或手動實作演算法上耗費過多時間。

重點特色

  • 多樣化的任務支援:支援填補 (imputation)、預測 (forecasting)、分類 (classification)、分群 (clustering) 以及異常檢測 (anomaly detection)。
  • 廣泛的演算法庫:包含從簡單方法(平均值/中位數)到進階神經網路、時間序列基礎模型 (TSFM) 以及大型語言模型 (LLM)(如 GPT4TS)的廣泛模型範圍。
  • 超參數優化:整合了 Optuna 與 Microsoft NNI,用於微調神經網路模型。
  • 生態系統整合:可與 TSDB(用於輕鬆載入數據集)以及 PyGrinder(用於模擬 MCAR、MAR 與 MNAR 等缺失數據模式)協同工作。

Sources