前陣子在處理客戶諮詢問題時,剛好用到一個比較罕見的資料處理技巧-位移函數(Lag & Lead),所以這篇文章以這個題目做個教學,順便記錄下來。客戶的資料屬於縱貫型資料,是多家公司在多個年度的營運狀況,這時有個研究問題,想用去年的進貨成本來預測今年的營利淨所得,所以我們必須這兩個年度的不同變項拉在同一筆資料上,才有辦法分析我們想要的結果,這時就得用到位移函數(Lag & Lead)。

壹、遞延函數Lag

1)介紹本例的資料結構

第一個欄位為ID欄位,同一個ID都有四筆資料。

第二個欄位為同一個ID的排序號碼。

第三個欄位為我們示範變項X

 

1.jpg

 

2)先介紹Lag函數的使用,點選「轉換」à「計算變數」

3)在目標欄位中輸入新的變項名稱,此例命名為X1

4)在運算式內打上「Lag(X,1)」,按下確定

X是指要處理的變項,數字1則代表位移一格,如果要位移兩個可以改成2,以此類推。

 

2.jpg

 

5)資料中出現X1的變項,每個數字對應X皆為往下移一格

6)其中有三筆資料有問題,分別為4080120

40ID1的第四筆資料,在X1裡對應到ID280ID2的第四筆資料,在X1裡對應到ID3120ID3的第四筆資料,在X1裡對應到ID4,這個問題在於如果用A公司的資料來預測B公司的資料是不合理的,所以我們要想辦法來排除。

 

3.jpg

 

7)將ID也一併進行遞延的動作,以作為遞延資料是屬於哪筆ID的資料,點選「轉換」à「計算變數」,在目標欄位打上ID1

8)在運算式內打上「Lag(ID,1)」,按下確定

如果遞延資料有兩格的遞延動作,那也同樣要新增一個變項ID2= Lag(ID,2)作為判斷依據。

9)這時資料就多了一排遞延一格的ID1

透過IDID1這兩欄的比對,就可以判斷哪些儲存格在遞延過後對應到不同ID,必須做處理。

 

4.jpg

 

10點選「轉換」à「計算變數」,來處理原來的變項X1

11目標變項輸入X2,在數值運算式輸入X1,也就是讓X2直接等於原來的X1

12不過要X2=X1需要加上條件,所以點選「若」

13在滿足條件裡輸入ID=ID1,也就是說當滿足ID=ID1時,才會執行X2=X1這個計算

 

5.jpg

 

14此時所完成的變項X2,已經把ID不同的遞延資料給移除

 

6.jpg

arrow
arrow
    全站熱搜

    晨晰部落格新站 發表在 痞客邦 留言(0) 人氣()