
淺析時間序列用戶生命周期的聚類方法
一、時間序列
時間序列和時間序列分式分別是什么?
時間序列是指將某種現(xiàn)象某一個統(tǒng)計指標在不同時間上的各個數(shù)值,按時間先后順序排列而形成的序列。
而時間序列分析(Time series analysis)是一種動態(tài)數(shù)據(jù)處理的統(tǒng)計方法。該方法基于隨機過程理論和數(shù)理統(tǒng)計學(xué)方法,研究隨機數(shù)據(jù)序列所遵從的統(tǒng)計規(guī)律,以用于解決實際問題。(引自百度百科)
從上述說明可以看出,時間序列不僅僅只是一個序列數(shù)據(jù),而是一個受系統(tǒng)影響很大的序列數(shù)據(jù),時間序列的數(shù)據(jù)本身存在于生活中的各個領(lǐng)域里。人們對時間序列的分析從很早以前就開始了,發(fā)展至今,在大數(shù)據(jù)環(huán)境下,采用數(shù)據(jù)挖掘的方法來表示數(shù)據(jù)內(nèi)部規(guī)律也成為了分析時間序列的一種重要方向和趨勢。
二、時間序列特征
時間序列變量有以下兩大主要特征:
1.非平穩(wěn)性(nonstationarity,也作不平穩(wěn)性,非穩(wěn)定性):即時間序列變量無法呈現(xiàn)出一個長期趨勢并最終趨于一個常數(shù)或是一個線性函數(shù)。也就是說,時間序列在每個時間周期里可能出現(xiàn)兩種變化,一種是受整個系統(tǒng)變化的影響,另一種是隨機的變化。
2.波動幅度隨時間變化(Time—varying Volatility):即一個時間序列變量的方差隨時間的變化而變化。
正是因為這種不確定性和各自間的相關(guān)性,使得有效分析時間序列變量十分困難。舉例來說,每個人在不同的時間點產(chǎn)生的行為都是隨機行為,但即將產(chǎn)生的行為或多或少又會受個人過去的行為習(xí)慣所影響。假設(shè)當(dāng)我們有這個人過去的全部行為數(shù)據(jù)時,首先希望通過某種方式刻畫這個人過去的行為,并最終找到和這個人有類似行為習(xí)慣的人群。
傳統(tǒng)的劃分方法很多,但都是通過某個行為來進行分類,將所有相關(guān)行為放在時間序列上來進行整體觀察。就用戶生命周期而言,國內(nèi)外都有很多這個方向的研究。那么能否找到一種方法通過大量的數(shù)據(jù)來實踐時間序列的聚類方法優(yōu)劣性,并應(yīng)用到實際項目中呢?
三、相關(guān)案例
時間序列在電子商務(wù)領(lǐng)域的研究,近幾年才逐漸興起。我們在項目中希望能夠?qū)τ邢嗨菩袨榈娜巳鹤鰟澐郑l(fā)現(xiàn)由于人的很多行為是相互關(guān)聯(lián)的,并且在時間的維度中還會發(fā)生變化,可能受過去的影響,也可能不受影響,所以,這一秒和下一秒都是不可確定的,從傳統(tǒng)方法的聚類存在局限性。
但我們從長期趨勢研究中發(fā)現(xiàn)消費的某些行為可能是固定的,比如定期的購買、季節(jié)的變換、促銷活動的影響等,這些都是和時間周期有關(guān)系的,于是我們想到使用基于時間序列的聚類的方法來進行嘗試,得到了一些新的效果。隨著時間的變換,人的行為可能和時間進行關(guān)聯(lián)后會產(chǎn)生不同的結(jié)果,我們最后不僅能得到這個用戶局部的行為規(guī)律,也可以看到用戶在整體時間周期里的行為的規(guī)律,通過觀察整體和局部,便能更好進行用戶畫像。
四、時間序列的聚類
關(guān)于時間序列聚類的方法,簡單總結(jié)如下:
1.傳統(tǒng)靜態(tài)數(shù)據(jù)的聚類方法有:基于劃分的聚類、基于層次的聚類、基于密度的聚類、基于格網(wǎng)的聚類、基于模型的聚類;
2.時間序列聚類方法:大概有三種,一是基于形態(tài)特征,即形狀變化,包括全局特征和局部特征;二是基于結(jié)構(gòu)特征,即全局構(gòu)造或內(nèi)在變化機制,包括基本統(tǒng)計特征、時域特征和頻域特征;三是基于模型特征,參數(shù)的的變化影響系統(tǒng)的變化,同時存在隨機變化。
然而無論是分類、聚類還是關(guān)聯(lián)規(guī)則挖掘,都需要解決時間序列的相似度問題,相似性搜索是時間序列數(shù)據(jù)挖掘的研究基礎(chǔ)。由于時間序列存在各種復(fù)雜變形(如平移、伸縮、間斷等) ,且變形時間和變形程度都無法預(yù)料,傳統(tǒng)的歐氏距離已經(jīng)無法勝任。經(jīng)過調(diào)研得知,目前動態(tài)時間彎曲(DTW) 相似距離的穩(wěn)定性已在國內(nèi)外得到驗證,于是我們打算采用DTW來嘗試聚類分類。
五、歐式距離
我們定義兩個時間序列長度為N的序列T和D的歐式距離如下:
歐式距離本身也是計算空間距離的,我們剛開始選用它來計算距離,但發(fā)現(xiàn)單獨使用準確性不高?,F(xiàn)在,我們來做一個簡單的實驗:
圖1 三條序列曲線
首先,用Python來簡單的畫三條曲線(如圖1),從圖中可以明顯的看出,ss1和ss2曲線是很相似(這里就是sin函數(shù)的不同區(qū)間變換),ss3和他們兩個都有明顯的不同。我們使用公式來計算ss1和ss2,ss1和ss3的距離,結(jié)果如下:
ss1 --> ss2 的歐式距離:26.959216038
ss1 --> ss3 的歐式距離:23.1892491903
從上面可以直觀的發(fā)現(xiàn)ss1和ss2的距離值反而更大。這里只是直觀的說明它本身對序列計算的問題,其實當(dāng)發(fā)現(xiàn)時間序列的頻率變化;時間扭曲的時候,單一的歐式距離公式的偏差是比較大的。
六、動態(tài)時間規(guī)整(Dynamic Time Warping)
動態(tài)時間規(guī)整現(xiàn)在應(yīng)用的比較多的是在語音識別上,因為DTW本身是為了找到最優(yōu)非線性時間序列之間的距離值。這個算法是基于動態(tài)規(guī)劃(DP)的思想,解決了發(fā)音長短不一的模板匹配問題,簡單來說,就是通過構(gòu)建一個鄰接矩陣,尋找最短路徑和的犯法?,F(xiàn)在我們繼續(xù)試驗,定義兩個時間序列長度為n的序列T和D。
我們需要先構(gòu)建一個n x n的矩陣,其中i,j是和之間的歐式距離,我們想通過這個矩陣的最小累積距離的路徑。然后確定對比兩個時間序列之間的距離。我們叫這個路徑為W。
其中每個元素代表了T和D點之間的距離,例如:
我們想找到距離最小的路徑:
最佳路徑是使用的動態(tài)規(guī)劃遞歸函數(shù),具體公式如下:
最后得到結(jié)果:
ss1 --> ss2 的DTW距離:17.9297184686
ss1 --> ss3 的DTW距離:21.5494948244
七、聚類
從實驗后,我們最后選用了DTW作為時間序列的計算的方法。但在實際運行過程中,發(fā)現(xiàn)DTW的的運算速度確實比較慢,目前正在實驗提升它效率的方法。有了計算方法后,我們準備開始進行聚類了。我們使用k近鄰分類算法。根據(jù)經(jīng)驗,最理想的結(jié)果是當(dāng)然是k = 1時的距離值。在該算法中,訓(xùn)練集和測試集分別采用的時間序列的周期集合數(shù)據(jù)集,在算法中,對測試集進行預(yù)測的每個時間序列,搜索是必須通過訓(xùn)練中的所有的點集,發(fā)現(xiàn)最相似的一點。
八、小結(jié)
本文只是簡單介紹了在實際項目中使用時間序列聚類算法時產(chǎn)生的疑惑和解決思路,期間很多方法可能還是嘗試和實驗階段。由于時間的原因,可能還有很多細節(jié)方面考慮不是很周到,DTW算法比較可靠
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報考條件詳解與準備指南? ? 在數(shù)據(jù)驅(qū)動決策的時代浪潮下,CDA 數(shù)據(jù)分析師認證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計的實用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實施重大更新。 此次更新旨在確保認 ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預(yù)測分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢預(yù)判? ? 在數(shù)據(jù)驅(qū)動決策的時代,預(yù)測分析作為挖掘數(shù)據(jù)潛在價值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點,而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報考到取證的全攻略? 在數(shù)字經(jīng)濟蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數(shù)據(jù)背后的時間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時間維度的精準切片? ? 在數(shù)據(jù)的世界里,時間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準 ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨特的門控機制,在 ...
2025-07-07統(tǒng)計學(xué)方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動態(tài)、了解消費者需求的重要途徑,而統(tǒng)計學(xué)方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03