このチュートリアルでは、機械の状態情報の監視と、故障状態の認識と予測の問題に焦点を当てます。
データは架空のシミュレーションから作成され、経時的に測定された複数の系列を連結したものである。 各レコードはマシンのスナップショット・レポートであり、以下のフィールドを含む:
Time
整数。Power
整数。Temperature
整数。Pressure
.0
(正常の場合)、1
(一時的な圧力警告の場合)。Uptime
最後にサービスされてからの時間。Status
通常は0
で、エラー (101
、202
、または303
) が発生すると、エラー・コードが変更されます。Outcome
この時系列に表示されるエラー・コード、またはエラーが発生しなかった場合は0
。 (これらのコードは、後々使用可能になります)。
次の過程は、ほとんどのデータ・マイニングのプロジェクトにおいて一般的に行われます。
- データを調べて、どの属性が対象状態の予測や認識に関連するかを判断する。
- これらの属性を保持するか (既に含まれている場合)、あるいは必要であればこれらの属性を派生させてデータに追加します。
- 結果として作成されたデータを、ルールとニューラル・ネットの学習に使用します。
- 独立したテストデータを使用して、学習済みシステムをテストする。
チュートリアルを試す
このチュートリアルでは、以下のタスクを実行します:
モデラーのフローとデータセットのサンプル
このチュートリアルでは、サンプルプロジェクトの状態監視フローを使用します。 使用したデータファイルはcond1n.csvである。 次の図は、モデラーのフロー例を示しています。
各時系列には、次の画像に示すように、正常運転期間と故障に至る期間の一連の記録がある:
タスク 1:サンプルプロジェクトを開く
サンプル・プロジェクトには、いくつかのデータ・セットとモデラー・フローのサンプルが含まれています。 サンプル・プロジェクトをまだお持ちでない場合は、チュートリアル・トピックを参照してサンプル・プロジェクトを作成してください。 次に、以下の手順でサンプルプロジェクトを開きます:
- Cloud Pak for Dataの ナビゲーションメニュー「」から、Projects > View all Projetsをc選択します。
- SPSS ModelerProjectをクリックします。
- アセット」タブをクリックすると、データセットとモデラーフローが表示されます。
進捗状況を確認する
以下の画像は、プロジェクトのAssetsタブを示しています。 これで、このチュートリアルに関連するサンプルモデラーフローで作業する準備ができました。
タスク2:データ資産の調査
コンディション・モニタリングのモデラーフローには、いくつかのノードがあります。 以下の手順に従って、Data Assetノードを調べます:
- アセットタブから、コンディション・モニタリングのモデラーフローを開き、キャンバスがロードされるのを待つ。
- cond1n.csvノードをダブルクリックする。 このノードは、プロジェクト内のcond1n.csvファイルを指すData Assetノードである。
- ファイル形式のプロパティを確認します。
- パレットのRecord Operationsセクションから、Selectノードをキャンバス上にドラッグします。 ノードにカーソルを合わせて「タイトルを編集」をクリックし、名前を「
Select (101)
」に変更する。 cond1n.csvデータアセットノードに接続します。 Selectノードをダブルクリックし、Conditionに値'Outcome == 101
を入力する。 - 「保存」をクリックします。
- 次に、パレットのグラフ・セクションから、プロット・ノードをキャンバス上にドラッグします。 ノードにカーソルを合わせ、Edit Titleボタンをクリックし、名前を'Time vに変更する。 Powervs. 温度 (101). そして、セレクト・ノードに接続する。
- プロットノードをダブルクリックし、3-Dグラフボタンをクリックして、プロットに3番目の軸を追加します。 リストから、3Dグラフに表示するフィールドを選択する。 この場合、'
Time
、'Power
、'Temperature
。 - プロットノードにカーソルを合わせ、実行アイコン「」をクリックする。
- 出力とモデル」ペインから、「名前の出力結果をクリックします。 Powervs. 温度(101)で結果を表示する。
このグラフは、時間の経過に伴う温度上昇と電力変動における101の誤差を示している。 他のエラー条件を選択し、他のプロットを表示する。
これらのグラフに基づき、温度と電力両方の変化の有無と速度、そして変動の有無と程度が、故障の予測と区別に関連する。 これらの属性は、学習システムを適用する前にデータに追加することができる。
- オプション:ユーザーが後でフローを実行したときにエラーが発生する可能性があるため、[選択]ノードと[プロット]ノードを削除します。
進捗状況を確認する
次の図は、このフローを示しています。 これでデータを準備する準備ができた。
タスク3:データの準備
以下のフローはデータの検討結果に基づいて、関連するデータを導出し、障害を予測するための学習を行います。
この例では、製品と共にインストールされたサンプルプロジェクトで利用可能なCondition Monitoringという名前のフローを使用します。 データ・ファイルは cond1n.csv および cond2n.csv です。
- データ・アセット・インポート・ノード。 データ・ファイル cond1n.csv を読み取ります。
- 圧力の警告 (フィールド作成)。 瞬間の圧力の警告数のカウント。 時間が 0 に戻るとリセットされます。
- 温度上昇 (フィールド作成)。
@DIFF1
使用して、瞬間的な温度変化率を計算する。 - 電力量上昇 (フィールド作成)。
@DIFF1
を用いて瞬時電力変化率を計算する。 - 電力量の変動 (フィールド作成)。 これはフラグであり、1 つ前のレコードから該当するレコードになった際に電力量がその変化の方向を変えたときに真 (true) となります。つまり電力量の最高点あるいは最小点を示します。
- 電力量状態 (フィールド作成)。
Stable
(安定状態) から始まり、電力量の変動が 2 回連続して検出されると、Fluctuating
(変動状態) に切り替わります。 5つの時間間隔に渡って電源が供給されなかった場合、または「Time
」がリセットされた場合にのみ、「Stable
」に戻る。 - 電力量変化 (フィールド作成)。
PowerInc
過去5回の平均値。 - 温度変化 (フィールド作成)。
TempInc
過去5回の平均値。 - 初期値の破棄 (選択)。
Power
と'Temperature
境界での大きな(不正確な)ジャンプを避けるために、各時系列の最初のレコードを破棄する。 - フィールドの破棄 (フィルター)。 レコードを「
Uptime
、「Status
、「Outcome
、「Pressure Warnings
、「PowerState
、「PowerChange
、「TempChange
」にカットする。 - タイプ。
Outcome
のTarget(予測するフィールド)としての役割を定義する。 さらに、「Outcome
測定レベルを「Nominal」、「Pressure Warnings
」を「Continuous」、「PowerState
「Flag」と定義する。
進捗状況を確認する
次の図は、Deriveノードを示しています。 これでモデルをトレーニングする準備ができた。
タスク4:モデルの訓練
フローを実行すると、C5.0 ルールとニューラル・ネットワーク (ネット) の学習が行われます。 ネットワークの訓練には時間がかかるかもしれないが、早期に訓練を中断して、妥当な結果を出すネットを保存することができる。 学習が完了すると、モデルナゲットが生成される。1つはニューラルネットを表し、もう1つはルールを表す。
これらのモデル・ナゲットにより、システムをテストしたり、モデルの結果をエクスポートしたりすることができます。 この例では、モデルの結果をテストする。 以下の手順に従ってモデルをトレーニングする:
- Run allをクリックし、C5.0とNeural networkの両方のモデルを生成する。
- 各モデルを見る Outcome (C5.0)モデルをダブルクリックし、View modelをクリックして結果を確認します。 このステップをOutcome(ニューラルネット)モデルについて繰り返す。
進捗状況を確認する
次の画像はモデルの結果を示している。 これでモデルをテストする準備ができた。
タスク5:モデルのテスト
以下の手順に従ってモデルをテストしてください:
- Typeノードがニューラルネットナゲットに接続し、そのニューラルネットナゲットがC5.0ナゲットに接続するように、ナゲットを再配置する。
- パレットのOutputsセクションから、Analysisノードをキャンバス上にドラッグし、C5.0ナゲットに接続する。
- Data Assetノードをダブルクリックします。
- データ資産の変更をクリックします。
- データ資産>cond2n.csvを選択する。
- 「選択」をクリックします。
- 保存 をクリックします。
- 分析ノードにカーソルを合わせ、実行アイコン「」をクリックします。 そうすると、学習済みのネットワークとルールの精度を表す数値が生成されます。
- Outputs and models(出力とモデル)ペインから、Analysis(分析)という名前の出力結果をクリックして、結果を表示します。
- 結果を確認し、各モデルの分析結果を比較する。
進捗状況を確認する
次の図は、完成したフローを示している。
サマリー
この例では、故障状態の認識と予測という問題に関連して、機械のステータス情報をモニターする方法を紹介した。 一連のDeriveノードを使用してデータを準備し、C5.0モデルを構築しました。
次のステップ
これで、他のSPSS® Modelerチュートリアルを試す準備ができました。