特徵工程自動化 時間序列的數據是關鍵

2021-01-10 IT168

【IT168 資訊】今天介紹一個通用框架,用於開發時間序列模型,生成特徵並對數據進行預處理,並探索使這一過程自動化的潛力,以便將先進的機器學習算法應用於幾乎所有的時間序列問題。

目前大多數機器學習算法都不具有時間意識,不容易應用於時間序列和預測問題。利用像XGBoost等這樣的先進算法甚至線性模型,通常需要大量的數據準備和特徵工程,例如,創建滯後特徵,去除目標以及檢測周期性。在需要預測未來多個時間點窗口的常見情況下,所需的預處理變得更加困難。因此,大多數實踐者都依賴傳統的方法,如ARIMA或趨勢分析,這些方法具有時間意識,但表達能力較差。本文介紹了解決這一挑戰的最佳實踐,通過引入一個開發時間序列模型,生成特徵和預處理數據的通用框架,探索使這一過程自動化的潛力,以便將先進的機器學習算法應用於幾乎任何時間序列問題。

介紹

時間序列預測是數據科學中最難的問題之一。它從字面上涉及預測未來的事件,並推斷一個潛在的複雜系統如何演變。在傳統的機器學習問題中,我們經常假設預測數據與訓練數據相似。然而,時間序列問題本質上是動態的,並且正在發生變化,特別是對於我們稍後將討論的非平穩信號。這放大了對過度擬合的敏感性,並且也可能使一些模型難以找到開始的預測信號。

目前解決這些挑戰的最先進的機器學習算法(例如XGBoost)沒有時間意識。通常是在形成預測時一次看一排。為了將這些方法用於預測,我們需要根據過去和現在的數據及時推導信息特徵。本文介紹了此功能工程過程的框架,並詳細介紹了如何構建更強大的時間序列預測模型。

值得一提的是,有幾個時間序列專門的算法,如ARIMA,指數平滑,以及各種分解和趨勢方法。在下面討論的框架和特徵工程也可以使這些算法受益,因為將多變量數據和更豐富的特性隨時間變化也而更加實用。

時間序列框架

在構建時間序列模型時,我們需要定義如何創建特徵以及如何使用模型。下面我們介紹一個通用的時間序列框架來對這些信息進行編碼,這也使我們能夠在稍後自動化這個過程。

時間序列的特徵推導

預測點定義了正在進行預測的任意時間點後。特徵推導窗口(FDW)定義了一個相對於預測點的滾動窗口,該窗口可用於推導描述性特徵。最後,預測窗口(FW)定義了我們希望預測的未來值的範圍,稱為預測距離(FD)。

時間序列框架捕捉了如何使用模型的業務邏輯。它編碼了最近的歷史記錄,以便做出新的預測(例如,至少28天前),數據的最近可用時間(例如7天前)以及需要哪些預測距離(2至7天天)。預測窗口還為我們提供了一種客觀的方法來測量訓練模型的總精度,其中總誤差可以通過對數據中所有可能的預測點的平均值和在窗口中每個預測距離的準確性來測量。

時間序列特徵

基於上面定義的時間序列框架,我們可以生成許多不同的時間序列特徵,這些特徵可以用來預測不同的預測距離。

例如:

·FDW內部各種滯後

·滾動平均值、最小值、最大值等統計

·布林線指標和統計

這些特徵可以來自目標變量或其他任何協變量。

為了將數據集轉化為普通機器學習模型可以使用的形式,我們需要為每個預測距離生成示例,並從相對特徵推導窗口派生出相應的特徵。

對於每個預測距離(FD):

1.根據相對的FDW行計算每行的循環統計量

2.為每一行生成示例,根據這些特徵預測FD的未來價值

3.重複每個候選滾動特性

這產生了一個潛在的更大的數據集,用來預測每個預測距離和各種新特徵。但是,現在我們可以訓練那些沒有時間意識的模型以產生準確的預測。預測距離本身可以用作一個特徵,或者我們可以為每個距離建立一個單獨的模型。

時間系列治療方法

除了創建新的特徵之外,我們還可以考慮轉換目標變量的方法,以最大化預測準確性和穩定性。例如,我們可以執行測試來檢查目標是處於靜止還是非平穩的狀態,如果它是周期性的,是基於統計測試的指數趨勢。基於這些測試,我們可以選擇使用以下方法來轉換目標:

·對數轉換(對於指數趨勢和乘法模型)

·周期性差分(用固定目標製作一個集成模型)

·簡單樸素差異(使用最新的FDW行)

在預測時間,這些處理可以被逆轉,導致在原始規模上有更準確的預測。

自動化

時間序列框架、處理和候選特徵提供了一種將原始數據集系統地轉換成數據集的方法,我們可以使用這個數據集訓練任意的機器學習模型進行預測。

但是,仍然存在一些挑戰:

·如何在這些特性上選擇最佳算法?

·在培訓期間,如何正確劃分和驗證訓練期間的時間序列模型?

·如何擴展到大型數據集?

·何處理多個系列(例如,橫截面時間序列)數據?

·如何在大量的潛在特性中選擇最佳特性?

由於數據集和業務限制的範圍很廣,以及對於各個步驟、特徵和決策所需的技術細節,使此過程完全自動化是困難的。但是,像DataRobot這樣的公司現在正在把重點放在企業和個人用戶的自動化最佳實踐上。

結論

在本文中,我們介紹了時間序列預測中涉及的挑戰以及如何將先進的機器學習算法應用於這些問題。引入了一個通用的時間序列框架來定義如何使用模型,如何生成預測歷史記錄特徵和基本的時間序列處理,最後,實現這個過程的自動化。時間序列建模是一個非常豐富的主題,其他許多考慮因素都可以合併。這裡的實踐將有助於獲得預測未來事件的最大準確性。

相關焦點

  • 自動化所提出基於腦功能影像時間序列的多尺度卷積循環神經網絡模型
    自動化所提出基於腦功能影像時間序列的多尺度卷積循環神經網絡模型 2019-10-28 自動化研究所 【字體:大 中 小】
  • 數據科學專業是否會「被自動化」?
    但是僅使用目標變量的滯後作為特徵意味著可能會錯過關鍵的外生關係,這將使模型嚴重不適合併易於表現不佳。我們能否僅將Uber需求的歷史時間序列提供給預測平臺並加以處理?可能不是。我的意思是我們的老闆所說的需求是什麼意思?可能是以下任何一種:因此,圍繞我們到底需要預測什麼是不明確的。您是否注意到,在充實需求定義時,我們需要逐步預測更多變量?甚至車手本身的數量也是許多因素的相互作用:因此,看似簡單的問題最終變得非常複雜且難以自動化。
  • 時間序列分析(三):平穩時間序列分析之數據準備
    平穩時間序列是時間序列中一類重要的時間序列,對於該時間序列,有一套非常成熟的平穩序列建模方法,這也是本節中將重點介紹的部分。對於非平穩序列,可以通過差分、提取確定性成分等方法,將轉化成平穩序列,再運用平穩序列建模方法進行建模。在實際操作中,由於樣本數據的匱乏,要根據樣本數據要找到生成樣本的真實隨機過程基本是不太可能的。
  • Pandas處理時間序列數據的20個關鍵知識點
    時間序列數據有許多定義,它們以不同的方式表示相同的含義。一個簡單的定義是時間序列數據包括附加到順序時間點的數據點。時間序列數據的來源是周期性的測量或觀測。許多行業都存在時間序列數據。舉幾個例子:一段時間內的股票價格每天,每周,每月的銷售額流程中的周期性度量一段時間內的電力或天然氣消耗率在這篇文章中,我將列出20個要點,幫助你全面理解如何用Pandas處理時間序列數據。1.不同形式的時間序列數據時間序列數據可以是特定日期、持續時間或固定的自定義間隔的形式。時間戳可以是給定日期的一天或一秒,具體取決於精度。
  • 數值數據的特徵工程
    同樣,良好的功能應代表數據的顯著方面,並採用由機器學習模型做出的假設的形式。特徵工程是從原始數據中提取特徵並將其轉換為可由機器學習模型攝取的格式的過程。通常需要進行轉換以減輕建模的難度並提高模型的結果。因此,設計數值數據類型的技術是數據科學家(無論是機器學習工程師)還是其炮兵的基本工具。
  • 基於NI TestStand 的超高頻電子標籤清點功能自動化測試序列軟體的...
    由表 1、表 2 可以看出,實現清點功能的全覆蓋驗證,測試項數目總計為 274,877,906,944(Select 命令指針數據域以 8 bit 計),測試工作量非常大。再加上設備開關空間場的時間、命令交互時間以及上位機處理時間,耗費時間難以估計,也就違背了使用 TestStand 的初衷。因此必須要對測試項數量做科學的處理。
  • 未來十年大數據工程師即將失業?自動化建模平臺已實現零基礎建模
    飛貸金融科技即將在 11 月初上線公測其自動化建模平臺,InfoQ 記者專訪飛貸金融科技副總裁兼首席數據官林慶治,提前揭秘該平臺背後的技術細節。在日常的建模工作中,我們都或多或少會思考一個問題:建模可不可以被自動化?自動建模與機器學習的未來會如何發展?對於從事商業分析、數據分析、數據挖掘、數據工程、算法工程工作的人,可能也會焦慮,自動建模技術能在多大程度上代替現有的一些日常工作?
  • python時間序列:日期和時間數據
    前言時間序列(time series)數據都是一種重要的結構化數據形式。時間序列數據的意義取決於具體應用場景,主要有一下幾種:時間戳(timestamp),特定的時刻。固定時期(period),如2007年1月或2010年全年。時間間隔(interval),由起始和結束時間戳表示。
  • 2.2w字長文詳解推薦系統之數據與特徵工程,碼起來慢慢看
    用戶在什麼時間點、進行什麼操作需要進行日誌埋點取決於具體的業務場景、交互形式以及具體的數據分析需求。一般來說,用戶觸點多的路徑、對用戶體驗有比較大影響的功能點、涉及到商業價值的功能點是需要進行日誌埋點的,因為這些數據對產品的迭代與發展非常關鍵,是非常有價值的數據。
  • 乾貨|時間序列預測類問題下的建模方案探索實踐
    而時間序列就是該種現象某一個統計指標在不同時間上的數值,按時間先後順序排列而形成的序列。時間序列分析主要針對時間序列類問題的兩個領域,一個是對歷史區間數據的分析,通過對過往數據特徵的提煉總結來進行異常檢測和分類;另一類就是對未來數據的分析,根據過去時間點的數據對未來一個時間點或者幾個時間點的狀態或實際值進行預測。
  • 數據統計方法:確定性時間序列的分析法
    時間序列分析是一種動態數據處理的統計方法。該方法基於隨機過程理論和數理統計學方法,研究隨機數據序列所遵從的統計變化規律,以用於解決實際問題。通常影響時間序列變化的4個要素如下:長期趨勢(T):是時間序列在長時期內呈現出來的持續向上或持續向下的變動。季節變動(S):是時間序列在一年內重複出現的周期性波動。循環波動:是時間序列呈現出得非固定長度的周期性變動。
  • 時間序列基本概念
    平穩時間序列是時間序列中一類重要的時間序列,對於該時間序列,有一套非常成熟的平穩序列建模方法,這也是本節中將重點介紹的部分。對於非平穩序列,可以通過差分、提取確定性成分等方法,將轉化成平穩序列,再運用平穩序列建模方法進行建模。在實際操作中,由於樣本數據的匱乏,要根據樣本數據要找到生成樣本的真實隨機過程基本是不太可能的。
  • 一種基於時間序列的環控生保系統遙測數據預測方法
    當前,我國載人航天工程已經進入航天員長期駐留及進行空間科學實驗的空間站階段,環控生保系統直接關係到航天員的生命健康,要求對其運行狀態監測更加及時準確,對其故障預判環控生保系統的運行狀態主要通過獲得,數據的變化與產品、功能狀態的變化息息相關。從遙測數據中識別、提取關鍵信息是常用的太空飛行器故障診斷方法。目前航天領域普遍採用二值邏輯型閾值比較方法進行故障識別[1],該方法雖然簡單、直觀,但是存在諸如閾值不易界定、缺乏故障徵兆識別能力、故障診斷效率低等問題,且未能充分利用遙測數據中包含的大量時域、空域信息,數據利用效率較低。
  • 小白學數據 除了大姨媽周期時間序列分析還有什麼用
    你知不知道,這張圖其實就是一個時間序列圖,你看圖預測未來幾個月女票的大姨媽時間就叫做時間序列分析…… 咳咳,言歸正傳,時間序列分析是一種廣泛應用的數據處理統計方法,除了計算大姨媽周期,在實際很生活還有很多應用,小白今天就來帶大家探探究竟。 小白問:時間序列分析就是分析時間的麼?
  • 帕金森病腿部靈活性自動化客觀評估新方法
    在該任務的自動量化評估研究中,已有的基於傳感器的方法存在著侵入性、定期標定和校準的局限性,基於視覺的特徵工程方法則需要人工事先設計特徵。因此,作者開發了稀疏化自適應的圖卷積網絡模型實現基於視頻的腿部靈活性任務的自動化評估。
  • 手把手教你提交微生物基因組序列數據
    科學家們往NCBI/EMBL/DDBJ等資料庫提交的核酸序列數據,也可以提交到國家微生物科學數據中心(NMDC)了!l 支持微生物項目、樣本、核酸序列、微生物基因組、宏基因組、微生物元基因組、轉錄組、蛋白質結構、期刊附件等多種類型數據提交。l 支持國家重點研發計劃、科技資源調查專項、國際合作專項等項目數據匯交。l 數據當日提交三個工作日內完成審核並發放編號。l 為每條數據提供DOI編號。
  • 不會做特徵工程的 AI 研究員不是好數據科學家!上篇 - 連續數據的...
    然而面對實際問題時,收集到的數據往往不是像數據集中那樣整理好的,直接用來跑模型會帶來各種各樣的問題。這時候我們就開始回憶起「特徵工程」這一組容易被忽略但解決問題時不可或缺的硬功夫。數據科學家 Dipanjan Sarkar 近日就發布了兩篇長博客介紹了一些基本的特徵工程知識和技巧。這篇為上篇,主要介紹連續型數值數據的特徵工程處理方法。雷鋒網 AI 科技評論全文編譯如下。
  • Python中的時間序列數據可視化的完整指南
    時間序列數據在許多不同的行業中都非常重要。它在研究、金融行業、製藥、社交媒體、網絡服務等領域尤為重要。對時間序列數據的分析也變得越來越重要。在分析中有什麼比一些好的可視化效果更好呢?沒有一些視覺效果,任何類型的數據分析都是不完整的。因為一個好的情節比20頁的報告更能讓你理解。因此,本文是關於時間序列數據可視化的。
  • 時間序列模型(三)——馬爾可夫模型
    很多教材都會單獨介紹馬爾可夫模型,但它是一種時間序列模型,可以用時間序列模型的思維來學習,並和其它時間序列模型做比較。       狀態空間指的是序列數據的狀態。(最少要有兩種狀態)理論上來說,這個空間可以是離散的,或者是連續的。本文主要討論最重要的離散狀態的情況。
  • SAX: 時間序列符號聚合近似方法
    時間序列常用的距離度量是歐幾裡德距離:對時間序列降維後,特徵空間查詢中容易出現漏報(false dismissals)的問題。漏報指原始空間中兩點小於閾值δ,但降維後兩點距離大於δ,導致沒有報告查詢結果。Faloutsos等人提出了下界(Lower Bounding)定理來保證無漏報(false dismissals):