時間序列分析學習筆記


1、點序列

  模式發生時間的一個有序序列,se=<t1,t2,t3,t4,t5>

2、周期點序列

  <0,5,10,15,20,27,30,35,40>是一個周期為5、時間容忍度為2的周期點序列。

3、部分周期模式

  <0,5,10,15,27,30,35,40>可以分為<0,5,10,15>、<15,27>和<27,30,35,40>三個子序列,其中<0,5,10,15>和<27,30,35,40>都是周期為5,時間容忍度為2的周期點序列,因此<0,5,10,15,27,30,35,40>是部分周期點序列,其中[0,15]和[27,40]是開時間段,而[15,27]是關時間段。

 4、時間間隔周期點序列(基於方差的模式)

  定義4.1 給定一個時間點序列 se=<t1,t2,t3,t4,t5>,其對應的時間間隔序列為<(t2-t1),(t3-t2),(t4-t3),(t5-t4)>,其中每個元素為點序列中相鄰兩個時間點的時間間隔,如果該時間間隔序列的方差小於給定閾值(例如1.2,這個閾值的選擇下面說),則稱該序列是 周期為p的一個周期點序列,其中p為時間間隔的平均值,即

      

  同時模式e稱為周期為p的周期模式

  如果用泊松過程來模擬一個事件的時間點序列的產生過程,事件發生概率均值為的泊松過程的時間間隔是服從指數分布的,其方差為,其中是兩個事件時間間隔的均值。

  對於有N個時間點的時間序列來說,如果起始時間和最后一個時間點的時間差為T,稱[0,T]為該時間點序列的時間窗,平均時間間隔為T/N,即=,因此方差為,計作

  從上面的公式可以看出,方差的大小與時間窗和窗口內的時間點數目有關,在給定時間窗的前提下,序列內的時間點越多,方差越小;因此,衡量一個序列是否具有周期性(或者說周期性的強度),需要有一個參照,我們可以選擇相同時間窗下隨機事件時間序列的方差來做對比,以此定義上文中的方差閾值為

  重新定義上面的4.1:

  定義4.5 給定一個時間點序列 se=<t1,t2,t3,t4,t5>,其對應的時間間隔序列為<(t2-t1),(t3-t2),(t4-t3),(t5-t4)>,如果該時間間隔序列的方差與相同時間窗相同長度的隨機事件時間間隔序列的方差之比小於給定方差比閾值,則稱該序列是周期為p的一個周期點序列,其中p為時間間隔的平均值,即

      

  同時模式e稱為周期為p的周期模式

 5、基於方差的周期模式的類型

  上面定義4.5中是基本的周期模式,除此之外還有:

  (1)部分周期模式:點序列分割為不重疊的子序列,部分子序列是滿足給定方差比閾值的周期點序列(簡稱為周期子序列),且周期均為p,其余子序列不滿足方差比閾值,且至少存在這樣的一個子序列,則稱該序列是周期為p的部分周期點序列,同時模式e稱為周期為p的部分周期模式

  根據應用背景的不同,部分周期模式可以加上另外的約束條件,例如屬於周期點序列的子序列的個數占子序列總個數的比例大於給定閾值,或者關時間段占總時間窗的比例小於給定閾值等。

  (2)周期變化的周期模式:如果該點序列可以分割為不重疊的子序列,每個子序列都是滿足給定方差比閾值的周期點序列,但周期不完全相同,即至少存在兩個不同的周期,則稱該序列為周期變化的部分周期點序列,同時模式e稱為周期變化的部分周期模式

  (3)周期變化的部分周期模式:如果該點序列可以分割為多個不重疊的子序列,其中至少存在一個子序列不滿足方差比閾值,其余每個子序列都滿足給定方差比閾值,但周期不完全相同,即至少存在兩個不同的周期,則稱該序列為周期變化的部分周期點序列,同時模式e稱為周期變化的部分周期模式

  周期變化的意義

  周期發生變化通常也隱含這事件發生的環境因素發生變化,因此這種模式的發現對於推薦系統識別上下文的改變也是有幫助的。另外,周期的增加或減少也隱含着其他的信息,例如,如果一個用戶對某購物網站的訪問周期變長,那預示着該用戶可能轉向其他網站購物,這對於防止用戶的流失也具有潛在價值。

 6、周期模式的發現方法

  解決的問題是,給定一個模式及其點序列的時間間隔序列,如何判斷該模式是否是周期模式、屬於何種周期模式以及周期是多少的方法。

  周期模式發現兩種方法:

  (1)貪婪分割法:高效,但有可能漏掉某些周期模式;

  (2)准遍歷法(之所以叫“准”,是因為並不是完全遍歷,對於一個滿足條件的子序列的所有子序列將不再需要進一步檢查):更全面地找出所有周期模式,但效率相對較低。

  實現方式:頻繁模式或者頻繁事件組(frequent episude)的發現方法來實現。

(Aggarwal,et al.,2000;Agrawal and Srikant,1994;Bayardo,1998;Han,et al.,2004;Mannila,et al.,1997) 

  算法的輸入輸出如下:

  INPUT:

    (1)模式e的時間間隔序列;

    (2)方差比閾值

   (3)最小序列長度閾值;

     (4) 最小開時間段比例

   (5)最大周期差異比例

  OUTPUT:

    判斷模式e屬於哪種周期模式

  算法都分為2步實現:

    第一步是找出子序列:

      分割法用分割的方式找不重疊的子序列;准遍歷法用近似遍歷給定時間間隔序列的的方法尋找所有可能的子序列;

      這一步需要用到的參數是:

        “方差比閾值”:用來決定是否具有周期性;

        “最小序列長度閾值 ”:用來決定是否需要繼續分割或者決定遍歷的步長;

    第二步是判斷所屬的周期類型

      這一步兩種方法都基本一樣,主要通過幾個參數來判斷。

      “最大周期差異比例” :用來決定是周期變化還是等周期的模式;

      “ 最小開時間段比例” :用來決定是否是部分周期模式;

 7、預測事件的發生

  通過判斷下一個發生的時間間隔的取值范圍來預測該事件是否仍保持周期性。

  設 

 

,

  計算下一個時間間隔:

    

   

  預測的准確度:

  可以將序列的前五分之四作為已知序列,剩下的作為測試部分,如果已知序列滿足周期模式的條件,則根據定理預測其下一個時間間隔的取值范圍;如果測試部分的時間間隔落入這個取值范圍,則視為預測准確;否則為錯誤。(要注意排除准確度跟序列長度本身的關系)

  其他的預測方法:隱馬爾可夫模型,進行下一個時間間隔以及狀態的預測,進一步提高預測的准確度。

  應用:

    用於預測事件的下一個發生時間,也便於在事件沒有如期發生時讓商家觀察到客戶行為的變化,從而采取適當的措施,例如挽留客戶的行為。

 8、時間序列分析/預測的算法

  感覺更偏向於研究數據的統計分布、季節性時間周期什么的,這樣的數據結構是會分 時序列、數值列 來輸入,注重的是分布的規律,根據分布的規律來預測;

  holt winters

  arima

  garch

  decompose

  markov chain predict

    

9、注意的問題

  個人用戶的數據的周期或者發展趨勢很有可能會受到總體數據趨勢發展變化的影響,因此我們在分析個人的周期性行為或者預測發展趨勢的時候,其實不妨先分析一下大盤的整體趨勢是怎么樣的。因為如果用戶根本不是很個性化,那么整體的趨勢可能更有說服力。

 

 

 

 參考書籍:《社會計算:用戶在線行為分析與挖掘》劉紅岩著

python pandas

http://www.cnblogs.com/foley/p/5582358.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM