2017-05-13 15 views
0

我有大約70家公司,我想根據三個時間序列變量使用SAS將它們集羣到更小的組中。基於SAS中幾個時間序列變量的集羣公司

數據標準化和堆疊。它看起來像這樣:

Day Company Var1 Var2 Var3 
1  A  0.01 0.015 0.14 
2  A  ... 
3  A  ... 
... 
99  Z  ... 
100  Z  ... 

這裏是我的想法:

  1. 我的三個變量組合成一個變量,通過計算其歐氏距離VAR4

然後我會拆散的數據和得到像這樣的新數據集:

Day Var4_A Var4_B ... Var4_Z 
1 0.141 0.1 ... 0.23 
2   
... 
99 
100 
  1. 我發送新的數據集PROC相似得到某種相似 矩陣
  2. 我相似矩陣發送到PROC集羣,並得到企業集團

我的問題是:

是一步1一個合理的方法來結合這三個變量?我在網上找到了一些使用步驟2和步驟3對時間序列數據進行聚類的例子,但它們似乎只使用了1個變量。

+0

你有沒有考慮使用任何內置的聚類分析方法,例如'proc fastclus'或'proc modeclus'? – user667489

+0

@ user667489在我的理解中,fastclus會聚集觀察結果,而不是您認爲的那些公司?我不希望來自同一家公司的不同意見分屬於不同的小組。這可以通過fastclus來實現嗎? – user3582076

+0

我會考慮對每個單獨的一天運行單獨的聚類分析,或者將相鄰的日子分組在一起,並在使用分組處理運行每個時間段的分析之前取var1-varn的平均值。 – user667489

回答

0

通常的做法是使用動態時間彎曲距離。但假設公司之間沒有時間延遲,你可能不需要這裏。

你有沒有嘗試過直接將這個數據集轉換成公司(然後havong天x變量新變量),並使用歐幾里得距離?

考慮所有的變量不聽起來像一個好主意,因爲功能減少對我的歐幾里得範...