20個時間序列基本概念,學會幫你做好預測分析!

更新 發佈閱讀 14 分鐘
raw-image

1.時間序列

時間序列是一組按時間順序排列的資料點,例如:

  • 每小時的氣壓
  • 每年的醫院急診
  • 按分鐘計算的股票價格

2.時間序列的組成部分

時間序列資料有三個主要組成部分。

  • 趨勢
  • 季節性
  • 殘差或白噪聲

3.趨勢

在時間序列中記錄的長期緩慢變化/方向。

raw-image

4、季節性

季節性是在固定時間內發生的時間序列中的迴圈模式。

下面的時間序列顯示了季節性,在每個週期中,都處於底部和峰值,模式相似。

raw-image

5、殘差/白噪聲

這是一個時間序列的模式,完全是隨機的,不能用趨勢或季節成分來解釋。

6、時間序列分解

時間序列分解是將時間序列分解為其組成部分的過程,即趨勢,季節性和殘差。

raw-image

在上圖顯示了時間序列資料,資料下面的圖中被分解為其組成部分。

“殘差”顯示的是時間序列中無法用趨勢或季節性解釋的模式。這些表示資料中的隨機性。

我們可以使用如下所示的statmodels庫來分解時間序列。

import pandas as pd

import matplotlib.pyplot as plt

from statsmodels.tsa.seasonal import STL

df = pd.read_csv("time-series-data.csv")

decomposition = STL(df['x'], period=12).fit()

decomposition可以進一步繪製如下:

fig, (ax1, ax2, ax3, ax4) = plt.subplots(nrows=4, ncols=1, sharex=True,figsize=(10,8))

ax1.plot(decomposition.observed)

ax1.set_ylabel('Observed')

ax2.plot(decomposition.trend)

ax2.set_ylabel('Trend')

ax3.plot(decomposition.seasonal)

ax3.set_ylabel('Seasonal')

ax4.plot(decomposition.resid)

ax4.set_ylabel('Residuals')

plt.tight_layout()

7、時間序列預測

預測是基於歷史時間資料在以後時間上進一步預測資料點的過程。

這可以使用統計模型來完成,例如:

  • 自迴歸(AR)模型
  • 移動平均(MA)模型
  • 自迴歸移動平均(ARMA)模型
  • 自迴歸綜合移動平均(ARIMA)模型
  • 季節自迴歸綜合移動平均(SARIMA)模型
  • 帶有外源迴歸量的季節自迴歸綜合移動平均(SARIMAX)模型
  • 向量自迴歸(VAR)模型
  • 向量誤差校正(VECM)模型

對於較大的資料集,使用以下提到的深度學習模型:

  • 多層感知器(MLP)
  • 迴圈神經網路(RNN)
  • 長短期記憶網路(LSTM)
  • 自迴歸LSTMs
  • 卷積神經網路(CNN)

8、預測範圍

根據歷史時間序列資料預測未來資料點的時間段。

例如根據10年記錄的每日氣溫資料,預測下一週的氣溫。

在這種情況下,預測範圍是一週的時間。

9、預測模型基本步驟

時間序列預測模型主要由以下步驟組成:

  • 收集時間序列資料
  • 開發預測模型
  • 將模型部署到生產環境中
  • 收集新資料
  • 監控和評估模型效能
  • 重新訓練預測模型
  • 將新模型部署到生產環境中
  • 返回步驟4

10、時間序列預測與迴歸

下面是時間序列預測與迴歸任務的主要區別。

時間序列資料是有序的。這意味著觀察/資料點依賴於以前的觀察/資料點。因此,在模型訓練期間,資料點順序不會被打亂。

時間序列預測處理隨時間收集的資料。而回歸可以處理不同型別的資料。

11、Naïve預測與基線模型

基線模型是使用naïve對時間序列資料進行預測構建的最簡單的模型。作為比較其他預測模型的基線。

以下假設可用於建立基線模型:

  • 未來值與時間序列中的最後一個數據點相同
  • 未來值與某一時期內的值的中位數/眾數相同
  • 未來的值等於一定時期內的平均值
  • 未來的值與一定時期內的所有值相同

12、錯誤指標

準確預測的目的是最小化資料中預測值與實際值之間的差距。所以有各種錯誤指標用於監視和最小化這種差距。

常用的誤差指標如下:

  • 均方誤差 (MSE)
  • 平均絕對誤差 (MAE)
  • 均方根誤差 (RMSE)
  • 平均絕對百分比誤差 (MAPE)

13、平穩性

平穩的時間序列是其統計性質不隨時間變化的序列,這些統計屬性包括:

  • 均值
  • 方差
  • 自相關性

一般的統計預測方法(AR、MA、ARMA)都假定時間序列是平穩的。所以如果非平穩時間序列資料與這些一起使用,結果將是不可靠的。

14、變換

變換可以認為是使時間序列平穩的數學過程。常用的變換有:

差分計算從一個時間步到另一個時間步的變化。有助於在時間序列資料中獲得恆定的均值。

要應用差分,我們只需從當前時間步長的值中減去之前時間步長的值。

一階差分:對資料應用一次的差分;二階差分:對資料應用兩次的差分

對數函式應用於時間序列以穩定其方差,但是對數變換後需要進行逆向變換,將最終的結果進行還原。

15、Dickey-Fuller (ADF) 檢驗

Augmented Dickey-Fuller (ADF) Test是一種用於時間序列資料的經濟統計學檢驗方法,用於確定一個時間序列是否具有單位根(unit root)。單位根表示時間序列具有非平穩性,即序列的均值和方差不隨時間變化而穩定。ADF測試的目的是確定時間序列是否具有趨勢,並且是否可以進行經濟統計學分析。

ADF測試的核心假設是,如果時間序列具有單位根,則序列是非平穩的。反之,如果序列不具有單位根,則序列是平穩的。ADF測試透過對序列進行迴歸分析來驗證這些假設。

我們可以直接使用statsmodels來進行這個檢驗

from statsmodels.tsa.stattools import adfuller

ADF_result = adfuller(time_series)

print(f"ADF Result Value: {ADF_result[0]}")

print(f"ADF Result p-value: {ADF_result[1]}")

16、自相關

是對時間序列中由不同時間步長隔開的值之間線性關係的度量。滯後是分隔兩個值的時間步數。

自相關函式(ACF)圖用於測試時間序列中的值是否隨機分佈或彼此相關(如果時間序列具有趨勢)。

from statsmodels.graphics.tsaplots import plot_acf

plot_acf(time_series, lags = 20)
raw-image

這裡的x軸上的值表示滯後,y軸上的值表示由滯後分隔的不同值之間的相關性。

如果y軸上的任何值位於圖的藍色陰影區域,則該值在統計上不顯著,比如下面的ACF圖顯示其值之間沒有相關性(除了第一個與自身相關的值)。

raw-image

17、平滑方法

平滑方法(Smoothing Methods)是一種用於對時間序列資料進行平滑處理的技術,以便更好地觀察資料的趨勢和季節性成分。這些方法的目標是減少隨機噪聲,突出資料中的長期變化模式。

常見的有:移動平均法(Moving Average Method)、加權移動平均法(Weighted Moving Average Method)、指數平滑法(Exponential Smoothing Method)、季節性平滑法(Seasonal Smoothing Method)

18、時間序列資料特徵

  • 靜態時間序列(Static Time Series):靜態時間序列是指資料在時間上沒有變化的情況下進行分析。也就是說,它假設觀測到的時間序列資料是固定的,沒有隨時間的推移而發生變化。在靜態時間序列中,我們通常關注資料的平均水平、趨勢和季節性等靜態特徵。常見的靜態時間序列模型包括平均數模型、指數平滑模型和ARIMA模型等。
  • 動態時間序列(Dynamic Time Series):動態時間序列是指資料在時間上呈現出變化的情況下進行分析。也就是說,它認為觀測到的時間序列資料是隨時間變化的,並且過去的值對未來的值有影響。在動態時間序列中,我們關注資料的動態性、趨勢變化和週期性等動態特徵。常見的動態時間序列模型包括自迴歸移動平均模型(ARMA)、自迴歸積分滑動平均模型(ARIMA)和向量自迴歸模型(VAR)等。

靜態時間序列假設資料在時間上沒有變化,主要關注資料的靜態特徵。動態時間序列考慮資料在時間上的變化,並關注資料的動態特徵。靜態時間序列可以看作是動態時間序列的特例,當資料在時間上沒有變化時,可以將其視為靜態時間序列。

19、季節性(Seasonality),迴圈性(Cyclicity) 區別

季節性(Seasonality)和迴圈性(Cyclicity)都是描述時間序列資料中重複出現的模式,但它們之間存在一些區別。

季節性是在較短的時間尺度內,由於固定或變化的季節因素引起的週期性模式,而迴圈性則是在較長時間尺度內,由於經濟或其他結構性因素引起的週期性模式。

季節性(Seasonality)是指時間序列資料中由於季節因素引起的重複模式。這種模式通常是在較短的時間尺度內(例如每年、每季度、每月或每週)出現的,並且在不同時間段內的觀測值之間存在明顯的相似性。季節性可以是固定的,即在每個季節週期內的模式相對穩定,例如每年夏天都有高溫;也可以是非固定的,即在季節週期內的模式可能有變化,例如某個季節的銷售量在不同年份間波動。

迴圈性(Cyclicity)是指時間序列資料中具有較長週期性的模式。這種模式的週期可以大於或小於季節週期,並且迴圈性的持續時間通常比季節性更長。迴圈性可能是由經濟、商業或其他結構性因素引起的,與季節性不同,迴圈性的模式不一定按照固定的時間間隔出現,而是根據外部因素的影響而變化。例如,房地產市場的週期性波動就是一個迴圈性的例子。

20、時間序列庫推薦

  • PyFlux: PyFlux是一個用於時間序列分析和建模的庫,提供了多種模型,包括ARIMA、GARCH、VAR等。
  • PyCaret: PyCaret是一個用於機器學習和自動化建模的庫,它提供了簡化時間序列預測任務的工具。它支援自動特徵選擇、模型選擇和調優等功能,可以快速構建時間序列預測模型。
  • sktime: sktime是一個專門用於時間序列資料的機器學習庫,它建立在scikit-learn之上,並提供了許多專門針對時間序列的預處理和建模技術。
  • CausalImpact: CausalImpact是一個用於因果效應分析的庫,它可以幫助評估時間序列資料中某個事件或處理對結果的影響。
  • tsfresh: tsfresh是一個用於提取時間序列特徵的庫,它提供了各種統計和時間特徵提取方法,用於時間序列資料的特徵工程。



時間序列在實際中的應用

1. 長期趨勢的追蹤與變化判讀

在銷售、流量或業務活動中,趨勢線能幫助團隊理解整體方向究竟是在上升、停滯,或已經開始轉折。這類分析通常需要長時間的連續資料並搭配平滑處理,才能看到真正的走勢。若資料能穩定更新並以視覺化方式呈現,決策的清晰度會大幅提升。

2. 季節性與固定週期的識別

許多業務表現具有明顯的季節性,例如零售旺季、週期訂單、日夜時段的流量差異。這些固定模式需要透過時間序列拆解才能被看見,並用來判斷「什麼時候是自然波動、什麼時候是真正異常」。能夠以不同時間粒度(年、季、月、週)快速切換,對分析效率非常重要。

3. 噪音的處理與穩定趨勢線的提取

在高度波動的資料裡,移動平均或平滑處理能協助刪除噪音,讓分析者看清真正的變化方向。這對營運、財務、供應鏈等領域特別重要,因為決策往往不需要每個細枝末節,而是需要理解「整體往哪裡走」。

4. 異常偵測與前置預警信號的建立

時間序列的異常點往往是營運與風險管理的關鍵訊號,例如訂單突然下跌、設備數據跳動、成本異常上升等。這些變化若能即時被捕捉,通常能比週期性報表更早發現問題。而建立這類機制通常需要多來源資料與穩定的更新流程。



以上這些場景要真正落地,其實並不僅僅是公式問題,而是需要一套能同時處理「資料整合、時間粒度切換、視覺化、異常比較」的分析流程。在這裡向大家推薦適合企業分析的分析軟體 FineBI, 在時間序列相關的使用情境中相對直觀:可以自由切換時間粒度、拖拉產生多序列折線圖、整合不同資料來源並自動更新。對個人用戶也提供免費版本,適合把時間序列分析真正融入日常工作,而不是停留在概念層次。


留言
avatar-img
留言分享你的想法!
avatar-img
格友#b0e59的沙龍
0會員
6內容數
格友#b0e59的沙龍的其他內容
2025/11/27
我們平時用專業的BI視覺化工具時,都會提供參考配色。但我還是建議各位能夠掌握基本的視覺化配色知識,自己去根據實際業務背景搭配合適的顏色。今天就聚焦視覺化中顏色如何傳遞資料資訊。有了這個視覺化技能,幫助你讓複雜的圖,能更快速、精準地傳遞你想表達的訊息!
Thumbnail
2025/11/27
我們平時用專業的BI視覺化工具時,都會提供參考配色。但我還是建議各位能夠掌握基本的視覺化配色知識,自己去根據實際業務背景搭配合適的顏色。今天就聚焦視覺化中顏色如何傳遞資料資訊。有了這個視覺化技能,幫助你讓複雜的圖,能更快速、精準地傳遞你想表達的訊息!
Thumbnail
2025/11/26
在處理大量Excel資料時,常常捲動表格就看不到標題或關鍵欄位嗎? 教你用Excel凍結窗格能幫你鎖定重要資訊,讓瀏覽資料時更加順暢!
Thumbnail
2025/11/26
在處理大量Excel資料時,常常捲動表格就看不到標題或關鍵欄位嗎? 教你用Excel凍結窗格能幫你鎖定重要資訊,讓瀏覽資料時更加順暢!
Thumbnail
2025/11/19
運營分析要重點關注ROI,養成ROI思維模式,做任何對結果負責的事,首先要考慮做這件事的投入產出比。
Thumbnail
2025/11/19
運營分析要重點關注ROI,養成ROI思維模式,做任何對結果負責的事,首先要考慮做這件事的投入產出比。
Thumbnail
看更多
你可能也想看
Thumbnail
這篇文章記錄了我與香氛品牌 Sunkronizo 的相遇,用氣味重新校準生活的節奏。 從前調的水底靜謐,到中調的貼膚潔淨,再到基調的安穩木質,每一層都像在提醒自己:慢下來、呼吸、同步。 Silent Wild 對我來說,是一種存在方式的註記,也是我日常裡的小小儀式。
Thumbnail
這篇文章記錄了我與香氛品牌 Sunkronizo 的相遇,用氣味重新校準生活的節奏。 從前調的水底靜謐,到中調的貼膚潔淨,再到基調的安穩木質,每一層都像在提醒自己:慢下來、呼吸、同步。 Silent Wild 對我來說,是一種存在方式的註記,也是我日常裡的小小儀式。
Thumbnail
在現實生活中,許多資料並非靜止的,它們會隨著時間不斷變化,形成了一種特殊的資料型態,這就是時間序列資料。時間序列數據廣泛存在於各種領域,如金融市場的股票價格波動、氣候監測的溫度變化、製造業的機器故障檢測,以及網站流量的每日訪問量等。這些資料的最大特點在於:當前的觀測值與過去的值密切相關,未來的趨勢也
Thumbnail
在現實生活中,許多資料並非靜止的,它們會隨著時間不斷變化,形成了一種特殊的資料型態,這就是時間序列資料。時間序列數據廣泛存在於各種領域,如金融市場的股票價格波動、氣候監測的溫度變化、製造業的機器故障檢測,以及網站流量的每日訪問量等。這些資料的最大特點在於:當前的觀測值與過去的值密切相關,未來的趨勢也
Thumbnail
很多大公司小公司會想要導入數據分析作為內部決策的參考依據。不過,通常遇到的第一步,是發現公司內部空有資料,但殘缺不全。或是,基礎建設的效能不足等等問題。這時候,數據分析人員,往往除了執行數據分析的檢測或是資料探勘外,最常要做的就是自己動手清資料。也常常是因為這點,所以,許多公司的數據分析任務,一
Thumbnail
很多大公司小公司會想要導入數據分析作為內部決策的參考依據。不過,通常遇到的第一步,是發現公司內部空有資料,但殘缺不全。或是,基礎建設的效能不足等等問題。這時候,數據分析人員,往往除了執行數據分析的檢測或是資料探勘外,最常要做的就是自己動手清資料。也常常是因為這點,所以,許多公司的數據分析任務,一
Thumbnail
時序資料庫 (TSDB) 提升 AI 應用效率,優化資料儲存、查詢及預處理,支援即時監控、預測分析與異常偵測。在工業製造、能源管理和物聯網等領域具有顯著價值。
Thumbnail
時序資料庫 (TSDB) 提升 AI 應用效率,優化資料儲存、查詢及預處理,支援即時監控、預測分析與異常偵測。在工業製造、能源管理和物聯網等領域具有顯著價值。
Thumbnail
在工業 4.0 浪潮下,海量數據的即時處理與分析成為企業制勝關鍵。EDC 設備雲應運而生,為您打造本地端數據整合的強大後盾,助力企業實現智慧化轉型,解決數據採集、分析、監控等難題。
Thumbnail
在工業 4.0 浪潮下,海量數據的即時處理與分析成為企業制勝關鍵。EDC 設備雲應運而生,為您打造本地端數據整合的強大後盾,助力企業實現智慧化轉型,解決數據採集、分析、監控等難題。
Thumbnail
本篇文章探討了大型語言模型(LLM)在各行各業中的應用,特別是在企業和個人創業者的影響。探討了LLM在數據分析、文本生成和客戶服務等領域的潛力,以及它如何改變工作流程,尤其在一人公司時代的到來。文章還提及了 AI 對職場的挑戰,以及如何通過擁抱技術促進個人成長,並在未來的工作中實現人機協作。
Thumbnail
本篇文章探討了大型語言模型(LLM)在各行各業中的應用,特別是在企業和個人創業者的影響。探討了LLM在數據分析、文本生成和客戶服務等領域的潛力,以及它如何改變工作流程,尤其在一人公司時代的到來。文章還提及了 AI 對職場的挑戰,以及如何通過擁抱技術促進個人成長,並在未來的工作中實現人機協作。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News