TDA Cloud System Time Series Shaper

Time Series Shaper
のご紹介

Fujitsu’s TDA Technologiesでは、時系列データを分析する体験型クラウドシステム「Time Series Shaper」を用意しました。TDAはデータを分析する上で重要な手がかり(特徴)を得ることができ、これを用いた異常検知と分類を試すことができます。このページでは、「Time Series Shaper」の使い方を説明します。

TDAクラウドシステム使い方説明

STEP 1:データ分析の方法を選ぶ

Time Series Shaperではデータの異常度を分析したいか、それともデータがどの種類 (ラベル) に属するかを知りたいかによって、以下2つの機能(5種類のLearning Type)を使い分けます。

機能1:Anomaly detection

Anomaly detectionではデータの正常データからの離れ具合を異常度(異常スコア)として計算します。たとえば、工場の装置につけたセンサーデータの結果から、その装置が故障が発生しているかどうかを正常時からの離れ具合に基づいて定量化します。

さらに、Anomaly detectionでは手持ちのデータによって3種類の学習データを使い分けます。


機能2:Classification

Classificationでは,データがどの種類(ラベル)に属するかを分析します。たとえば、身体につけた加速度センサーのデータからその人が走っているか歩いているかどちらの動作を行っているか分類します。Classificationでは、各ラベルのデータ (例えば、走っているときのデータ、歩いているときのデータ) が事前に必要です。

Classificationでは2種類のモデルを用いた分類を行うことができます。

STEP 2:5つの学習タイプから分析方法を選ぶ(以下より選択)

機能 Learning Type 利用方法
Anomaly detection Multi class 正常状態のデータと異常状態のデータを両方持っている
Single class 正常状態のデータは持っていて、異常状態のデータは持っていない
Unsupervised データはあるが、どれが正常データでどれが異常データかわからない
Classification SVC サポートベクターマシンを用いた分類を実行する
LightGBM 勾配ブースティングを用いた分類を実行する
Multi classの使い方

Time Series Shaperにアクセスすると以下のページが表示されます。

システム画面
各機能に関する詳細説明
AUTOモード EXPERTモード TESTモード
機能 複数のパラメータについて、全ての値の組み合わせ使って学習のモデルを自動で構築・訓練し、最適化されたモデルを用いてデータの特徴量抽出が可能です 複数のパラメータについて、ユーザーが手動設定した上で学習のモデルを構築・訓練し、得られたモデルを用いてデータの特徴量抽出が可能です AUTO、または、EXPERTモードで作成した学習モデルを使い、新たな入力データの特徴量抽出の試行が可能です
入力
  • データ:time series(X_train)、label(y_train)
  • データ:AUTOモードと同じ
  • パラメータ:Delay、Skip、KNN、K0、K1、KINF、Gamma、Treshold
  • データ:time series(X_train)、time series(X_test)、AUTO、または、EXPERTで作成した学習モデル
出力 特徴量、モデル、スコア、スコアチャート AUTOモードと同じ 特徴量、スコア、スコアチャート

Time Series Shaperでは、TDAを使った時系列データ分析の体験にフォーカスしています。
TDA技術やケーススタディに関するより詳しい情報は, 別のWebsite (http://tda.labs.fujitsu.com/ja/index.html)にまとめて公開していますので、こちらにアクセスしてください(Fujitsu’s TDATechnologiesに遷移します)。

STEP 3:サンプルデータのダウンロード

実行用の時系列データとそのラベルデータのtrainデータ、さらに、時系列データのtestデータの合計3種類のデータをダウンロードします。

これらのデータは、製紙⼯場におけるプロセスデータです。
[X_anomaly_detection_train.csv] , [X_anomaly_detection_test.csv] では各時刻における製造時のセンサー値を格納しており、 [y_anomaly_detection_train.csv] では各時刻に紙切れが発生したか否かの0か1の値(1: 紙切れ発生, 0: それ以外)を格納しています。それぞれのデータは以下のような形式になっています。

X_anomaly_detection_train.csvの中身
X_anomaly_detection_train.csvの中身
y_anomaly_detection_train.csvの中身
y_anomaly_detection_train.csvの中身
X_anomaly_detection_test.csvの中身
X_anomaly_detection_test.csvの中身

センサーで得られた時系列データをプロットした図

時系列データグラフ

データの出典元

Chitta Ranjan, Mahendranath Reddy, Markku Mustonen, Kamran Paynabar, Karim Pourak.: Dataset: Rare Event Classification in Multivariate Time Series, arXiv preprint,
https://arxiv.org/abs/1809.10717(2018)

STEP 4:データのアップロード

DATA URL の部分の「X train」、「Y train」にデータをアップロードします。

  • X train → 時系列データ[X_anomaly_detection_train.csv]をドラッグアンドドロップ
  • Y train → ラベルデータ[y_anomaly_detection_train.csv]をドラッグアンドドロップ
  • ⼿動でパラメータを設定・利⽤する場合は、画⾯中のEXPERTタブをクリックしてください。
  • AUTOを利⽤する場合は、画⾯中のAUTOタブをクリックしてください。

TRAIN/EXPERTモード画面

TRAIN/EXPERTモード画面

TRAIN/AUTOモード画面

TRAIN/AUTOモード画面

STEP 5:パラメータの設定

  • AUTOを利⽤する場合は、TDAに関するパラメータを⾃動で設定するため、パラメータの設定は必要ありません。
  • EXPERTを利⽤する場合は、TDAに関するパラメータを⼿動で設定します。⼊⼒フォーム直接、数値を 記⼊するか、「-」、 または、「+」のアイコンをクリックして数値を記⼊してください。
  • Theresholdを無限⼤に設定する場合は、「∞」のアイコンをクリックしてください。設定すると「∞」を表示します。

TRAIN/EXPERTモード画面

TRAIN/EXPERTモード画面
TDAに関するパラメータ: 9種類
No. Paramaters 意味、利用方法
1 Delay 周波数目安となるパラメータ。大きくなるほど低周波を強調します。
2 Skip データ粒度を調整するパラメータ。基本的に Skip <= Delay で設定します。データによっては、 Skip = 2 * Delay が適切な場合もあります。
3 KNN 最小は5。最大は時系列/ Skip のさらに1/10程度となります。例えば、時系列データ1000行、Skip=1の場合、100未満の数値を設定します。
4 K0 情報(特徴量)を細分化するパラメータです。1〜5の範囲で設定します。
5 K1 情報(特徴量)を細分化するパラメータです。1〜5の範囲で設定します。
6 KINF 情報(特徴量)を細分化するパラメータです。1〜3の範囲で設定します。
7 Gamma 波形の振幅に依存するパラメータです。例えば、幅10の時は0.1〜0.5の間で設定します。幅100であれば10倍の範囲で刻み幅も10倍程度にして設定します。
8 Threshold 計算打ち切りレベルを決定するパラメータです。振幅の2乗程度に設定します。ただし、計算量が増⼤した場合は設定値を⼩さくすることで計算量を下げることができますが、性能は低下する可能性があります。計算量が下がるのは、振幅の半分以下程度に設定した場合に可能となります。
9 LFV_size 情報(特徴量)を細分化するパラメータです。5、または、10を設定します。最⼩は1となります。最⼤はデータ⻑以下に設定します。
AUTOモードで設定されているパラメータの範囲
No. Paramaters Setting range
1 Delay 1, 2, 3, 5, 10
2 Skip 1, 2, 3, 5
3 KNN 1, 2
4 K0 5, 20
5 K1 5, 20
6 KINF 1, 3
7 Gamma 0.01, 0.25, 0.5
8 Threshold np.inf
9 LFV_size 10

※AUTOでは、全てのパラメータの組み合わせによる分析を実⾏し、その中で最もスコアの⾼くなるパラメータの組み合わせに関するConverted data、 Model、 Scoresを返却します。

STEP 6:TRAINの実行

Submit ボタンを押すと、以下の画面に遷移してTRAINを実行します。
インジケータの表示を参考に、しばらくお待ちください。

TRAIN/EXPERTモード画面

TRAIN/EXPERTモード画面

TRAIN/AUTOモード画面

TRAIN/AUTOモード画面

Input the data and parameters, follow the instructions, in each of the Steps below.

  • Generate 3D point clouds from time series by time delay embedding
  • Calculate persistent homology
  • Extract features
  • Execute classification in the extracted features

STEP 7:TRAINの実行終了

実行が終了すると以下の画面に遷移します。

TRAIN/EXPERTモード画面

TRAIN/EXPERTモード画面

TRAIN/AUTOモード画面

TRAIN/AUTOモード画面

TDAを適⽤した結果として、ダウンロードが可能なConverted data, Model, Scores, さらにScoresのCHARTが表⽰されます。
また、EXPERTモードではSCOREと設定パラメータを表⽰し、AUTOモードではBEST SCOREとベストパラメータを表⽰します。
データのダウンロードは、ダウンロードアイコン <インラインでアイコンを挿⼊・もしくはスクリーンショット上で名称指定> をクリックすると可能となります。

  • Converted data
    • X_anomaly_detection_train.csvに対してTDAを適⽤し、各チャンクに対する特徴量ベクトルをまとめたもの
    • データ形式: pklファイル
  • Model
    • modelオブジェクトを⽣成し、学習までさせた後にpickle.dumpでmodelをシリアライズしたもの
    • データ形式: pklファイル
  • Scores
    • 正常状態のデータと異常状態のデータを両方持つ時系列データから構成され、この時系列データの特徴ベクトルからスコアを算出したものです。
      また、AUTOモードを利用した場合は、ベストスコア(最大スコア)を算出します。
    • データ形式: csvファイル
  • CHART
    • X trainとそのインデックスのスコアに基づいて作成されたグラフです。

※各データをダウンロード後、分析を終了する場合はGo Backボタンを押してください。

※TRAINに続いて、TESTを実行する場合は、TESTボタンを押してください。

Converted data として生成されたpklファイルは、以下のようにしてpythonで読み込むことができます。

Pythonによるコードサンプル

import joblib
with open ('vec_multi_class.pkl', 'rb') as f:
data = joblib.load(f)
for i in range(len(data)):
print(data[i])

実行結果

[3.33329692e-01 3.33321789e-01 3.33252878e-01 3.33341212e-01 3.33336747e-01 2.50010326e-01 2.49947016e-01 2.49988388e-01 2.50001446e-01 2.50015323e-01 0.00000000e+00 1.86127431e-01 1.84591491e-01 2.49494498e-01 2.45699159e-01 2.30619182e-01 2.18821337e-01 1.95265751e-01 2.03457603e-01 1.23281986e-01 1.34509820e-01 6.27517308e-03 7.91744336e-04 4.01352932e-03 4.56225994e-04 2.11010345e-04 8.89066268e-04 3.90908555e-33 1.00389188e-04 2.44288190e-03 3.18273048e-04]
[6.66667459e-01 6.66577391e-01 6.66326445e-01 6.66654758e-01 6.66665719e-01 1.00000000e+00 1.00000000e+00 1.00000000e+00 1.00000000e+00 1.00000000e+00 0.00000000e+00 1.79013537e-01 2.54572132e-01 2.43861581e-01 2.73877948e-01 2.78248426e-01 2.47834300e-01 2.31344220e-01 2.43861581e-01 2.30619182e-01 2.28534796e-01 2.27925040e-03 2.07808767e-04 1.08078469e-04 2.01834404e-03 1.02445307e-03 3.90908555e-33 1.04569519e-03 1.08078469e-04 1.08078469e-04 2.86443921e-03] ...

STEP 8:TESTの実行

TRAIN実⾏結果である学習済みモデルを利⽤してTEST(推論)を⾏うことができます。

  1. はじめに、DATA URLのX test, Modelそれぞれにデータをアップロードします。

    X test→ 時系列テストデータ [X_anomaly_detection_test.csv] をドラッグアンドドロップ

    Model→ AUTOモード、または、EXPERTモードで作成した[model.pkl]をドラッグアンドドロップ

    TEST(推論)
  2. 次に、Submitボタンを押します。(ここではパラメータの入力は不要となります)
  3. Submitボタンを押すと、以下の画面に遷移し分析が実行されますので、そのままお待ちください。
    TEST(推論)

STEP 9:TESTの実行終了

TDAを適用した結果として、ダウンロードが可能なConverted data、Scores、さらに、ScoresのCHARTが表示されます。
データのダウンロードは、ダウンロードアイコン <インラインでアイコンを挿入・もしくはスクリーンショット上で名称指定>
をクリックすると可能となります。

  • Converted data
    • X_anomaly_detection_train.csvに対してTDAを適⽤し、各チャンクに対する特徴量ベクトルをまとめたものです。
    • データ形式: pklファイル
  • Scores
    • X testとX trainのモデルに基づいてスコアを算出したものです。
    • データ形式: csvファイル
  • CHART
    • Scoresの算出結果に基づいて作成されたグラフです。

実行結果の画面

TESTの実行結果
Single classの使い方

Time Series Shaperにアクセスすると以下のページが表示されます。

システム画面
各機能に関する詳細説明
AUTOモード EXPERTモード TESTモード
機能 複数のパラメータについて、全ての値の組み合わせ使って学習のモデルを自動で構築・訓練し、最適化されたモデルを用いてデータの特徴量抽出が可能です 複数のパラメータについて、ユーザーが手動設定した上で学習のモデルを構築・訓練し、得られたモデルを用いてデータの特徴量抽出が可能です AUTO、または、EXPERTモードで作成した学習モデルを使い、新たな入力データの特徴量抽出の試行が可能です
入力
  • データ:time series(X_train)、label(y_train)
  • データ:AUTOモードと同じ
  • パラメータ:Delay、Skip、KNN、K0、K1、KINF、Gamma、Treshold
  • データ:time series(X_train)、time series(X_test)、AUTO、または、EXPERTで作成した学習モデル
出力 特徴量、モデル、スコア、スコアチャート AUTOモードと同じ 特徴量、スコア、スコアチャート

Time Series Shaperでは、TDAを使った時系列データ分析の体験にフォーカスしています。
TDA技術やケーススタディに関するより詳しい情報は, 別のWebsite (http://tda.labs.fujitsu.com/ja/index.html)にまとめて公開していますので、こちらにアクセスしてください(Fujitsu’s TDATechnologiesに遷移します)。

STEP 3:サンプルデータのダウンロード

実行用の時系列データのtrainデータ、さらに、時系列データのtestデータの合計2種類のデータをダウンロードします。

これらのデータは、製紙⼯場におけるプロセスデータです。
[X_anomaly_detection_train.csv] , [X_anomaly_detection_test.csv] では各時刻における製造時のセンサー値を格納しています。それぞれのデータは以下のような形式になっています。

X_anomaly_detection_train.csvの中身
X_anomaly_detection_train.csvの中身
X_anomaly_detection_test.csvの中身
X_anomaly_detection_test.csvvの中身

センサーで得られた時系列データをプロットした図

時系列データグラフ

データの出典元

Chitta Ranjan, Mahendranath Reddy, Markku Mustonen, Kamran Paynabar, Karim Pourak.: Dataset: Rare Event Classification in Multivariate Time Series, arXiv preprint,
https://arxiv.org/abs/1809.10717(2018)

STEP 4:データのアップロード

DATA URL の部分の「X train」にデータをアップロードします。

  • X train → 時系列データ [X_anomaly_detection_train.csv] をドラッグアンドドロップ
  • ⼿動でパラメータを設定・利⽤する場合は、画⾯中のEXPERTタブをクリックしてください。
  • AUTOを利⽤する場合は、画⾯中のAUTOタブをクリックしてください。

TRAIN/EXPERTモード画面

TRAIN/EXPERTモード画面

TRAIN/AUTOモード画面

TRAIN/AUTOモード画面

STEP 5:パラメータの設定

  • AUTOを利⽤する場合は、TDAに関するパラメータを⾃動で設定するため、パラメータの設定は必要ありません。
  • EXPERTを利⽤する場合は、TDAに関するパラメータを⼿動で設定します。⼊⼒フォーム直接、数値を 記⼊するか、「-」、 または、「+」のアイコンをクリックして数値を記⼊してください。
  • Theresholdを無限⼤に設定する場合は、「∞」のアイコンをクリックしてください。設定すると「∞」を表示します。

TRAIN/EXPERTモード画面

TRAIN/EXPERTモード画面
TDAに関するパラメータ: 9種類
No. Paramaters 意味、利用方法
1 Delay 周波数目安となるパラメータ。大きくなるほど低周波を強調します。
2 Skip データ粒度を調整するパラメータ。基本的に Skip <= Delay で設定します。データによっては、 Skip = 2 * Delay が適切な場合もあります。
3 KNN 最小は5。最大は時系列/ Skip のさらに1/10程度となります。例えば、時系列データ1000行、Skip=1の場合、100未満の数値を設定します。
4 K0 情報(特徴量)を細分化するパラメータです。1〜5の範囲で設定します。
5 K1 情報(特徴量)を細分化するパラメータです。1〜5の範囲で設定します。
6 KINF 情報(特徴量)を細分化するパラメータです。1〜3の範囲で設定します。
7 Gamma 波形の振幅に依存するパラメータです。例えば、幅10の時は0.1〜0.5の間で設定します。幅100であれば10倍の範囲で刻み幅も10倍程度にして設定します。
8 Threshold 計算打ち切りレベルを決定するパラメータです。振幅の2乗程度に設定します。ただし、計算量が増⼤した場合は設定値を⼩さくすることで計算量を下げることができますが、性能は低下する可能性があります。計算量が下がるのは、振幅の半分以下程度に設定した場合に可能となります。
9 LFV_size 情報(特徴量)を細分化するパラメータです。5、または、10を設定します。最⼩は1となります。最⼤はデータ⻑以下に設定します。
AUTOモードで設定されているパラメータの範囲
No. Paramaters Setting range
1 Delay 1, 2, 3, 5, 10
2 Skip 1, 2, 3, 5
3 KNN 1, 2
4 K0 5, 20
5 K1 5, 20
6 KINF 1, 3
7 Gamma 0.01, 0.25, 0.5
8 Threshold np.inf
9 LFV_size 10

※AUTOでは、全てのパラメータの組み合わせによる分析を実⾏し、その中で最もスコアの⾼くなるパラメータの組み合わせに関するConverted data、 Model、 Scoresを返却します。

STEP 6:TRAINの実行

Submit ボタンを押すと、以下の画面に遷移してTRAINを実行します。
インジケータの表示を参考に、しばらくお待ちください。

TRAIN/EXPERTモード画面

TRAIN/EXPERTモード画面

TRAIN/AUTOモード画面

TRAIN/AUTOモード画面

Input the data and parameters, follow the instructions, in each of the Steps below.

  • Generate 3D point clouds from time series by time delay embedding
  • Calculate persistent homology
  • Extract features
  • Execute classification in the extracted features

STEP 7:TRAINの実行終了

実行が終了すると以下の画面に遷移します。

TRAIN/EXPERTモード画面

TRAIN/EXPERTモード画面

TRAIN/AUTOモード画面

TRAIN/AUTOモード画面

TDAを適⽤した結果として、ダウンロードが可能なConverted data, Model, Scoresを表示します。
また、EXPERTモードではSCOREと設定パラメータを表⽰し、AUTOモードではBEST SCOREとベストパラメータを表⽰します。
データのダウンロードは、ダウンロードアイコン <インラインでアイコンを挿⼊・もしくはスクリーンショット上で名称指定> をクリックすると可能となります。

  • Converted data
    • X_anomaly_detection_train.csvに対してTDAを適⽤し、各チャンクに対する特徴量ベクトルをまとめたものです。
    • データ形式: pklファイル
  • Model
    • modelオブジェクトを⽣成し、学習までさせた後にpickle.dumpでmodelをシリアライズしたものです。
    • データ形式: pklファイル
  • Scores
    • 正常状態のデータは持っていて,異常状態のデータは持っていない時系列データから 構成され, この時系列データの特徴ベクトルからスコアを算出したものです。
      また、AUTOモードを利用した場合は、ベストスコア(最大スコア)を算出します。
    • データ形式: csvファイル

※各データをダウンロード後、分析を終了する場合はGo Backボタンを押してください。

※TRAINに続いて、TESTを実行する場合は、TESTボタンを押してください。

Converted data として生成されたpklファイルは、以下のようにしてpythonで読み込むことができます。

Pythonによるコードサンプル

import joblib
with open ('vec_single_class.pkl', 'rb') as f:
data = joblib.load(f)
for i in range(len(data)):
print(data[i])

実行結果

[3.33313170e-01 3.33331027e-01 3.33210033e-01 3.33335123e-01 3.33297425e-01 3.33319497e-01 3.33339110e-01 3.33325219e-01 3.33335554e-01 3.33332722e-01 3.33329766e-01 3.33337893e-01 3.33241247e-01 3.33336994e-01 3.33341208e-01 3.33328709e-01 3.33327331e-01 3.33270963e-01 3.33340617e-01 3.33334111e-01 2.50010326e-01 2.49947016e-01 2.49988388e-01 2.50001446e-01 2.50015323e-01 0.00000000e+00 1.86127431e-01 1.84591491e-01 2.49494498e-01 2.45699159e-01 2.30619182e-01 2.18821337e-01 1.95265751e-01 2.03457603e-01 1.23281986e-01 1.34509820e-01 6.27517308e-03 7.91744336e-04 4.01352932e-03 4.56225994e-04 2.11010345e-04 8.89066268e-04 3.90908555e-33 1.00389188e-04 2.44288190e-03 3.18273048e-04]
[6.66544953e-01 6.66667947e-01 6.66201924e-01 6.66627576e-01 6.66485695e-01 6.66568765e-01 6.66660980e-01 6.66665826e-01 6.66666356e-01 6.66667868e-01 6.66667486e-01 6.66663608e-01 6.66292642e-01 6.66665552e-01 6.66650475e-01 6.66603435e-01 6.66666597e-01 6.66386108e-01 6.66657721e-01 6.66667127e-01 1.00000000e+00 1.00000000e+00 1.00000000e+00 1.00000000e+00 1.00000000e+00 0.00000000e+00 1.79013537e-01 2.54572132e-01 2.43861581e-01 2.73877948e-01 2.78248426e-01 2.47834300e-01 2.31344220e-01 2.43861581e-01 2.30619182e-01 2.28534796e-01 2.27925040e-03 2.07808767e-04 1.08078469e-04 2.01834404e-03 1.02445307e-03 3.90908555e-33 1.04569519e-03 1.08078469e-04 1.08078469e-04 2.86443921e-03] ...

STEP 8:TESTの実行

TRAIN実⾏結果である学習済みモデルを利⽤してTEST(推論)を⾏うことができます。

  1. はじめに、DATA URLのX train, X test, Modelそれぞれにデータをアップロードします。

    X train→ 時系列データ X_anomaly_detection_train.csv をドラッグアンドドロップ

    X test→ 時系列テストデータ X_anomaly_detection_test.csv をドラッグアンドドロップ

    Model→ AUTOモード、または、EXPERTモードで作成した model.pkl をドラッグアンドドロップ

    TEST(推論)
  2. 次に、Submitボタンを押します。(ここではパラメータの入力は不要となります)
  3. Submitボタンを押すと、以下の画面に遷移し分析が実行されますので、そのままお待ちください。
    分析の実行画面

STEP 9:TESTの実行終了

TDAを適用した結果として、ダウンロードが可能なConverted data、Scores、さらに、ScoresのCHARTが表示されます。
データのダウンロードは、ダウンロードアイコン <インラインでアイコンを挿入・もしくはスクリーンショット上で名称指定>
をクリックすると可能となります。

  • Converted data
    • X_anomaly_detection_train.csvに対してTDAを適⽤し、各チャンクに対する特徴量ベクトルをまとめたものです。
    • データ形式: pklファイル
  • Scores
    • X testとX trainのモデルに基づいてスコアを算出したものです。
    • データ形式: csvファイル
  • CHART
    • Scoresの算出結果に基づいて作成されたグラフです。

実行結果の画面

TESTの実行結果
Unsupervisedの使い方

Time Series Shaperにアクセスすると以下のページが表示されます。

システム画面
各機能に関する詳細説明
AUTOモード EXPERTモード TESTモード
機能 複数のパラメータについて、全ての値の組み合わせ使って学習のモデルを自動で構築・訓練し、最適化されたモデルを用いてデータの特徴量抽出が可能です 複数のパラメータについて、ユーザーが手動設定した上で学習のモデルを構築・訓練し、得られたモデルを用いてデータの特徴量抽出が可能です AUTO、または、EXPERTモードで作成した学習モデルを使い、新たな入力データの特徴量抽出の試行が可能です
入力
  • データ:time series(X_train)、label(y_train)
  • データ:AUTOモードと同じ
  • パラメータ:Delay、Skip、KNN、K0、K1、KINF、Gamma、Treshold
  • データ:time series(X_train)、time series(X_test)、AUTO、または、EXPERTで作成した学習モデル
出力 特徴量、モデル、スコア、スコアチャート AUTOモードと同じ 特徴量、スコア、スコアチャート

Time Series Shaperでは、TDAを使った時系列データ分析の体験にフォーカスしています。
TDA技術やケーススタディに関するより詳しい情報は, 別のWebsite (http://tda.labs.fujitsu.com/ja/index.html)にまとめて公開していますので、こちらにアクセスしてください(Fujitsu’s TDATechnologiesに遷移します)。

STEP 3:サンプルデータのダウンロード

実行用の時系列データのtrainデータ、さらに、時系列データのtestデータの合計2種類のデータをダウンロードします。

これらのデータは、製紙⼯場におけるプロセスデータです。
[X_anomaly_detection_train.csv] , [X_anomaly_detection_test.csv] では各時刻における製造時のセンサー値を格納しています。それぞれのデータは以下のような形式になっています。

X_anomaly_detection_train.csvの中身
X_anomaly_detection_train.csvの中身
X_anomaly_detection_test.csvの中身
X_anomaly_detection_test.csvの中身

センサーで得られた時系列データをプロットした図

時系列データグラフ

データの出典元

Chitta Ranjan, Mahendranath Reddy, Markku Mustonen, Kamran Paynabar, Karim Pourak.: Dataset: Rare Event Classification in Multivariate Time Series, arXiv preprint,
https://arxiv.org/abs/1809.10717(2018)

STEP 4:データのアップロード

DATA URL の部分の「X train」にデータをアップロードします。

  • X train → 時系列データ [X_anomaly_detection_train.csv] をドラッグアンドドロップ
  • ⼿動でパラメータを設定・利⽤する場合は、画⾯中のEXPERTタブをクリックしてください。
  • AUTOを利⽤する場合は、画⾯中のAUTOタブをクリックしてください。

TRAIN/EXPERTモード画面

TRAIN/EXPERTモード画面

TRAIN/AUTOモード画面

TRAIN/AUTOモード画面

STEP 5:パラメータの設定

  • AUTOを利⽤する場合は、TDAに関するパラメータを⾃動で設定するため、パラメータの設定は必要ありません。
  • EXPERTを利⽤する場合は、TDAに関するパラメータを⼿動で設定します。⼊⼒フォーム直接、数値を 記⼊するか、「-」、 または、「+」のアイコンをクリックして数値を記⼊してください。
  • Theresholdを無限⼤に設定する場合は、「∞」のアイコンをクリックしてください。設定すると「∞」を表示します。

TRAIN/EXPERTモード画面

TRAIN/EXPERTモード画面
TDAに関するパラメータ: 9種類
No. Paramaters 意味、利用方法
1 Delay 周波数目安となるパラメータ。大きくなるほど低周波を強調します。
2 Skip データ粒度を調整するパラメータ。基本的に Skip <= Delay で設定します。データによっては、 Skip = 2 * Delay が適切な場合もあります。
3 KNN 最小は5。最大は時系列/ Skip のさらに1/10程度となります。例えば、時系列データ1000行、Skip=1の場合、100未満の数値を設定します。
4 K0 情報(特徴量)を細分化するパラメータです。1〜5の範囲で設定します。
5 K1 情報(特徴量)を細分化するパラメータです。1〜5の範囲で設定します。
6 KINF 情報(特徴量)を細分化するパラメータです。1〜3の範囲で設定します。
7 Gamma 波形の振幅に依存するパラメータです。例えば、幅10の時は0.1〜0.5の間で設定します。幅100であれば10倍の範囲で刻み幅も10倍程度にして設定します。
8 Threshold 計算打ち切りレベルを決定するパラメータです。振幅の2乗程度に設定します。ただし、計算量が増⼤した場合は設定値を⼩さくすることで計算量を下げることができますが、性能は低下する可能性があります。計算量が下がるのは、振幅の半分以下程度に設定した場合に可能となります。
9 LFV_size 情報(特徴量)を細分化するパラメータです。5、または、10を設定します。最⼩は1となります。最⼤はデータ⻑以下に設定します。
AUTOモードで設定されているパラメータの範囲
No. Paramaters Setting range
1 Delay 1, 2, 3, 5, 10
2 Skip 1, 2, 3, 5
3 KNN 1, 2
4 K0 5, 20
5 K1 5, 20
6 KINF 1, 3
7 Gamma 0.01, 0.25, 0.5
8 Threshold np.inf
9 LFV_size 10

※AUTOでは、全てのパラメータの組み合わせによる分析を実⾏し、その中で最もスコアの⾼くなるパラメータの組み合わせに関するConverted data、 Model、 Scoresを返却します。

STEP 6:TRAINの実行

Submit ボタンを押すと、以下の画面に遷移してTRAINを実行します。
インジケータの表示を参考に、しばらくお待ちください。

TRAIN/EXPERTモード画面

TRAIN/EXPERTモード画面

TRAIN/AUTOモード画面

TRAIN/AUTOモード画面

Input the data and parameters, follow the instructions, in each of the Steps below.

  • Generate 3D point clouds from time series by time delay embedding
  • Calculate persistent homology
  • Extract features
  • Execute classification in the extracted features

STEP 7:TRAINの実行終了

実行が終了すると、以下の画面に遷移します。

TRAIN/EXPERTモード画面

TRAIN/EXPERTモード画面

TRAIN/AUTOモード画面

TRAIN/AUTOモード画面

TDAを適⽤した結果として、ダウンロードが可能なConverted data, Model, Scoresを表示します。
また、EXPERTモードではSCOREと設定パラメータを表⽰し、AUTOモードではBEST SCOREとベストパラメータを表⽰します。
データのダウンロードは、ダウンロードアイコン <インラインでアイコンを挿⼊・もしくはスクリーンショット上で名称指定> をクリックすると可能となります。

  • Converted data
    • X_anomaly_detection_train.csvに対してTDAを適⽤し、各チャンクに対する特徴量ベクトルをまとめたものです。
    • データ形式: pklファイル
  • Model
    • modelオブジェクトを⽣成し、学習までさせた後にpickle.dumpでmodelをシリアライズしたものです。
    • データ形式: pklファイル
  • Scores
    • データはあるが、どれが正常状態のデータでどれが異常状態のデータかわからない時系列データから構成され、この時系列データの特徴ベクトルからスコアを算出したものです。また、AUTOモードを利用した場合は、ベストスコア(最大スコア)を算出します。
    • データ形式: csvファイル

※各データをダウンロード後、分析を終了する場合はGo Backボタンを押してください。

※TRAINに続いて、TESTを実行する場合は、TESTボタンを押してください。

Converted data として生成されたpklファイルは、以下のようにしてpythonで読み込むことができます。

Pythonによるコードサンプル

import joblib
with open ('vec_unsupervised.pkl', 'rb') as f:
data = joblib.load(f)
for i in range(len(data)):
print(data[i])

実行結果

[3.33313170e-01 3.33331027e-01 3.33210033e-01 3.33335123e-01 3.33297425e-01 3.33319497e-01 3.33339110e-01 3.33325219e-01 3.33335554e-01 3.33332722e-01 3.33329766e-01 3.33337893e-01 3.33241247e-01 3.33336994e-01 3.33341208e-01 3.33328709e-01 3.33327331e-01 3.33270963e-01 3.33340617e-01 3.33334111e-01 2.50010326e-01 2.49947016e-01 2.49988388e-01 2.50001446e-01 2.50015323e-01 0.00000000e+00 1.86127431e-01 1.84591491e-01 2.49494498e-01 2.45699159e-01 2.30619182e-01 2.18821337e-01 1.95265751e-01 2.03457603e-01 1.23281986e-01 1.34509820e-01 6.27517308e-03 7.91744336e-04 4.01352932e-03 4.56225994e-04 2.11010345e-04 8.89066268e-04 3.90908555e-33 1.00389188e-04 2.44288190e-03 3.18273048e-04]
[6.66544953e-01 6.66667947e-01 6.66201924e-01 6.66627576e-01 6.66485695e-01 6.66568765e-01 6.66660980e-01 6.66665826e-01 6.66666356e-01 6.66667868e-01 6.66667486e-01 6.66663608e-01 6.66292642e-01 6.66665552e-01 6.66650475e-01 6.66603435e-01 6.66666597e-01 6.66386108e-01 6.66657721e-01 6.66667127e-01 1.00000000e+00 1.00000000e+00 1.00000000e+00 1.00000000e+00 1.00000000e+00 0.00000000e+00 1.79013537e-01 2.54572132e-01 2.43861581e-01 2.73877948e-01 2.78248426e-01 2.47834300e-01 2.31344220e-01 2.43861581e-01 2.30619182e-01 2.28534796e-01 2.27925040e-03 2.07808767e-04 1.08078469e-04 2.01834404e-03 1.02445307e-03 3.90908555e-33 1.04569519e-03 1.08078469e-04 1.08078469e-04 2.86443921e-03] ...

STEP 8:TESTの実行

TRAIN実⾏結果である学習済みモデルを利⽤してTEST(推論)を⾏うことができます。

  1. はじめに、DATA URLのX train, X test, Modelそれぞれにデータをアップロードします。

    X train→ 時系列データ X_anomaly_detection_train.csv をドラッグアンドドロップ

    X test→時系列テストデータ X_anomaly_detection_test.csv をドラッグアンドドロップ

    Model→ AUTOモード、または、EXPERTモードで作成した model.pkl をドラッグアンドドロップ

    TEST(推論)
  2. 次に、Submitボタンを押します。(ここではパラメータの入力は不要となります)
  3. Submitボタンを押すと、以下の画面に遷移し分析が実行されますので、そのままお待ちください。
    分析の実行画面

STEP 9:TESTの実行終了

TDAを適用した結果として、ダウンロードが可能なConverted data、Scores、さらに、ScoresのCHARTが表示されます。
データのダウンロードは、ダウンロードアイコン <インラインでアイコンを挿入・もしくはスクリーンショット上で名称指定>
をクリックすると可能となります。

  • Converted data
    • X_anomaly_detection_test.csvに対してTDAを適⽤し、各チャンクに対する特徴量ベクトルをまとめたものです。
    • データ形式: pklファイル
  • Scores
    • X testとX trainのモデルに基づいてスコアを算出したものです。
    • データ形式: csvファイル
  • CHART
    • Scoresの算出結果に基づいて作成されたグラフです。

実行結果の画面

TESTの実行結果
SVCの使い方

Time Series Shaperにアクセスすると以下のページが表示されます。

システム画面
各機能に関する詳細説明
AUTOモード EXPERTモード TESTモード
機能 複数のパラメータについて、全ての値の組み合わせ使って学習のモデルを自動で構築・訓練し、最適化されたモデルを用いてデータの特徴量抽出が可能です 複数のパラメータについて、ユーザーが手動設定した上で学習のモデルを構築・訓練し、得られたモデルを用いてデータの特徴量抽出が可能です AUTO、または、EXPERTモードで作成した学習モデルを使い、新たな入力データの特徴量抽出の試行が可能です
入力
  • データ:time series(X_train)、label(y_train)
  • データ:AUTOモードと同じ
  • パラメータ:Delay、Skip、KNN、K0、K1、KINF、Gamma、Treshold
  • データ:time series(X_train)、time series(X_test)、AUTO、または、EXPERTで作成した学習モデル
出力 特徴量、モデル、スコア AUTOモードと同じ 特徴量、スコア

Time Series Shaperでは、TDAを使った時系列データ分析の体験にフォーカスしています。
TDA技術やケーススタディに関するより詳しい情報は, 別のWebsite (http://tda.labs.fujitsu.com/ja/index.html)にまとめて公開していますので、こちらにアクセスしてください(Fujitsu’s TDATechnologiesに遷移します)。

STEP 3:サンプルデータのダウンロード

実行用の時系列データとそのラベルデータのtrainデータ、さらに、時系列データのtestデータの 合計3種類のデータをダウンロードします。

これらのデータは、行動分類のデータです。
[X_classification_train.csv] , [X_classification_test.csv] では、加速度センサーで取得したstanding, running, walking, badmintonの重力加速度の時系列データが格納されています。
また、[y_classification_train.csv] では加速度センサーで取得したデータがどの動作に対応するかを示す0-3の値(0: standing, 1: running, 2: walking, 3: badminton)が格納されています。
それぞれのデータは、以下のような形式になっています。

X_classification_train.csvの中身
X_classification_train.csvの中身
y_classification_train.csvの中身
y_classification_train.csvの中身
X_classification_test.csvの中身
X_classification_test.csvの中身

センサーで得られた時系列データの一部をプロットした図

line0: standing, line1: running, line2: walking, line3: badminton

センサーで得られた時系列データの一部をプロットした図

データの出典元

Jack Clements, UEA
Dataset: BasicMotions
http://www.timeseriesclassification.com/description.php?Dataset=BasicMotions

STEP 4:データのアップロード

DATA URL の部分の「X train」, 「Y train」それぞれにデータをアップロードします。

  • X train → 時系列データ [X_classification_train.csv] をドラッグアンドドロップ
  • Y train → ラベルデータ [y_classification_train.csv] をドラッグアンドドロップ

TRAIN/EXPERTモード画面

TRAIN/EXPERTモード画面

TRAIN/AUTOモード画面

TRAIN/AUTOモード画面

STEP 5:パラメータの設定

  • AUTOを利⽤する場合、画面中のAUTOタブをクリックしてください。TDAとSVCに関するパラメータを⾃動で設定するため、パラメータの設定は必要ありません。
  • 手動でパラメータを設定・利用する場合、画面中のEXPERTタブをクリックしてください。TDAとSVCに関するパラメータを設定します。
  • EXPERTを利⽤する場合は、TDAに関するパラメータを⼿動で設定します。⼊⼒フォーム直接、数値を 記⼊するか、「-」、 または、「+」のアイコンをクリックして数値を記⼊してください。
  • Theresholdを無限⼤に設定する場合は、「∞」のアイコンをクリックしてください。設定すると「∞」を表示します。

TRAIN/EXPERTモード画面

TRAIN/EXPERTモード画面
TDAに関するパラメータ:9種類
No. Paramaters 意味、利用方法
1 Delay 周波数目安となるパラメータ。大きくなるほど低周波を強調します。
2 Skip データ粒度を調整するパラメータ。基本的に Skip <= Delay で設定します。データによっては、 Skip = 2 * Delay が適切な場合もあります。
3 KNN 最小は5。最大は時系列/ Skip のさらに1/10程度となります。例えば、時系列データ1000行、Skip=1の場合、100未満の数値を設定します。
4 K0 情報(特徴量)を細分化するパラメータです。1〜5の範囲で設定します。
5 K1 情報(特徴量)を細分化するパラメータです。1〜5の範囲で設定します。
6 KINF 情報(特徴量)を細分化するパラメータです。1〜3の範囲で設定します。
7 Gamma 波形の振幅に依存するパラメータです。例えば、幅10の時は0.1〜0.5の間で設定します。幅100であれば10倍の範囲で刻み幅も10倍程度にして設定します。
8 Threshold 計算打ち切りレベルを決定するパラメータです。振幅の2乗程度に設定します。ただし、計算量が増⼤した場合は設定値を⼩さくすることで計算量を下げることができますが、性能は低下する可能性があります。計算量が下がるのは、振幅の半分以下程度に設定した場合に可能となります。
9 LFV_size 情報(特徴量)を細分化するパラメータです。5、または、10を設定します。最⼩は1となります。最⼤はデータ⻑以下に設定します。
SVCに関するパラメータ:14種類
No. Paramaters Meaning
1 C : float, default=1.0 Regularization parameter.The strength of the regularization is inverselyproportional to C.Must be strictly positive.
The penalty is a squared l2 penalty.
2 kernel : string, default= rbf Specifies the kernel type to be used in the algorithm.
{ linear , poly , rbf , sigmoid ,precomputed }
3 degree : int, default=3 Degree of the polynomial kernel function ( poly ).
4 gamma : { scale , auto } or float, default= scale Kernel coefficient for rbf , poly and sigmoid .
5 coef0 : float, default=0.0 Independent term in kernel function.
6 shrinking : bool, default=True Whether to use the shrinking heuristic.
7 probability : bool, default=False Whether to enable probability estimates.
8 tol : float, default=1e-3 Tolerance for stopping criterion.
9 cache_size : float, default=200 Specify the size of the kernel cache (in MB).
10 verbose : bool, default=False Enable verbose output.
11 max_iter : int, default=-1 Hard limit on iterations within solver, or -1 for no limit.
12 decition_function_shape : { ovo , ovr }, default= ovr Whether to return a one-vs-rest ( ovr ) decision function of shape(n_samples, n_classes) as all other classifiers, or the original one-vs-one ( ovo )decision function of libsvm which has shape (n_samples, n_classes * (n_classes - 1) / 2)
13 break_ties : bool, default=Flase If true, decision_function_shape= ovr , and number of classes > 2,
predict will break ties according to the confidence values of decision_function;
otherwisethe first class among the tied classes is returned.
14 random_state : int or RandomState instance, default=None Controls the pseudo random number generation for shufflingthe datafor probability estimates.
TDA/SVC
No. Paramaters Values
1 tda__delay 1, 2, 3
2 tda__skip 1, 2, 3
3 tda__knn 4
4 tda__k0 4
5 tda__k1 4
6 tda__kinf 2
7 tda__gamma 0.01, 0.25
8 tda__threshold np.inf
9 tda__lfv_size 10
10 svc__C np.logspace(-3, 1, 3)
11 svc__degree 3
12 svc__coef0 0.0
13 svc__cache_size 200
14 svc__max_iter -1
15 svc__kernel rbf
16 svc__gamma np.logspace(-3, 1, 3)
17 svc__shrinking True
18 svc__probability False
19 svc__tol 1e-3
20 svc__verbose False
21 svc__break_ties False

※AUTOでは、全てのパラメータの組み合わせによる分析を実⾏し、その中で最もスコアの⾼くなるパラメータの組み合わせに関するConverted data、 Model、 Scoresを返却します。

STEP 6:TRAINの実行

Submit ボタンを押すと、以下の画面に遷移してTRAINを実行します。
インジケータの表示を参考に、しばらくお待ちください。

TRAIN/EXPERTモード画面

TRAIN/EXPERTモード画面

TRAIN/AUTOモード画面

TRAIN/AUTOモード画面

Input the data and parameters, follow the instructions, in each of the Steps below.

  • Generate 3D point clouds from time series by time delay embedding
  • Calculate persistent homology
  • Extract features
  • Execute classification in the extracted features

STEP 7:TRAINの実行終了

実行が終了すると以下の画面に遷移します。

TRAIN/EXPERTモード画面

TRAIN/EXPERTモード画面

TRAIN/AUTOモード画面

TRAIN/AUTOモード画面

TDAを適⽤した結果として、ダウンロードが可能なConverted data, Model, Scores, さらにScoresのCHARTが表⽰されます。
また、EXPERTモードではSCOREと設定パラメータを表⽰し、AUTOモードではBEST SCOREとベストパラメータを表⽰します。
データのダウンロードは、ダウンロードアイコン <インラインでアイコンを挿⼊・もしくはスクリーンショット上で名称指定> をクリックすると可能となります。

  • Converted data
    • X_classification_train.csv に対してTDAを適⽤し、各チャンクに対する特徴量ベクトルをまとめたものです。
    • データ形式: pklファイル
  • Model
    • modelオブジェクトを⽣成し、学習までさせた後にpickle.dumpでmodelをシリアライズしたものです。
    • データ形式: pklファイル
  • Scores
    • 学習に用いたデータをどのくらい正しく予測できるのかを確認するため、学習済みモデルに時系列データを与えてスコア(正解率)を算出したものです。
      また、AUTOモードを利用した場合は、ベストスコア(最大スコア)が算出されます。
    • データ形式: csvファイル

※各データをダウンロード後、分析を終了する場合はGo Backボタンを押してください。

※TRAINに続いて、TESTを実行する場合は、TESTボタンを押してください。

Converted data として生成されたpklファイルは、以下のようにしてpythonで読み込むことができます。

Pythonによるコードサンプル

import joblib
with open ('vec_svc.pkl', 'rb') as f:
data = joblib.load(f)
for i in range(len(data)):
print(data[i])

実行結果

[2.88809319e-03 8.88532416e-01 7.48123505e-04 5.00795373e-01 6.42153482e-05 7.50190667e-01 3.46728071e-03 2.42686961e-01 9.85996630e-01 3.32062440e-02 3.15346504e-01 3.20445716e-01 3.11086350e-01 3.17361759e-01 3.10314380e-01 3.15195574e-01 3.07241732e-01 3.18726727e-01 3.15576841e-01 3.12591768e-01 4.71645318e-04 1.41532228e-04 4.00983437e-05 1.82675972e-05 4.43789101e-05 5.11600481e-05 8.02129318e-05 1.26085084e-04 1.34272170e-04 1.42900949e-04]
[1.87950126e-01 9.37415674e-01 5.47979308e-02 8.16241300e-01 8.72134398e-04 7.11045719e-01 2.47326610e-02 4.94039016e-01 9.94665568e-01 1.41014194e-01 3.01695532e-01 3.52447180e-01 3.24024758e-01 3.98495177e-01 3.91357534e-01 3.09578997e-01 3.68670533e-01 3.50241213e-01 2.94677219e-01 3.41978758e-01 1.56459399e-04 1.42545416e-03 5.31598073e-04 1.72896733e-02 7.62948673e-03 2.66395202e-03 3.15073245e-03 1.00608164e-02 7.81302290e-04 3.74550051e-03] ...

STEP 8:TESTの実行

TRAIN実⾏結果である学習済みモデルを利⽤してTEST(推論)を⾏うことができます。

  1. はじめに、DATA URLのX test, Modelそれぞれにデータをアップロードします。

    X test→ 時系列テストデータ [X_classification_test.csv] をドラッグアンドドロップ

    Model→ AUTOモード、または、EXPERTモードで作成した [model.pkl] をドラッグアンドドロップ

    TEST(推論)
  2. 次に、Submitボタンを押します。(ここではパラメータの入力は不要となります)
  3. Submitボタンを押すと、以下の画面に遷移し分析が実行されますので、そのままお待ちください。
    TEST(推論)

STEP 9:TESTの実行終了

TDAを適用した結果として、ダウンロードが可能なConverted data、Scores、さらに、ScoresのCHARTが表示されます。
データのダウンロードは、ダウンロードアイコン <インラインでアイコンを挿入・もしくはスクリーンショット上で名称指定>
をクリックすると可能となります。

  • Converted data
    • X_classification_test.csv に対してTDAを適用し、各時刻の特徴量ベクトルをまとめたものです。
    • データ形式: pklファイル
  • Scores
    • X testとX trainのモデルに基づいてスコアを算出したものです。
    • データ形式: csvファイル
  • CHART
    • Scoresの算出結果に基づいて作成されたグラフです。

実行結果の画面

TESTの実行結果
LightGBMの使い方

Time Series Shaperにアクセスすると以下のページが表示されます。

システム画面
各機能に関する詳細説明
AUTOモード EXPERTモード TESTモード
機能 複数のパラメータについて、全ての値の組み合わせ使って学習のモデルを自動で構築・訓練し、最適化されたモデルを用いてデータの特徴量抽出が可能です 複数のパラメータについて、ユーザーが手動設定した上で学習のモデルを構築・訓練し、得られたモデルを用いてデータの特徴量抽出が可能です AUTO、または、EXPERTモードで作成した学習モデルを使い、新たな入力データの特徴量抽出の試行が可能です
入力
  • データ:time series(X_train)、label(y_train)
  • データ:AUTOモードと同じ
  • パラメータ:Delay、Skip、KNN、K0、K1、KINF、Gamma、Treshold
  • データ:time series(X_train)、time series(X_test)、AUTO、または、EXPERTで作成した学習モデル
出力 特徴量、モデル、スコア AUTOモードと同じ 特徴量、スコア

Time Series Shaperでは、TDAを使った時系列データ分析の体験にフォーカスしています。
TDA技術やケーススタディに関するより詳しい情報は, 別のWebsite (http://tda.labs.fujitsu.com/ja/index.html)にまとめて公開していますので、こちらにアクセスしてください(Fujitsu’s TDATechnologiesに遷移します)。

STEP 3:サンプルデータのダウンロード

実行用の時系列データとそのラベルデータのtrainデータ、さらに、時系列データのtestデータの 合計3種類のデータをダウンロードします。

これらのデータは、行動分類のデータです。
[X_classification_train.csv] , [X_classification_test.csv] では、加速度センサーで取得したstanding, running, walking, badmintonの重力加速度の時系列データが格納されています。
また、[y_classification_train.csv] では加速度センサーで取得したデータがどの動作に対応するかを示す0-3の値(0: standing, 1: running, 2: walking, 3: badminton)が格納されています。
それぞれのデータは、以下のような形式になっています。

X_classification_train.csvの中身
X_classification_train.csvの中身
y_classification_train.csvの中身
y_classification_train.csvの中身
X_classification_test.csvの中身
X_classification_test.csvの中身

センサーで得られた時系列データの一部をプロットした図

line0: standing, line1: running, line2: walking, line3: badminton

センサーで得られた時系列データの一部をプロットした図

データの出典元

Jack Clements, UEA
Dataset: BasicMotions
http://www.timeseriesclassification.com/description.php?Dataset=BasicMotions

STEP 4:データのアップロード

DATA URL の部分の「X train」, 「Y train」それぞれにデータをアップロードします。

  • X train → 時系列データ [X_classification_train.csv] をドラッグアンドドロップ
  • Y train → ラベルデータ [y_classification_train.csv] をドラッグアンドドロップ

TRAIN/EXPERTモード画面

TRAIN/EXPERTモード画面

TRAIN/AUTOモード画面

TRAIN/AUTOモード画面

STEP 5:パラメータの設定

  • AUTOを利⽤する場合、画面中のAUTOタブをクリックしてください。TDAとLGBMに関するパラメータを⾃動で設定するため、パラメータの設定は必要ありません。
  • 手動でパラメータを設定・利用する場合、画面中のEXPERTタブをクリックしてください。TDAとLGBMに関するパラメータを設定します。
  • EXPERTを利⽤する場合は、TDAに関するパラメータを⼿動で設定します。⼊⼒フォーム直接、数値を 記⼊するか、「-」、 または、「+」のアイコンをクリックして数値を記⼊してください。
  • Theresholdを無限⼤に設定する場合は、「∞」のアイコンをクリックしてください。設定すると「∞」を表示します。

TRAIN/EXPERTモード画面

TRAIN/EXPERTモード画面
TDAに関するパラメータ:9種類
No. Paramaters 意味、利用方法
1 Delay 周波数目安となるパラメータ。大きくなるほど低周波を強調します。
2 Skip データ粒度を調整するパラメータ。基本的に Skip <= Delay で設定します。データによっては、 Skip = 2 * Delay が適切な場合もあります。
3 KNN 最小は5。最大は時系列/ Skip のさらに1/10程度となります。例えば、時系列データ1000行、Skip=1の場合、100未満の数値を設定します。
4 K0 情報(特徴量)を細分化するパラメータです。1〜5の範囲で設定します。
5 K1 情報(特徴量)を細分化するパラメータです。1〜5の範囲で設定します。
6 KINF 情報(特徴量)を細分化するパラメータです。1〜3の範囲で設定します。
7 Gamma 波形の振幅に依存するパラメータです。例えば、幅10の時は0.1〜0.5の間で設定します。幅100であれば10倍の範囲で刻み幅も10倍程度にして設定します。
8 Threshold 計算打ち切りレベルを決定するパラメータです。振幅の2乗程度に設定します。ただし、計算量が増⼤した場合は設定値を⼩さくすることで計算量を下げることができますが、性能は低下する可能性があります。計算量が下がるのは、振幅の半分以下程度に設定した場合に可能となります。
9 LFV_size 情報(特徴量)を細分化するパラメータです。5、または、10を設定します。最⼩は1となります。最⼤はデータ⻑以下に設定します。
LGBMに関するパラメータ:19種類
No. Paramaters Meaning
1 boosting_type : string, default= gbdt {‘gbdt’, ‘dart’, ‘goss’, ‘rf’}
2 num_leaves : int, default=31 Maximum tree leaves for base learners.
3 max_depth : int, default=-1 Maximum tree depth for base learners, <=0 means no limit.
4 learning_rate : float, default=0.1 Boosting learning rate.
5 n_estimators : int, default=100 Number of boosted trees to fit.
6 subsample_for_bin : int, default=200000 Number of samples for constructing bins.
7 objective : string, callable or None, default=None Specify the learning task and the corresponding learning objective or a custom objective function to be used.
8 class_weight : dict, balanced or None, default=None Weights associated with classes in the form {class_label: weight}.
9 min_split_gain : float, default=0. Minimum loss reduction required to make a further partition on a leaf node of the tree.
10 min_child_weight : float, default=1e-3 Minimum sum of instance weight (hessian) needed in a child (leaf).
11 min_child_samples : int, default=20 Minimum number of data needed in a child (leaf).
12 subsample : flaot, default=1. Subsample ratio of the training instance.
13 subsample_freq : int, default=0 Frequence of subsample, <=0 means no enable.
14 colsample_bytree : float, default=1. Subsample ratio of columns when constructing each tree.
15 reg_alpha : float, default=0. L1 regularization term on weights.
16 reg_lambda : float, default=0. L2 regularization term on weights.
17 n_jobs : int, default=-1 Number of parallel threads.
18 silent : bool, default=True Whether to print messages while running boosting.
19 importance_type : string, default= split The type of feature importance to be filled into feature_importances_.
{‘split’, ‘gain’}
TDA/LGBM
No. Paramaters Values
1 tda__delay 1, 2, 3
2 tda__skip 1, 2, 3
3 tda__knn 4
4 tda__k0 4
5 tda__k1 4
6 tda__kinf 2
7 tda__gamma 0.01, 0.25
8 tda__threshold np.inf
9 tda__lfv_size 10
10 lgbm__boosting_type gbdt , dart
11 lgbm__num_leaves 31
12 lgbm__max_depth -1
13 lgbm__learning_rate 0.1
14 lgbm__n_estimators 100
15 lgbm__subsample_for_bin 200000
16 lgbm__objective regression , binary
17 lgbm__class_weight balanced
18 lgbm__min_split_gain 0.
19 lgbm__min_child_weight 1e-3
20 lgbm__min_child_samples 20
21 lgbm_subsample 1.
22 lgbm__subsamlple_freq 0
23 lgbm__colsample_bytree 1.0
24 lgbm__reg_alpha 0.
25 lgbm__reg_lambda 0.
26 lgbm__n_jobs -1
27 lgbm__silent True
28 lgbm__importance_type split , gain

※AUTOでは、全てのパラメータの組み合わせによる分析を実⾏し、その中で最もスコアの⾼くなるパラメータの組み合わせに関するConverted data、 Model、 Scoresを返却します。

STEP 6:TRAINの実行

Submit ボタンを押すと、以下の画面に遷移してTRAINを実行します。
インジケータの表示を参考に、しばらくお待ちください。

TRAIN/EXPERTモード画面

TRAIN/EXPERTモード画面

TRAIN/AUTOモード画面

TRAIN/AUTOモード画面

Input the data and parameters, follow the instructions, in each of the Steps below.

  • Generate 3D point clouds from time series by time delay embedding
  • Calculate persistent homology
  • Extract features
  • Execute classification in the extracted features

STEP 7:TRAINの実行終了

実行が終了すると以下の画面に遷移します。

TRAIN/EXPERTモード画面

TRAIN/EXPERTモード画面

TRAIN/AUTOモード画面

TRAIN/AUTOモード画面

TDAを適⽤した結果として、ダウンロードが可能なConverted data, Model, Scoresを表⽰します。
また、EXPERTモードではSCOREと設定パラメータを表⽰し、AUTOモードではBEST SCOREとベストパラメータを表⽰します。
データのダウンロードは、ダウンロードアイコン <インラインでアイコンを挿⼊・もしくはスクリーンショット上で名称指定> をクリックすると可能となります。

  • Converted data
    • X_classification_train.csv に対してTDAを適⽤し、各チャンクに対する特徴量ベクトルをまとめたものです。
    • データ形式: pklファイル
  • Model
    • modelオブジェクトを⽣成し、学習までさせた後にpickle.dumpでmodelをシリアライズしたものです。
    • データ形式: pklファイル
  • Scores
    • 学習に用いたデータをどのくらい正しく予測できるのかを確認するため、学習済みモデルに時系列データを与えてスコア(正解率)を算出したものです。
      また、AUTOモードを利用した場合は、ベストスコア(最大スコア)が算出されます。
    • データ形式: csvファイル

※各データをダウンロード後、分析を終了する場合はGo Backボタンを押してください。

※TRAINに続いて、TESTを実行する場合は、TESTボタンを押してください。

Converted data として生成されたpklファイルは、以下のようにしてpythonで読み込むことができます。

Pythonによるコードサンプル

import joblib
with open ('vec_lgbm.pkl', 'rb') as f:
data = joblib.load(f)
for i in range(len(data)):
print(data[i])

実行結果

[9.89293183e-01 1.89030220e-03 4.03982308e-01 9.54754723e-03 7.90351020e-01 1.54430327e-03 2.49122911e-01 1.10571671e-05 9.87533966e-01 4.57992025e-02 3.15346504e-01 3.20445716e-01 3.11086350e-01 3.17361759e-01 3.10314380e-01 3.15195574e-01 3.07241732e-01 3.18726727e-01 3.15576841e-01 3.12591768e-01 4.71645318e-04 1.41532228e-04 4.00983437e-05 1.82675972e-05 4.43789101e-05 5.11600481e-05 8.02129318e-05 1.26085084e-04 1.34272170e-04 1.42900949e-04]
[9.91554758e-01 3.06540952e-02 7.78257146e-01 1.30784966e-01 6.80570157e-01 1.15133205e-02 4.11753724e-01 1.51740285e-04 1.00000000e+00 3.19834475e-01 3.01695532e-01 3.52447180e-01 3.24024758e-01 3.98495177e-01 3.91357534e-01 3.09578997e-01 3.68670533e-01 3.50241213e-01 2.94677219e-01 3.41978758e-01 1.56459399e-04 1.42545416e-03 5.31598073e-04 1.72896733e-02 7.62948673e-03 2.66395202e-03 3.15073245e-03 1.00608164e-02 7.81302290e-04 3.74550051e-03] ...

STEP 8:TESTの実行

TRAIN実⾏結果である学習済みモデルを利⽤してTEST(推論)を⾏うことができます。

  1. はじめに、DATA URLのX test, Modelそれぞれにデータをアップロードします。

    X test→ 時系列テストデータ [X_classification_test.csv] をドラッグアンドドロップ

    Model→ AUTOモード、または、EXPERTモードで作成した [model.pkl] をドラッグアンドドロップ

    TEST(推論)
  2. 次に、Submitボタンを押します。(ここではパラメータの入力は不要となります)
  3. Submitボタンを押すと、以下の画面に遷移し分析が実行されますので、そのままお待ちください。
    TEST(推論)

STEP 9:TESTの実行終了

TDAを適用した結果として、ダウンロードが可能なConverted data、Scores、さらに、ScoresのCHARTが表示されます。
データのダウンロードは、ダウンロードアイコン <インラインでアイコンを挿入・もしくはスクリーンショット上で名称指定>
をクリックすると可能となります。

  • Converted data
    • X_classification_test.csv に対してTDAを適用し、各チャンクに対する特徴量ベクトルをまとめたものです。
    • データ形式: pklファイル
  • Scores
    • X testとX trainのモデルに基づいてスコアを算出したものです。
    • データ形式: csvファイル
  • CHART
    • Scoresの算出結果に基づいて作成されたグラフです。

実行結果の画面

TESTの実行結果