時(shí)間序列分析是一種非常實(shí)用且強(qiáng)大的技術(shù),用于研究隨時(shí)間變化的數(shù)據(jù),例如銷售、交通、氣候等。異常檢測(cè)是識(shí)別偏離數(shù)據(jù)正常趨勢(shì)的值或事件的過(guò)程。在本文中,我將解釋什么是時(shí)間序列,它的組成部分是什么,它與其他類型的數(shù)據(jù)有何不同,如何檢測(cè)時(shí)間序列中的異常,以及進(jìn)行此類檢測(cè)的最常見(jiàn)技術(shù)。
時(shí)間序列分析簡(jiǎn)介
時(shí)間序列是在不同時(shí)點(diǎn)記錄一個(gè)或多個(gè)變量值的數(shù)據(jù)。例如,每天訪問(wèn)網(wǎng)站的人數(shù)、每月城市的 average 溫度、每小時(shí)的股票價(jià)格等。時(shí)間序列非常重要,因?yàn)樗鼈冊(cè)试S我們分析過(guò)去,理解現(xiàn)在,并預(yù)測(cè)未來(lái)。此外,時(shí)間序列幫助我們發(fā)現(xiàn)數(shù)據(jù)中的隱藏模式和趨勢(shì),這些可以用于改進(jìn)決策和策略。
然而,時(shí)間序列分析也帶來(lái)了挑戰(zhàn),并且與非時(shí)間數(shù)據(jù)分析有所不同。主要區(qū)別之一是時(shí)間序列是時(shí)間依賴的,即數(shù)據(jù)的排序和范圍是相關(guān)且不能被忽視或更改的。另一個(gè)區(qū)別是時(shí)間序列通常是非平穩(wěn)的,即它們的統(tǒng)計(jì)屬性(如均值和方差)會(huì)隨時(shí)間變化。這使得應(yīng)用傳統(tǒng)的統(tǒng)計(jì)方法變得困難,這些方法假設(shè)數(shù)據(jù)的平穩(wěn)性。
此外,時(shí)間序列分析需要對(duì)異常檢測(cè)采取不同的方法。異常是顯著偏離數(shù)據(jù)正常趨勢(shì)的值或事件。異常可能是由測(cè)量錯(cuò)誤、結(jié)構(gòu)變化、欺詐活動(dòng)、特殊事件等引起的。異常檢測(cè)很重要,因?yàn)樗梢蕴峁╇[藏在數(shù)據(jù)中的問(wèn)題或機(jī)會(huì)的寶貴見(jiàn)解。然而,檢測(cè)時(shí)間序列中的異常比非時(shí)間數(shù)據(jù)更復(fù)雜,因?yàn)楸仨毧紤]到數(shù)據(jù)的時(shí)序依賴性、非平穩(wěn)性和動(dòng)態(tài)性質(zhì)。
時(shí)間序列分析的基本概念
在我們?cè)敿?xì)討論時(shí)間序列分析和異常檢測(cè)技術(shù)之前,我們需要定義什么是時(shí)間序列及其組成部分。時(shí)間序列是在不同時(shí)點(diǎn)測(cè)量的一個(gè)或多個(gè)變量值的序列。
時(shí)間序列有三個(gè)主要組成部分:日期、時(shí)間和特征。日期和時(shí)間指示了何時(shí)測(cè)量變量值。特征是我們希望分析的變量。在我們的示例中,日期是月份的一天,天氣是星期幾,特征是訪客數(shù)量。
為了能夠分析時(shí)間序列,我們需要滿足某些要求。第一個(gè)要求是有足夠的數(shù)據(jù)點(diǎn),即隨時(shí)間變化的變量觀測(cè)值。所需的數(shù)據(jù)點(diǎn)數(shù)量取決于我們想要進(jìn)行的分析類型以及數(shù)據(jù)收集的頻率。例如,如果我們想要分析數(shù)據(jù)的季節(jié)性,即數(shù)據(jù)作為時(shí)間的函數(shù)的周期性變化,我們需要至少一個(gè)完整的觀測(cè)周期,涵蓋所有可能的季節(jié)。如果數(shù)據(jù)每天收集一次,我們需要至少一年的數(shù)據(jù)才能分析年度季節(jié)性。
第二個(gè)要求是對(duì)數(shù)據(jù)的領(lǐng)域有深入的了解,即數(shù)據(jù)生成的背景和變量的含義。這有助于我們解釋分析結(jié)果并識(shí)別異常的可能原因。例如,如果我們分析網(wǎng)站的訪客數(shù)量,我們需要知道網(wǎng)站的類型、目標(biāo)受眾、目標(biāo)、影響流量的因素等。
第三個(gè)要求是對(duì)分析目標(biāo)有清晰的定義,即我們想要從數(shù)據(jù)中發(fā)現(xiàn)什么以及我們想要如何使用它。分析的目標(biāo)可能因用例和研究問(wèn)題而異。例如,我們可能想要分析時(shí)間序列有:
描述數(shù)據(jù)隨時(shí)間的行為及其主要特征
基于過(guò)去的值預(yù)測(cè)未來(lái)的數(shù)據(jù)值
檢測(cè)數(shù)據(jù)中的異常及其原因
測(cè)試關(guān)于數(shù)據(jù)及其關(guān)系的假設(shè)
優(yōu)化數(shù)據(jù)驅(qū)動(dòng)的決策和行動(dòng)
理解時(shí)間序列中的異常
在我們查看如何檢測(cè)時(shí)間序列中的異常之前,我們需要了解異常是什么以及它們?nèi)绾卧跀?shù)據(jù)中表現(xiàn)出來(lái)。異常是顯著偏離數(shù)據(jù)正常趨勢(shì)的值或事件。異常可以分為兩種類型:點(diǎn)狀或集體。點(diǎn)狀異常是與時(shí)間序列中的其他值非常不同的孤立值。集體異常是與時(shí)間序列的其他部分不同的一組值。
例如,在下面的圖中,我們可以看到一個(gè)月內(nèi)每天記錄網(wǎng)站訪客數(shù)量的時(shí)間序列。點(diǎn)狀異常用紅色標(biāo)出,集體異常用藍(lán)色標(biāo)出。

異常可能有不同的原因和含義。一些異常可能是由于測(cè)量、傳輸或數(shù)據(jù)處理錯(cuò)誤引起的。這些異常通常被稱為噪聲,可以被忽略或糾正。其他異常可能是由于結(jié)構(gòu)性變化、欺詐活動(dòng)、特殊事件或其他影響數(shù)據(jù)的因素引起的。這些異常通常被稱為信號(hào),檢測(cè)和分析它們可能很重要。
為了檢測(cè)時(shí)間序列中的異常,我們首先需要對(duì)數(shù)據(jù)隨時(shí)間的正常運(yùn)動(dòng)有所期望。這些期望是基于對(duì)時(shí)間序列的主要組成部分的分析,這些組成部分是:
趨勢(shì),即數(shù)據(jù)長(zhǎng)期變化的方向和速度。例如,上升趨勢(shì)表明數(shù)據(jù)隨時(shí)間增加,而下降趨勢(shì)表明數(shù)據(jù)隨時(shí)間減少。
季節(jié)性,即數(shù)據(jù)作為時(shí)間的函數(shù)的周期性變化。例如,年度季節(jié)性表明數(shù)據(jù)具有每年重復(fù)一次的循環(huán)模式,例如玩具店的銷售在12月增加而在1月減少。
周期性,即數(shù)據(jù)作為時(shí)間的函數(shù)的不規(guī)則變化。例如,經(jīng)濟(jì)周期性表明數(shù)據(jù)具有依賴于外部因素(如GDP、通貨膨脹、失業(yè)率等)的波動(dòng)趨勢(shì)。
噪聲,即數(shù)據(jù)作為時(shí)間的函數(shù)的隨機(jī)變化。例如,噪聲可能是由測(cè)量、傳輸或處理錯(cuò)誤引起的。
在下面的圖中,我們可以看到一個(gè)具有上升趨勢(shì)、年度季節(jié)性和噪聲的時(shí)間序列示例。

當(dāng)分析時(shí)間序列時(shí),我們需要考慮這些組件并了解它們?nèi)绾坞S時(shí)間變化。一個(gè)或多個(gè)組件的變化可能會(huì)引起異常。因此,通過(guò)理解和建模時(shí)間序列的趨勢(shì)、季節(jié)性、周期性和噪聲,我們可以建立對(duì)正常行為的期望,并相應(yīng)地檢測(cè)偏離這些期望的異常。
時(shí)間序列分析的數(shù)據(jù)要求
如我們所見(jiàn),為了能夠分析時(shí)間序列并檢測(cè)異常值,我們需要擁有滿足特定要求的數(shù)據(jù)。第一個(gè)要求是擁有足夠數(shù)量的數(shù)據(jù)點(diǎn),即隨時(shí)間變化的變量觀測(cè)值。所需的數(shù)據(jù)點(diǎn)數(shù)量取決于我們想要進(jìn)行的分析類型以及數(shù)據(jù)的收集頻率。例如,如果我們想要分析數(shù)據(jù)的趨勢(shì),我們需要至少有十二個(gè)覆蓋相當(dāng)長(zhǎng)時(shí)間范圍的數(shù)據(jù)點(diǎn)。如果我們想要分析數(shù)據(jù)的季節(jié)性,我們需要至少有一個(gè)完整的觀測(cè)周期,涵蓋所有可能的季節(jié)。如果我們想要分析數(shù)據(jù)噪聲,我們需要至少有二十個(gè)足夠變化的數(shù)據(jù)點(diǎn)。
第二個(gè)要求是擁有捕捉時(shí)間變化的數(shù)據(jù),即反映變量隨時(shí)間變化的變動(dòng)。這意味著數(shù)據(jù)應(yīng)該在規(guī)律且一致的時(shí)間間隔內(nèi)收集,不跳過(guò)或重復(fù)某些觀測(cè)值。此外,數(shù)據(jù)必須是時(shí)間對(duì)齊的,即每個(gè)觀測(cè)值必須對(duì)應(yīng)于變量被測(cè)量的時(shí)間。這暗示著數(shù)據(jù)必須轉(zhuǎn)換為適合時(shí)間序列分析的格式,例如日期時(shí)間格式。
第三個(gè)要求是擁有滿足時(shí)間序列主要組件(即趨勢(shì)、季節(jié)性和噪聲)分析的最低要求的數(shù)據(jù)。這些要求根據(jù)我們想要用于分析的模型而有所不同。例如,如果我們想要使用線性模型來(lái)分析趨勢(shì),我們需要擁有在變量和時(shí)間之間具有線性關(guān)系的數(shù)據(jù)。如果我們想要使用指數(shù)模型來(lái)分析趨勢(shì),我們需要擁有在變量和時(shí)間之間具有指數(shù)關(guān)系的數(shù)據(jù)。如果我們想要使用ARIMA模型來(lái)分析季節(jié)性和噪聲,我們需要擁有穩(wěn)定或可微分的數(shù)據(jù)。
時(shí)間序列分析中的差分
如我們所見(jiàn),時(shí)間序列分析中的一個(gè)主要挑戰(zhàn)是數(shù)據(jù)中存在非穩(wěn)定性,即數(shù)據(jù)的統(tǒng)計(jì)屬性(如均值和方差)隨時(shí)間變化。這使得應(yīng)用傳統(tǒng)的統(tǒng)計(jì)方法變得困難,因?yàn)檫@些方法假設(shè)數(shù)據(jù)是穩(wěn)定的。為了使用這些方法,我們必須首先轉(zhuǎn)換數(shù)據(jù),使其變得穩(wěn)定,或至少近似穩(wěn)定。進(jìn)行這種轉(zhuǎn)換的最常見(jiàn)技術(shù)之一是差分。
差分包括從時(shí)間序列中的每個(gè)值中減去前一個(gè)值,從而得到一個(gè)代表數(shù)據(jù)隨時(shí)間變化的新的時(shí)序。例如,如果我們有一個(gè)時(shí)間序列 {x1, x2, x3, …},它的一階差分是 {x2 - x1, x3 - x2, …}。差分可以重復(fù)多次,從而實(shí)現(xiàn)二階差分、三階差分等。差分的目的是從時(shí)間序列中移除趨勢(shì)和季節(jié)性成分,這些是非穩(wěn)定性的主要原因。實(shí)際上,如果數(shù)據(jù)具有趨勢(shì)或季節(jié)性,其值將與前一個(gè)或后一個(gè)值相關(guān)。減去這些值可以減少或消除這種相關(guān)性。
例如,我們可以看到一個(gè)具有上升趨勢(shì)和年度季節(jié)性的時(shí)間序列。其一階差分去除了趨勢(shì),但沒(méi)有去除季節(jié)性。其二階差分去除了趨勢(shì)和季節(jié)性。
差分是最廣泛使用的時(shí)間序列分析和異常檢測(cè)模型之一——ARIMA模型的基礎(chǔ)。
ARIMA模型介紹
ARIMA模型是時(shí)間序列分析和異常檢測(cè)中廣泛使用的模型之一。ARIMA代表自回歸差分移動(dòng)平均模型(Autoregressive Integrated Moving Average)。這個(gè)模型結(jié)合了三個(gè)主要組成部分:
自回歸(AR)部分,它建模時(shí)間序列值與之前值之間的相關(guān)性。例如,如果數(shù)據(jù)是周期性的,時(shí)間序列值將受到過(guò)去值的影響。
差分(I)部分,它通過(guò)使時(shí)間序列差分來(lái)建模,使其變得穩(wěn)定。例如,如果數(shù)據(jù)具有趨勢(shì)或季節(jié)性,差分將從時(shí)間序列中移除這些成分。
移動(dòng)平均(MA)部分,它建模時(shí)間序列誤差與之前誤差之間的相關(guān)性。例如,如果數(shù)據(jù)有噪聲,時(shí)間序列誤差將受到過(guò)去誤差的影響。
ARIMA模型有三個(gè)主要參數(shù):p、d和q。p參數(shù)表示模型中使用的自回歸項(xiàng)的數(shù)量。d參數(shù)表示為了使時(shí)間序列穩(wěn)定而必須對(duì)時(shí)間序列進(jìn)行差分的次數(shù)。q參數(shù)表示模型中使用的移動(dòng)平均項(xiàng)的數(shù)量。例如,ARIMA(1,1,1)模型使用一個(gè)自回歸項(xiàng)、一個(gè)差分和一個(gè)移動(dòng)平均項(xiàng)。
ARIMA模型可以用來(lái)描述、預(yù)測(cè)和檢測(cè)時(shí)間序列中的異常。為此,我們需要遵循幾個(gè)步驟:
首先,我們需要檢查時(shí)間序列是否穩(wěn)定。我們可以使用統(tǒng)計(jì)測(cè)試,如增強(qiáng)的Dickey-Fuller測(cè)試,來(lái)檢查時(shí)間序列的均值和方差是否隨時(shí)間恒定。
其次,我們需要對(duì)時(shí)間序列進(jìn)行差分,直到它變得穩(wěn)定。我們可以使用圖表,如自相關(guān)函數(shù)圖和偏自相關(guān)函數(shù)圖,來(lái)確定所需的差分次數(shù)。
第三,我們需要使用優(yōu)化方法,如最大似然法,來(lái)估計(jì)ARIMA模型的參數(shù)。我們可以使用模型選擇標(biāo)準(zhǔn),如赤池信息準(zhǔn)則或貝葉斯信息準(zhǔn)則,來(lái)選擇p、d和q參數(shù)的最優(yōu)值。
第四,我們需要使用驗(yàn)證方法,如Ljung-Box測(cè)試或Jarque-Bera測(cè)試,來(lái)驗(yàn)證ARIMA模型。我們可以使用圖表,如殘差圖或預(yù)測(cè)圖,來(lái)檢查模型是否與數(shù)據(jù)擬合良好,以及數(shù)據(jù)中是否存在任何異常。
第五,我們需要使用ARIMA模型來(lái)描述時(shí)間序列的主要特征,預(yù)測(cè)未來(lái)的時(shí)間序列值,并檢測(cè)時(shí)間序列中的異常。我們可以使用準(zhǔn)確性度量,如均方誤差或平均絕對(duì)誤差,來(lái)評(píng)估預(yù)測(cè)和異常的質(zhì)量。
時(shí)間序列異常檢測(cè)
在估計(jì)和驗(yàn)證我們的時(shí)間序列的ARIMA模型后,我們可以使用它來(lái)檢測(cè)數(shù)據(jù)中的異常。異常是與數(shù)據(jù)的正常運(yùn)行趨勢(shì)顯著偏離的值或事件。為了檢測(cè)異常,我們需要將觀察到的時(shí)間序列值與ARIMA模型預(yù)測(cè)的值進(jìn)行比較。如果兩個(gè)值之間的差異大于某個(gè)閾值,我們可以將觀察到的值視為異常。
定義異常的閾值取決于多個(gè)因素,如置信水平、誤差分布、數(shù)據(jù)的頻繁程度等。通常,我們可以使用置信區(qū)間的概念來(lái)確定閾值。置信區(qū)間是一個(gè)以一定概率包含預(yù)測(cè)值的區(qū)間。例如,95%的置信區(qū)間意味著預(yù)測(cè)值在該范圍內(nèi)的概率為95%。如果觀察到的值在置信區(qū)間之外,我們可以將其視為異常。
當(dāng)我們?cè)跁r(shí)間序列中檢測(cè)到異常時(shí),我們還必須嘗試?yán)斫馑鼈兊脑蚝秃x。一些異常可能是由于測(cè)量、傳輸或數(shù)據(jù)處理錯(cuò)誤造成的。這些異常通常被稱為噪聲,可以被忽略或糾正。其他異常可能是由于結(jié)構(gòu)性變化、欺詐活動(dòng)、特殊事件或其他影響數(shù)據(jù)的因素造成的。這些異常通常被稱為信號(hào),檢測(cè)和分析它們可能很重要。
為了理解異常的原因和含義,我們需要使用我們對(duì)數(shù)據(jù)領(lǐng)域的知識(shí),即數(shù)據(jù)生成的背景和變量的含義。此外,我們需要使用其他信息來(lái)源,如其他相關(guān)時(shí)間序列、歷史數(shù)據(jù)、新聞、報(bào)告等。這有助于我們解釋異常檢測(cè)結(jié)果并確定可能采取的行動(dòng)。
在本文中,我們已經(jīng)看到了如何使用ARIMA模型進(jìn)行時(shí)間序列分析和異常檢測(cè)。
結(jié)論
在本文中,我們已經(jīng)看到了如何使用ARIMA模型進(jìn)行時(shí)間序列分析和異常檢測(cè)。我們已經(jīng)了解了什么是時(shí)間序列,它的組成部分是什么,它與其他類型的數(shù)據(jù)有何不同,如何在時(shí)間序列中檢測(cè)異常,以及進(jìn)行這些操作的最常見(jiàn)技術(shù)。我們已經(jīng)看到了如何驗(yàn)證數(shù)據(jù)的平穩(wěn)性,如何對(duì)時(shí)間序列進(jìn)行差分,如何估計(jì)和驗(yàn)證ARIMA模型,如何使用ARIMA模型來(lái)描述、預(yù)測(cè)和檢測(cè)時(shí)間序列中的異常,以及如何解釋異常檢測(cè)結(jié)果。
時(shí)間序列分析和異常檢測(cè)是研究隨時(shí)間變化的數(shù)據(jù)(如銷售、交通、氣候等)的非常有用的強(qiáng)大技術(shù)。這些技術(shù)允許我們分析過(guò)去,理解現(xiàn)在,并預(yù)測(cè)未來(lái)。此外,這些技術(shù)幫助我們發(fā)現(xiàn)數(shù)據(jù)中隱藏的模式和趨勢(shì),這可以用來(lái)改進(jìn)決策和策略。最后,這些技術(shù)幫助我們識(shí)別數(shù)據(jù)中的隱藏問(wèn)題或機(jī)會(huì),這可能是由數(shù)據(jù)中的異常引起的。
審核編輯:黃飛
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7335瀏覽量
94769 -
時(shí)間序列
+關(guān)注
關(guān)注
0文章
31瀏覽量
10700 -
數(shù)據(jù)分析
+關(guān)注
關(guān)注
2文章
1516瀏覽量
36217
原文標(biāo)題:時(shí)間序列分析的異常檢測(cè)綜述
文章出處:【微信號(hào):可靠性雜壇,微信公眾號(hào):可靠性雜壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
【「時(shí)間序列與機(jī)器學(xué)習(xí)」閱讀體驗(yàn)】全書概覽與時(shí)間序列概述
【《時(shí)間序列與機(jī)器學(xué)習(xí)》閱讀體驗(yàn)】+ 了解時(shí)間序列
時(shí)間序列小波分析的操作步驟及實(shí)例分析
多變量水質(zhì)參數(shù)時(shí)間異常事件檢測(cè)算法
基于導(dǎo)數(shù)序列的時(shí)間序列同構(gòu)關(guān)系
寶信利用Spark Analytics Zoo對(duì)基于LSTM的時(shí)間序列異常檢測(cè)的探索
如何使用頻繁模式發(fā)現(xiàn)進(jìn)行時(shí)間序列異常檢測(cè)詳細(xì)方法概述
基于時(shí)間卷積網(wǎng)絡(luò)的通用日志序列異常檢測(cè)框架
一種多維時(shí)間序列汽車駕駛異常點(diǎn)檢測(cè)模型
時(shí)間序列分析的定義
一種新的無(wú)監(jiān)督時(shí)間序列異常檢測(cè)方法
采用基于時(shí)間序列的日志異常檢測(cè)算法應(yīng)用
智能電網(wǎng)時(shí)間序列異常檢測(cè):a survey
時(shí)間序列分析的異常檢測(cè)綜述
評(píng)論