時系列クラスタリング (Time Series Clustering) の詳細

[時系列クラスタリング (Time Series Clustering)] ツールは、最も類似している時空間キューブ内の位置を特定し、各クラスターのメンバーが類似している時系列特性を持つ個別のクラスターに分割します。時系列は、時間が経過しても類似している値を持つ、時間が経過しても均衡を保つ、または時間が経過しても類似した滑らかな周期的パターンを示すようにクラスタリングできます。このツールでは、[ポイントの集約による時空間キューブの作成 (Create Space Time Cube By Aggregating Points)] ツール、[定義済みの位置から時空間キューブを作成 (Create Space Time Cube From Defined Locations)] ツール、または [多次元ラスター レイヤーから時空間キューブを作成 (Create Space Time Cube From Multidimensional Raster Layer)] ツールを使用して作成できる入力として時空間 NetCDF キューブを使用します。クラスター メンバーシップと情報のメッセージによって表された、キューブ内の各位置を表示する 2D フィーチャクラスがこのツールで生成されます。必要に応じて、[出力チャート テーブル] パラメーターと [時系列ポップアップの有効化] パラメーターを使用して、各クラスターの代表的な時系列と時空間キューブの各位置の時系列を表示するチャートを作成することもできます。

適用例

  • 解析担当者は数年にわたる緊急通報を表す時空間キューブを作成し、[時系列クラスタリング (Time Series Clustering)] ツールと [対象特性][値] オプションを使用して、通報量が類似している近隣地区を決定できます。
  • 大規模小売店は、このツールと [プロファイル (相関)][対象特性] 値として使用して、類似する購入パターンを持つ販売店を見つけることができます。たとえば、このツールで、クリスマス商戦中に売上が伸びてクリスマス後に減少する販売店と、売上のパターンが異なる販売店を区別できます。さまざまな売上パターンの販売店を詳しく調査することも価値があります。この情報は、販売店が需要を予測し、店舗の在庫を十分に確保するのにも役立ちます。
  • 気象学者は、このツールと [プロファイル (フーリエ)][対象特性] 値として使用して、時間とともに気温がどれだけ近接して変動するかと、変動の範囲がどれだけ類似しているかに基づいて、場所をクラスタリングできます。
  • 人口統計学者は、このツールを使用して、時系列とプロファイルの両観点から人口増加のパターンが類似する国を評価できます。

ツールの出力

このツールでは、さまざまな出力が作成されます。クラスターのメンバーシップによりシンボル表示された [入力時空間キューブ] 内の各位置を表示する 2D フィーチャクラスを使用すると、空間パターンを探索できます。このツールで使用されるクラスタリング アルゴリズムはクラスタリングの実行時に空間リレーションシップを考慮しませんが、空間パターンが存在している可能性もあります。さらに、分析結果およびクラスターごとの Mann-Kendall 傾向統計を要約するメッセージが、ツールの実行中に [ジオプロセシング] ウィンドウの下部に書き込まれます。このメッセージにアクセスするには[ジオプロセシング] ウィンドウでプログレス バーの上にカーソルを置くか、ポップアップ ボタン 別ウィンドウに表示 をクリックするか、メッセージ セクションを展開します。ジオプロセシング履歴を使用して、以前に実行したツールのメッセージにアクセスすることもできます。

[時系列クラスタリング (Time Series Clustering)] メッセージ ウィンドウ

[時系列クラスタリング (Time Series Clustering)] ツールのデフォルト出力は、各位置が属するクラスターを示す CLUSTER_ID フィールドを含む新しい出力フィーチャクラスです。この出力フィーチャクラスは、[CLUSTER_ID] フィールドに適用される固有のカラー レンダリング スキーマによって、[コンテンツ] ウィンドウに追加されます。CENTER_REP フィールドは、時空間キューブ内のどの位置が各クラスターで最も代表的か (クラスターの medoid と呼ばれる) を示します。このフィールドには、各クラスターの medoid の場合は 1 の値が格納され、それ以外のすべての位置には 0 の値が格納されます。

[時系列クラスタリング (Time Series Clustering)] の結果
時系列クラスタリング (Time Series Clustering) ツールの結果の例

[時系列クラスタリング (Time Series Clustering)] のチャート出力

[出力チャート テーブル] を作成すると、チャートが生成されます。[クラスターあたりの平均時系列] チャートには、[分析変数] の平均がクラスターごとに毎回表示されます。また、[時系列クラスターの Medoid] チャートには、各クラスターの medoid の時系列が表示されます。それと同時に、これらのチャートでは、全体での平均と代表的な時系列の両方を、クラスターで分類することで視覚化できます。このことは、単変量のデータセットのカテゴリを平均値と中央値を使用して集約するのと似ています。

[時系列クラスタリング (Time Series Clustering)] 出力チャート

[時系列ポップアップを有効化] パラメーターを使用して、各出力フィーチャのポップアップに、フィーチャの時系列と同じクラスター内のすべてのフィーチャの平均時系列を示す時系列チャートを作成することもできます。これを使用して、フィーチャの時系列が同じクラスター内の他のフィーチャとどれくらい同じか、またはどのように表現されているかを確認できます。

[時系列クラスタリング (Time Series Clustering)] ポップアップ チャート

時系列間の類似性

クラスタリングの目標は、各グループ内の位置の時系列が、グループ外部の位置の時系列に対してよりも、より相互に類似しているグループに時空間キューブの位置を分割することです。ただし、時系列は時間を経て多くの数字または値で構成されるため、2 つの時系列が類似していることが意味する内容はすべてが明らかというわけではありません。個別の数字の場合、類似性の評価に役立つのが、2 つの値の絶対差です。10 と 13 の差は 3 です。2 つの値の絶対差が小さくなるため、10 は、17 よりも 13 に類似していると言うことができます。一方、時系列の場合は、類似性はそれほど明らかではありません。たとえば、時系列 (5, 8, 11, 7, 6) は、(5, 11, 6, 7, 6) よりも (4, 9, 13, 4, 9) に類似しているでしょうか? このような質問に回答するには、2 つの時系列がどれだけ類似しているのか、またはどれだけ異なるのかを評価できる必要があります。類似性を評価する方法はいくつかあり、ユーザーがどの時系列の特性を重要と見なしているかによって決まります。選択した特性が、同じ出力クラスターの位置間で最も類似している特性になります。

[対象特性] パラメーターは、各クラスター内で類似している必要のある時系列の特性を指定するのに使用します。3 つの特性のうちの 1 つに基づいてクラスタリングできます。

値特性

[対象特性] パラメーターの [値] オプションは、最も単純なオプションで、時間が経過しても類似している値を持つ時系列のクラスタリングに使用します。

このオプションでは、時系列内の値の間のユークリッド距離を使用して、時系列の類似性を評価します (2 つの時系列の位置間の空間上の距離との混同を避けるため)。たとえば、時系列 (1, 5, 2, 3) と (3, 1, 3, 5) の差は 5 です。この値は、時系列で値の二乗差の合計の平方根を取得することで計算します。

SquareRoot[ (1-3)2 + (5-1)2 + (2-3)2 + (3-5)2 ] = 5

プロファイル (相関) 特性

[対象特性] パラメーターの [プロファイル (相関)] オプションは、相互に均衡を保ち、同時に値が増加および減少する傾向のある時系列をクラスタリングするのに使用します。たとえば、このオプションを使用して、販売店の支店を成長率に基づいてクラスタリングできます。実際の値がまったく異なっていても、類似する成長パターンに従っている場合、位置はまとめてクラスタリングされます。

このオプションでは、時系列の統計的相関に基づいて、時系列における類似性を評価できます。たとえば、時系列 (1, 2, 3, 4, 5) の値は時系列 (10, 20, 30, 40, 50) とまったく異なりますが、完全な相関関係にあり、その差は 0 です。2 つの時系列のこの差は、1 から相関を引くことで計算されます。これは、完全な正相関 (相関 = 1) を持つ時系列の差は 0、無相関 (相関 = 0) の時系列の差は 1、完全な負相関 (相関 = -1) を持つ時系列の差は 2 であることを意味します。他のすべての相関度は 0 から 2 までの間の値となり、より大きい正相関が高い類似性を示します。

プロファイル (フーリエ) 特性

[対象特性] パラメーターの [プロファイル (フーリエ)] オプションは、最も複雑なオプションであり、時間が経過しても類似する滑らかで周期的な値のパターンを持つ時系列をクラスタリングするのに使用されます。このような期間はサイクルや季節と呼ばれることもあり、新しい周期で繰り返される単一のパターンの連続を表します。たとえば、温度は、夏は高温になり冬は低温になる一貫した年間の周期に従います。このオプションを使用して、最も類似する年間温度パターンを持つ領域を見つけることができます。

[無視する時系列特性] パラメーターを使用して、これらのパターンの特定の特性を無視することもできます。これらの周期のシェープと継続時間のみを比較するため、これらの期間の開始時間を無視することができます。また、周期の開始時間と継続時間のみを比較するため、周期内の値の大きさを無視することができます。両方の特性を無視すると、周期の継続時間がほぼ同じである場合は、周期の開始が異なり、周期内の値が異なっていても、2 つの時系列は類似していると見なされます。

[プロファイル (フーリエ)] オプションでは、関数データ分析の概念を使用して時系列間の類似性を評価します。各時系列は、時系列内で最も主要な印を表現する一連の基底関数に分解されます。基底関数のフーリエ ファミリーは、一定間隔で上下に変動する正弦関数と余弦関数を使用して時系列を表します。各基底関数は、時系列内の特定の記号の普及率を評価するウェイトを伴います。たとえば、温度は 2 つの主要な基底関数を表示し、一方は昼夜に従って上下に変動し、もう一方は 1 年の季節に従って変動します。他の間隔に従った基底関数は、温度の時系列内で優勢でないため、ウェイトが低くなります。たとえば、本質的に温度はその間隔で変化するものではないため、90 分おきに上下に変動する基底関数に付随するウェイトは小さいです。このオプションの効果を最も高めるには、時系列が、少なくとも 1 つの周期の継続時間に及んでいる必要があります。たとえば、データを数か月内のみで評価する場合、温度の年間についての主要な周期は把握されません。時空間キューブ内の N 位置の場合、このツールは、N が偶数の場合は N-2 基底関数を使用し、N が奇数の場合は N-1 基底関数を使用します。

2 つの時系列間の差は、各時系列に付随する基底関数のウェイト間の二乗差を集計することで計算されます。これは、2 つの時系列が類似した主要な変動の印を持つと、類似していると見なされることを意味しています。

類似性に基づく時系列のクラスタリング

他のオプションよりも複雑なものもありますが、[対象特性] パラメーターのすべてのオプションでは、2 つの時系列間の差を評価する 1 つの数字が計算されます。この時系列間の類似性の定義を使用して、時空間キューブの位置がいずれかのクラスタリング アルゴリズムでクラスタリングされます。

クラスタリング アルゴリズム全体の詳細については、以下の「その他の参考資料」セクションをご参照ください。

クラスタリング プロファイル (相関)

[対象特性] パラメーターの [プロファイル (相関)] オプションを選択すると、時空間キューブの各位置のペア間の差が計算され、相違マトリックスとして集計されます。非類似性マトリックスの例には、下の、L1、L2、L3、L4 のラベルが付いた 4 つの位置の時系列があります。時系列は常にそれ自体とまったく同じと見なされ、マトリックスの対角線に沿って 0 で示されます。2 つの時系列間の差は順序に左右されないため、このマトリックスには対称性もあります。A と B の間の差は、B と A の間の差と同じです。下の非類似性マトリックスの場合、位置 L1 と L2 はほぼ同様で (値 4 で示される)、時系列 L1 と L4 は最も異なります (値 13 で示される)。

相違マトリックス
時空間キューブ位置 1 ~ 4 の代表的な相違マトリックスを示します。位置 1 (L1) と位置 3 (L3) の間の相違は 9 です。

その後、このマトリックスは k-medoids アルゴリズム (PAM (Partitioning Around Medoids) アルゴリズムとも呼ばれる) を使用してクラスタリングされます。このアルゴリズムは、クラスターのメンバーが他のクラスターのメンバーよりも類似しているマトリックス内のクラスターを見つけます。このアルゴリズムは本質的にランダムであり、各クラスターの代表となるランダムな位置を選択することで機能します。このような代表値は medoid と呼ばれ、単変量データセットの中央値に類似しています。初期クラスターは、medoid が最も類似しているクラスターに他のすべての位置を割り当てることで作成されます。アルゴリズムは次に、各クラスター内の medoid を交換して、新しいクラスター内の類似性を再評価します。新しいクラスターが初期クラスターよりも類似している場合は、medoid が交換され、交換してもクラスターの類似性が向上しなくなるまでこの過程が繰り返されます。最後のクラスターはほぼ必ず高い類似性を持つため、初期の medoid として選択されたランダムな位置次第で、クラスターが変わることがあります。ツールを数回実行すると、わずかに異なるクラスタリングを実現可能であるため、考えられるさまざまなクラスタリング結果を確認するには、ツールを数回実行することをお勧めします。

時空間キューブに 10,000 以上の位置が含まれている場合、ツールは CLARA (Clustering LARge Applications) と呼ばれる k-medoids のバリアントを使用します。CLARA では、時系列のランダムなサンプルを取得し、k-medoids アルゴリズムを実行します。ランダムなサンプルで選択されなかった位置はすべて、サンプリングされていない位置の時系列に最も類似している medoid を含むクラスターに割り当てられます。ランダムなサンプルのサイズは、位置の数の平方根 (切り捨て)、または 40 + 2k (k はクラスター数) のいずれか大きい方になります。

値およびプロファイルのクラスタリング (フーリエ)

[対象特性] パラメーターで [値] または [プロファイル (フーリエ)] オプションが選択されている場合、時空間キューブの位置は K 平均アルゴリズムを使用してクラスタリングされます。このアルゴリズムは、概念的には k-medoids に類似していますが、位置の各ペア間の差を計算することなく実行できます。代わりに、ランダムに位置を選択して各クラスターの代表値とします。その後、初期クラスターは、代表値が位置に最も類似しているクラスターに他のすべての位置を割り当てることで生成されます。次に、各クラスター内の時系列を平均化することによって、各クラスターの新しい代表値が計算されます。[値] を選択した場合、新しい代表値はクラスター内の各時系列の各時間ステップの平均になります。[プロファイル (フーリエ)] を選択した場合、新しい代表値は各基底関数の加重平均になります。一般的に、これらの新しい代表値は k-medoids とは異なり、時空間キューブの個々の位置には対応しません。各時系列は、代表値が最も類似しているクラスターに再び割り当てられ、新しい平均の代表値が計算されます。この処理は、アルゴリズムが収束するまで繰り返されます。このため、反復後にクラスターは変化しません。この時点で処理を継続すると、同じクラスターが何度も作成されます。これらのクラスターは、ツールによって返されます。

上記の k‐medoids アルゴリズムと同様に、K 平均アルゴリズムは、初期のランダムなクラスターの代表に応じてさまざまなクラスタリング結果を得ることができます。考えられるさまざまなクラスタリング結果を確認するには、ツールを数回実行することをお勧めします。

クラスターの最適数

[クラスター数] パラメーターを空白のままにすると、このツールはクラスターの最適な数を評価し、その数をメッセージ ウィンドウにレポートします。クラスター数の決定は、ワークフローのクラスタリングで特に難しい一面です。このツールは、さまざまなクラスター数を試し、最も効果のあったクラスタリングを特定することで、最適数を明らかにします。

このツールは 2 から 10 までのクラスター数の各値を試し、クラスタリング アルゴリズムでランダムな開始値を使用して 10 回それぞれの値を繰り返します。10,000 を超えるポイントに [プロファイル (相関)] を使用する場合、CLARA アルゴリズムは、考えられる 9 個のクラスター数それぞれに対して 20 回実行されます。これらの 90 (または 180) 個のクラスタリングの結果ごとに (考えられる 9 個のクラスター数それぞれを 10 または 20 回)、全体での medoid に対する二乗誤差をクラスター medoid に対する二乗誤差で割ることで疑似 F 統計が計算され、多数のクラスターの使用が修正されます。これは、グループ内の類似性に対するグループ間の類似性の比率として解釈できます。疑似 F 統計のより大きい値は、この時系列が、データセット全体の代表に対してよりも、クラスターの代表的な時系列に対して、より類似していることを示します。これは、効果的なクラスタリングを意味します。詳細および疑似 F 統計の計算式については、「多変量クラスタリング」をご参照ください。

クラスターの最適数の決定は、このツールの中で最もコンピューターの能力を使用する部分であるため、必要なクラスター数が明らかな場合は値を指定することをお勧めします。

参考資料

時系列クラスタリングの理論の詳細については、次のトピックをご参照ください。

  • Pablo Montero, José A. Vilar (2014). TSclust: An R Package for Time Series Clustering. Journal of Statistical Software. 62(1), 1-43. URL https://www.jstatsoft.org/v62/i01/

関数データ分析の詳細については、次のトピックをご参照ください。

  • Ramsay, J. O., Silverman, B.W. (2006). Functional Data Analysisに準拠したメタデータ コンテンツが作成できるようになっています。DOI: 10.1007/b98888

k-medoids の詳細については、次をご参照ください。

  • Kaufman, L., and P. J. Rousseau (2009). Finding groups in data: an introduction to cluster analysis (Vol. 344). John Wiley & Sons

K 平均の詳細については、次をご参照ください。

  • Lloyd, Stuart (1982). Least squares quantization in PCMに準拠したメタデータ コンテンツが作成できるようになっています。IEEE transactions on information theory 28.2: 129-137.
  • Arthur, David, and Sergei Vassilvitskii (2006). k-means++: The advantages of careful seeding. Stanford.