時間序列

如何將平穩時間序列數據用作 ML 模型的輸入?

  • June 11, 2019

我正在閱讀 Marcos Lopez de Prado 的“金融機器學習進展”。我知道可以轉換像股票價格這樣的時間序列以使其足夠平穩。假設一個股票系列有 100 個 T=1 到 T=100 的數據點(每次一個數據點)。我也明白(希望)你可以在時間序列中每隔一段時間用三障礙法標記這些數據。例如,每 2 個時間單位標記一個訓練點,其中垂直障礙距起點 10 個時間單位。所以你會為 T=1, 3, 5, … 我知道訓練數據中有重疊,它不是 IID,因此,你必須使用諸如平均唯一性之類的方法來抵消這種行為.

好的。鑑於此,我仍然不知道如何將這些標記的訓練數據用作機器學習模型中的輸入特徵。

就像,每個數據點只是一個數字。我知道這個數字的一些概念包含一些“記憶”的概念,因為這個系列沒有完全區分,但是這在模型中是如何處理的呢?

例如,假設我要訓練一個隨機森林來預測股票未來的表現。我如上所述收集了訓練數據(所以我想知道股票在未來最多 10 個時間單位的表現)。現在我為我的模型提出了一些功能,比如外面的溫度、昨天的納斯達克價格等。這些都是很好的簡單功能。現在我有了這個龐大的時間序列,我想將其用作一個特徵(或多個特徵)。有很多並發症。首先,它是有序的,如果要收集任何 alpha,那麼該訂單肯定會引導您進入 alpha。其次,新測試範例的價格與訓練數據中的價格之間沒有一一對應的關係。例如,如果我想在一個新的測試範例中使用納斯達克價格功能,我會簡單地查看昨天的納斯達克價格(這是一一對應的)。如果我想使用昨天的股價來預測今天的股價,我將不知道使用哪個“昨天”,因為時間序列中的任何數據點都可以認為是“昨天”。

我在這裡想念什麼?

使用 ML,您希望辨識輸入中產生輸出的模式。因此,您收集您希望以後能夠辨識的所有輸出,以及與這些輸出相對應的輸入(即在生成輸出之前),收集盡可能多的這些關係,將它們粘貼到 ML 模型中,然後希望你找到了優勢。

如果您想使用今天的輸入來預測明天的股票價格,您最好希望您已經在數據集中收集了足夠多的輸入範例,這些範例看起來像今天,以幫助 ML 預測明天。

引用自:https://quant.stackexchange.com/questions/46032