【技術筆記─ 時序資料的機器學習建模 Day2】

王柏鈞
2 min readApr 30, 2020

--

如何針對時序性問題建立一個Baseline模型

>> Abstract

Baseline模型的意義,在於理解在最naive、最簡單的情況下,模型應該有的成績是什麼。

這可以用來辨別模型是否發生了某種嚴重錯誤,例如:

  • 選錯objective function
  • 使用了不適合的演算法
  • 資料有嚴重問題

同時,也可以作為一個用來評價不同演算法效果的基準線。

>> Note

Step1: 準備資料集

通常我們有時序性資料,這一個步驟是說明如何把時序性資料變成資料集。

為了實踐一個時序性問題,我們可以把一個連續的時序性資料,向後推移一個時間步。

例如原本資料的排序是,1,2,3,4,5,我們可以捨棄1和5,也就是第一筆和最後一筆資料。產生另一組資料NaN, 1, 2, 3, 4,接下來我們就可以用原本的資料作為x,用來預測另一組資料y。

用這種方式來做時間序列模型的預測,會比輸入當前X產生y方式,訓練起來更合邏輯。

Step2. 分割訓練與測試資料

接下來我們還是要切割訓練與測試資料,對於時間序列問題,通常我們是直接train_test spilt,但也有使用K-fold的作法。

Step3. Persistence Algorithm, Baseline模型的建置

準備完資料後,我們就可以用昨天提到的zero-rule方法來產生一個baseline的pred結果。用來評估最naive的模型應該有的成績。

Step4. 用Baseline模型做預測

我們用Baseline模型(zero-rule model)對測試資料集做預測,取得最差成績。

到此,我們就可以用針對時序性資料做出一個BaseLine模型了。

>> Ref

https://machinelearningmastery.com/persistence-time-series-forecasting-with-python/

--

--

No responses yet