筆記-網路文章閱讀:時間序列預測

更新於 發佈於 閱讀時間約 5 分鐘

前言

最近在研究時間序列的預測,除了上課,也有在Medium上看文章,學到一些知識,除了自己做筆記記錄,也分享給大家。本篇筆記為翻譯統整:Neural Network (MLP) for Time Series Forecasting in Practice—Daniel J. TOTH,這篇Medium上的文章而來,不是我英文好,是ChatGPT好用(XD),那麼就開始吧。



正文

這篇文章首先畫圖觀察資料,發現每年的夏季和冬季、每週的禮拜一、每天的白天和夜晚,有特別的波動。然後建立了一個基於統計的傳統預測時間序列的模型,方便待會兒與新的預測時間模型做結果比較。模型訓練後的一些參考數值如文中第六張圖,記錄下其中數值代表的意義:

  • Log Likelihood:對數似然值,簡稱LL,是似然函數(Likelihood Function)取對數後的值,值越大,表示模型對數據的擬合程度越好。Log Likelihood 的值越大,代表模型對數據的解釋能力越強,表示模型的參數更能「解釋」數據,或者說模型生成觀測數據的「可能性」更高(擬合更好)。它用於任何模型(迴歸、時間序列、分類模型等),沒有固定的範圍(可以是正數也可以是負數)。舉例:時間序列模型中,Log Likelihood越大,說明模型可以更準確地描述數據的趨勢、季節性和隨機變動。跟R2有點像,底下比較一下:
      • R2:屬於線性迴歸專用的衡量指標,反映解釋變異的比例,範圍是0到1(或者負值到1,根據模型情況)。越大表示模型解釋「變異」的比例越多(也就是模型可以用來解釋目標變數的變化)。它是個比例,衡量數據變異中有多少被模型捕捉到,表示的是模型解釋變量的能力。
  • AIC/BIC/HQIC:可以選擇一個看就好,數值越小越好,這指標可以協助算出模型的擬合程度,進一步可以知道模型是否有過擬合的可能。可以先都看AIC指標,如果樣本很大或是參數很多的時候,就可以選擇參考BIC。
  • 底下的Prob:就是殘差的P-value,小於0.05通常表示參數顯著(通常以0.05做標準),意思是該變數對模型有顯著影響。例如圖中Ljung-Box Prob(Q) < 0.05表示殘差序列有顯著的自相關性,說明模型未完全捕捉時間序列中的依賴結構。


然後文章強烈建議檢查數據集的自相關性質,於是使用了ACF和PACF。

接著開始建構神經網路模型。因為在這裡整數輸入本質上是類別型特徵,應以類別的方式進行處理。因為使用one-hot encoding會顯著增加特徵數量,所以作者選擇了嵌入(embedding)方法,代價是模型的輸入層將變得更複雜,因為類別特徵會先通過嵌入轉換為向量,然後與浮點輸入結合。

結果模型非常準確。於是作者想要知道是否所有的特徵都對結果有一樣大的貢獻,還是只有一部分特徵對結果的決定性影響較大,作者使用了特徵置換重要性(Permutation Feature Importance)方法。作者逐一置換特徵,重新計算RMSE分數,得出特徵的相對重要性。

作者也提到了,置換特徵重要性方法的一個限制在於它不考慮特徵間的多重共線性,因此可能導致結果不準確,而這裡的特徵卻是從高度自相關的數據集中衍生出來的,而處理這種情況的一種方法是遵循Scikit-learn的建議:

設定一個閾值,並從每個聚類中保留一個特徵。

作者選擇通過訓練僅包含分組特徵的替代模型來突顯置換重要性方法的局限性。結果也同意,這些替代模型的結果與單純的置換特徵重要性分析而未處理多重共線性時的預期有所不同。

最後,模型架構進行了修改,以實現多步預測,預測期間設定為一年,並與一開始的基於統計的傳統狀態空間模型相比較,因為統計的狀態空間模型對全年觀察到的趨勢和季節性影響提供了易於理解的近似值,使得它們相對容易解釋,與我們後來建立的神經網路模型不同。

結果,神經網路模型以-1.912%對比-2.159%佔優,證明透過結合相對簡單的神經網路架構與強大的特徵工程技術,工程師即使在程度尚為初期階段,也能使用準確的預測工具。



參考



小結

因為埋進人工智慧的學問海裡,而且最近不是吃飯、睡覺,就是在打東東,啊不是啦,是工作,所以沈潛許久沒發文,下次發文是什麼時候我也不確定(XD)。總之,紀錄下我學到的知識,也跟大家分享,繼續趕路,繼續留腳印(XD),週末愉快!



留言0
查看全部
avatar-img
發表第一個留言支持創作者!
柴郡貓姍蒂的沙龍 的其他內容
前言 跟上一篇文章一樣,都是看到陌生的演算法後,去搜尋資料記錄成文章。 正文 在強化式學習中,策略(Policy)指的是代理人根據目前的狀態決定下一個動作的方針,具體來說就是在某個狀態下採取某個動作的機率。Policy Gradient的目的是找到一個最優策略,使得整個任務的回報值最大化。
前言 在閱讀《強化式學習:打造最強 AlphaZero 通用演算法》一書時,對一些沒有聽過的演算法感到陌生,基於打基礎或是增廣見聞的念頭下,上網或問ChatGPT,搜尋了一些資料,整理並紀錄而成這篇文章。 正文 下面說的兩種選擇策略方法用來解決類似多臂拉霸機(Multi-Armed Ban
前言 最近在研究GAT,在網路上看到使用torch和DGL實作的GAT模型的程式碼,就想說下載下來自己跑跑看,這篇文章:Understand Graph Attention Network。途中遇到問題,把找到的解法記錄下來,給也有一樣問題的朋友參考。 正文 在Colab直接使用: !p
前言 讀了許多理論,是時候實際動手做做看了,以下是我的模型訓練初體驗,有點糟就是了XD。 正文 def conv(filters, kernel_size, strides=1): return Conv2D(filters, kernel_size,
前言 承上一篇筆記文章,繼續閱讀推薦的第二篇論文:Identity Mappings in Deep Residual Networks—Kaiming He、Xiangyu Zhang、Shaoqing Ren、Jian Sun。也是一樣的發表者,內容是對他們之前發表的Deep Residual
前言 跟上一篇文章一樣,都是看到陌生的演算法後,去搜尋資料記錄成文章。 正文 在強化式學習中,策略(Policy)指的是代理人根據目前的狀態決定下一個動作的方針,具體來說就是在某個狀態下採取某個動作的機率。Policy Gradient的目的是找到一個最優策略,使得整個任務的回報值最大化。
前言 在閱讀《強化式學習:打造最強 AlphaZero 通用演算法》一書時,對一些沒有聽過的演算法感到陌生,基於打基礎或是增廣見聞的念頭下,上網或問ChatGPT,搜尋了一些資料,整理並紀錄而成這篇文章。 正文 下面說的兩種選擇策略方法用來解決類似多臂拉霸機(Multi-Armed Ban
前言 最近在研究GAT,在網路上看到使用torch和DGL實作的GAT模型的程式碼,就想說下載下來自己跑跑看,這篇文章:Understand Graph Attention Network。途中遇到問題,把找到的解法記錄下來,給也有一樣問題的朋友參考。 正文 在Colab直接使用: !p
前言 讀了許多理論,是時候實際動手做做看了,以下是我的模型訓練初體驗,有點糟就是了XD。 正文 def conv(filters, kernel_size, strides=1): return Conv2D(filters, kernel_size,
前言 承上一篇筆記文章,繼續閱讀推薦的第二篇論文:Identity Mappings in Deep Residual Networks—Kaiming He、Xiangyu Zhang、Shaoqing Ren、Jian Sun。也是一樣的發表者,內容是對他們之前發表的Deep Residual
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 從 AI說書 - 從0開始 - 99 到 AI說書 - 從0開始 - 121,我們完成書籍:Transformers for Natural Language Proc
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續 AI說書 - 從0開始 - 102 說要窺探 WMT 資料集,以下著手資料集下載程式: import urllib.request # Define the
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 新模型和 Human Baselines 排名將不斷變化,Human Baselines 的位置自從基礎模型出現以來,它就不再具有多大意義了,這些排名只是表明經典 NL
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 從 AI說書 - 從0開始 - 37 到 AI說書 - 從0開始 - 70 ,我們完成書籍:Transformers for Natural Language Proc
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:AI
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 我們已經在AI說書 - 從0開始 - 19中,闡述了Inference的Pipeline為t = f(n),現在我們做一些擴充與特點說明: t = f(n)其實展
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 從 AI說書 - 從0開始 - 99 到 AI說書 - 從0開始 - 121,我們完成書籍:Transformers for Natural Language Proc
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續 AI說書 - 從0開始 - 102 說要窺探 WMT 資料集,以下著手資料集下載程式: import urllib.request # Define the
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 新模型和 Human Baselines 排名將不斷變化,Human Baselines 的位置自從基礎模型出現以來,它就不再具有多大意義了,這些排名只是表明經典 NL
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 從 AI說書 - 從0開始 - 37 到 AI說書 - 從0開始 - 70 ,我們完成書籍:Transformers for Natural Language Proc
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:AI
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 我們已經在AI說書 - 從0開始 - 19中,闡述了Inference的Pipeline為t = f(n),現在我們做一些擴充與特點說明: t = f(n)其實展