時間序列資料在眾多行業中無所不在,然而,雖然時間序列預測受到相當多的關注,但時間序列分類卻經常被忽視。本文全面介紹了時間序列分類,探索其實際應用,回顧各種方法,並在基於 Python 的分類專案中示範其中一些技術。讓我們開始吧!
理解時間序列分類
時間序列分類是一種監督機器學習技術,其中隨著時間的推移測量的一個或多個特徵用於分配類別。 目標是標記時間序列而不是預測未來值。
時間序列分類的實際應用
時間序列分類有著廣泛的用途,特別是在感測器資料方面。 主要應用包括:
這些多樣化的應用凸顯了時間序列分類在各個領域的重要性。
時間序列分類模型概述
時間序列分類有多種方法。 本節對每個內容進行簡要概述,並在本專用指南中提供更詳細的解釋[連結到指南,如果有的話]。
1。基於距離的模型: 這些模型利用距離測量(例如歐幾里德距離)對樣本進行分類。動態時間規則 (DTW) 提供了一種更穩健的方法,可適應一系列不同的長度並處理稍微異相的模式。 例如 K 最近鄰 (KNN) 和 ShapeDTW。
2。基於字典的模型: 這些模型使用符號對系列模式進行編碼,並利用符號頻率進行分類。 範例包括 BOSS、WEASEL、TDE 和 MUSE。
3。整合方法: 這些不是模型本身,而是結合多個基本估計器以改善預測的框架。 一個關鍵優勢是它們能夠使用單變量模型(例如,bagging)處理多變量資料。 例如裝袋、加權整合和時間序列森林。
4。基於特徵的方法:這些方法從時間序列中提取特徵(例如,匯總統計、Catch22、矩陣配置、TSFresh),然後用於訓練分類器。
5。基於間隔的模型: 這些模型從時間序列中提取多個間隔,使用上述方法計算特徵,然後訓練分類器。範例包括 RISE、CIF 和 DrCIF。
6。基於內核的模型: 這些模型使用內核函數將時間序列映射到更高維度的空間,以便於分類。例如支援向量分類器 (SVC)、Rocket 和 Arsenal(Rocket 的集合)。
7。 Shapelet 分類器: 此分類器可辨識並利用 shapelet(判別性子序列)來根據距離比較進行分類。
8。元分類器: 這些結合了各種方法來實現穩健的分類性能。 HIVE-COTE 是一個例子,它結合了 TDE、Shapelet、DrCIF 和 Arsenal,儘管它的計算成本很高。
方法的選擇取決於資料特徵、計算資源和所需的準確性等因素。
實踐時間序列分類項目 (Python)
本節將上述一些技術應用於 BasicMotions 資料集 [資料集連結],其中包括來自執行各種活動(站立、行走、跑步、羽球)的個人的加速度計和陀螺儀資料。
設定:
<code class="language-python">import pandas as pd import numpy as np import matplotlib.pyplot as plt from sktime.datasets import load_basic_motions from sklearn.model_selection import GridSearchCV, KFold</code>
資料載入:
<code class="language-python">X_train, y_train = load_basic_motions(split='train', return_type='numpy3D') X_test, y_test = load_basic_motions(split='test', return_type='numpy3D')</code>
資料視覺化(比較步行和羽毛球的範例):
<code class="language-python"># ... (Visualization code as provided in the original article) ...</code>
KNN 分類:
<code class="language-python"># ... (KNN code as provided in the original article) ...</code>
用黃鼠狼裝袋:
<code class="language-python"># ... (Bagging with WEASEL code as provided in the original article) ...</code>
評價:
<code class="language-python"># ... (Evaluation code as provided in the original article) ...</code>
結論
本文介紹了時間序列分類,涵蓋了其應用和各種方法。 實際專案示範了KNN和WEASEL裝袋的應用。 鼓勵對該領域的進一步探索。
後續步驟
要繼續學習,請考慮探索原始文章中提到的資源,包括時間序列分類方法指南和有關該主題的課程。
參考文獻
以上是Python 時間序列分類完整介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!