1. 程式人生 > 實用技巧 >【資料探勘】使用可檢視方法轉換時間序列為複雜網路

【資料探勘】使用可檢視方法轉換時間序列為複雜網路

文章目錄

一、引言

使用可檢視方法轉換時間序列為複雜網路的方法最早可以追溯到2008年Lucas Lacasa, Bartolo Luque, Fernando Ballesteros, Jordi Luque, and Juan Carlos Nun的論文《From time series to complex networks:
The visibility graph》

https://www.pnas.org/content/105/13/4972.full

本篇筆記主要圍繞該篇論文介紹使用可檢視方法轉換時間序列為複雜網路的相關內容。

二、研究問題

使用可檢視方法轉換時間序列為複雜網路,也就是通過可檢視直觀地展示時間序列對映後的複雜網路,此時的複雜網路繼承了時間序列的屬性。
而該篇論文研究的核心思想,正是研究使用複雜網路的方法在多大程度上可以繼承時間序列屬性,從而用作表示時間序列方式的問題。
研究將時間序列劃分為ordered (periodic) series有序(週期)時間序列; random series隨機時間序列;fractal series分形時間序列;並提出了最適宜其轉換的複雜網路結構圖。

三、轉換模式

(一)有序(週期)時間序列

有序時間序列可以轉換為regular graphs 規則圖,以論文中的資料為例,可以將下述時間序列轉換為如下複雜網路
Fig.1
在這裡插入圖片描述

Example of a time series (20 data values) and the associated graph derived from the visibility algorithm. In the graph, every node corresponds, in the same order, to series data. The visibility rays between the data define the links connecting nodes in the graph.

Fig.1中時間序列資料的關係用landscape進行刻畫,資料間的對應關係用visivility(可見性)進行描述。
那麼,在本篇論文中,如何描述資料間的可見性呢?其實很簡單,論文中對可見性進行如下定義

visibility line does not intersect any intermediate data height.

可以把數值的柱狀圖想象成一座座高樓,可見線想象成站在高樓上的一個人的視線,這裡的可見性其實就是描述站在柱狀圖,這個高樓的樓頂,能夠看到其他哪些高樓(如果視線被高樓擋住了,那就不能被看見,這時候就是不存在可見性關係)
這便是論文中所定義的可見性關係。
我們可以把時間序列資料中的時間資訊轉換為複雜網路的節點位置資訊,時間序列中的可見性關係轉換為複雜網路中節點與節點間的連線關係,這種可見性的連線關係同樣刻畫了時間序列資料中數值的相對大小關係。這時候,時間序列資料的兩個維度t(時間)和y(數值)維度就通過複雜網路進行視覺化圖的展示和描述了。
為什麼關係連線可以刻畫數值關係呢?舉個很簡單的例子,有兩個點A( t a t_a ta, y a y_a ya)和點B( t b t_b tb, y b y_b yb)存在可見性關係,這時候如果他們中間有其他節點C( t c t_c tc, y c y_c yc),那麼此時點C的值一定滿足公式 y c < y b + ( y a − y b ) ( t b − t c ) / ( t b − t c ) y_c<y_b+(y_a-y_b)(t_b-t_c)/(t_b-t_c ) yc<yb+(yayb)(tbtc)/(tbtc)
關於這一演算法的復現,可參考Rgarcia Herrera前輩的程式碼

由此觀之,我們很容易發現,從時間序列資料中提取出的網路圖存在如下三個性質。

We can easily check that by means of the present algorithm, the associated graph extracted from a time series is always:
Connected: each node sees at least its nearest neighbors (left and right).
Undirected: the way the algorithm is built up, there is no direction defined in the links.
Invariant under affine transformations of the series data: the visibility criterion is invariant under rescaling of both horizontal and vertical axes, and under horizontal and vertical translations .

  1. Connected
    連線關係,每個節點至少與左右兩個鄰近節點存在可見性關係
  2. Undirected
    無向性,此時刻畫的複雜網路,節點間的路徑不存在方向。

不過,需要注意的是,雖然在該網路圖中沒有刻畫方向,但其實複雜網路同樣可以實現方向的描述,可以通過入度和出度數值進行刻畫,入度記作 k i k_i ki n _n n,出度記作 k o k_o ko u _u u t _t t,即可實現有向圖的刻畫。

  1. Invariant under affine transformations of the series data
    在時間序列的仿射變換下仿射不變。仿射變化大概是描述資料經過水平軸和垂直軸按比例縮放變化或水平方向、垂直方向的平移變化。經過仿射變化後,可見性標準仍然保持不變

在fig.1中特性3體現的不太明顯,可以通過fig.2進行理解
Fig.2
在這裡插入圖片描述

The visibility graph of a time series remains invariant under several transformation of the time series. (a) Original time series with visibility links. (b) Translation of the data. © Vertical rescaling. (d) Horizontal rescaling. (e) Addition of a linear trend to the data. As can be seen in the bottom diagram, in all these cases the visibility graph remains invariant.

圖2展示了另一種,由Zhang and Small (ZS)提出的轉換方法,與圖1的時間序列物件有所不同,ZS演算法更關注偽週期時間序列,也就是表面上是隨機的,實際上是有一定規律的時間序列資料。
上述演算法,都通過可見圖保留和繼承了時間序列資料中的規律。

(二)隨機時間序列資料

隨機時間序列資料在Mapping後被刻畫為一種指數隨機圖。
隨機時間序列資料的選取,本文以“在[0,1]上的均勻分佈提取的 1 0 6 10^6 106個數據值的時間序列資料”作為實驗集進行展示。
Fig.3
在這裡插入圖片描述

Random series. (Left) First 250 values of R(t), where R is a random series of 106 data values extracted from U[0,1]. (Right) Degree distribution P(k) of the visibility graph associated with R(t) (plotted in semilog). Although the beginning of the curve approaches the result of a Poisson process, the tail is clearly exponential. This behavior is due to data with large values (rare events), which are the hubs.

用t刻畫時間維度,可以得到時間t及其對應的(隨機)時間取值R(t),如圖3左圖所示;k表示轉化為複雜網路後的節點數量,P(k)表示對應度數k的出現概率,如圖3右圖所示。
大量隨機資料往往應當呈現泊松分佈,不過我們可以發現,雖然分佈圖的曲線起點是接近泊松分佈的,但是尾部資料是出現指數分佈的。這是因為尾部資料指代的是那些擁有很大度的hub節點,應當是稀有事件,在時間序列資料中是很難發生的,因此,只要尾部的形式與樞紐分佈有關,在這種情況下,我們應該期望的度尾部分佈是指數分佈exponential,而不是泊松分佈Poissonian。

(三)分形時間序列資料

分形時間序列資料fractal series在Mapping後被刻畫為一種無標度圖。

1.分形特性

fractal series其實就是指代那些滿足分形特性的時間序列資料,具體什麼樣的特性是分形特性,可以參考Matrix67前輩的博文