このチュートリアルでは、機械の状態情報の監視と、故障状態の認識と予測の問題に焦点を当てます。
データは架空のシミュレーションから作成され、経時的に測定された複数の系列を連結したものである。 各レコードはマシンのスナップショット・レポートであり、以下のフィールドを含む:
整数。Time
整数。Power
整数。Temperature
.Pressure
(正常の場合)、0
(一時的な圧力警告の場合)。1
最後にサービスされてからの時間。Uptime
通常はStatus
で、エラー (0
、101
、または202
) が発生すると、エラー・コードが変更されます。303
この時系列に表示されるエラー・コード、またはエラーが発生しなかった場合はOutcome
。 (これらのコードは、後々使用可能になります)。0
次の過程は、ほとんどのデータ・マイニングのプロジェクトにおいて一般的に行われます。
- データを調べて、どの属性が対象状態の予測や認識に関連するかを判断する。
- これらの属性を保持するか (既に含まれている場合)、あるいは必要であればこれらの属性を派生させてデータに追加します。
- 結果として作成されたデータを、ルールとニューラル・ネットの学習に使用します。
- 独立したテストデータを使用して、学習済みシステムをテストする。
チュートリアルを試すCopy link to section
このチュートリアルでは、以下のタスクを実行します:
モデラーのフローとデータセットのサンプルCopy link to section
このチュートリアルでは、サンプルプロジェクトの状態監視フローを使用します。 使用したデータファイルはcond1n.csvである。 次の図は、モデラーのフロー例を示しています。

各時系列には、次の画像に示すように、正常運転期間と故障に至る期間の一連の記録がある:

タスク 1:サンプルプロジェクトを開くCopy link to section
サンプル・プロジェクトには、いくつかのデータ・セットとモデラー・フローのサンプルが含まれています。 サンプル・プロジェクトをまだお持ちでない場合は、チュートリアル・トピックを参照してサンプル・プロジェクトを作成してください。 次に、以下の手順でサンプルプロジェクトを開きます:
- watsonx」で、ナビゲーションメニュー「
」から「プロジェクト」>「すべてのプロジェクトを表示」を選択する。
- SPSS ModelerProjectをクリックします。
- アセット」タブをクリックすると、データセットとモデラーフローが表示されます。
進捗状況を確認する
次の図は、プロジェクトのAssetsタブを示しています。 これで、このチュートリアルに関連するサンプルモデラーフローで作業する準備ができました。
タスク2:データ資産の調査Copy link to section
コンディション・モニタリングのモデラーフローには、いくつかのノードがあります。 以下の手順に従って、Data Assetノードを調べます:
- アセットタブから、コンディション・モニタリングのモデラーフローを開き、キャンバスがロードされるのを待つ。
- cond1n.csvノードをダブルクリックする。 このノードは、プロジェクト内のcond1n.csvファイルを指すData Assetノードである。
- ファイル形式のプロパティを確認します。
- パレットのRecord Operationsセクションから、Selectノードをキャンバス上にドラッグします。 ノードにカーソルを合わせて「タイトルを編集」をクリックし、名前を「
」に変更する。 cond1n.csvデータアセットノードに接続します。 Selectノードをダブルクリックし、Conditionに値'Select (101)
を入力する。Outcome == 101
- 「保存」をクリックします。
- 次に、パレットのグラフ・セクションから、プロット・ノードをキャンバス上にドラッグします。 ノードにカーソルを合わせ、Edit Titleボタンをクリックし、名前を'Time vに変更する。 パワーvs. 温度 (101). そして、セレクト・ノードに接続する。
- プロットノードをダブルクリックし、3-Dグラフボタンをクリックして、プロットに3番目の軸を追加します。 リストから、3Dグラフに表示するフィールドを選択する。 この場合、'
、'Time
、'Power
。Temperature
- プロットノードにカーソルを合わせ、実行アイコン「
」をクリックする。
- 出力とモデル」ペインから、「名前の出力結果をクリックします。 パワーvs. 温度(101)で結果を見る。
図3: 時間V。 パワーvs. 温度チャート このグラフは、時間の経過に伴う温度上昇と電力変動における101の誤差を示している。 他のエラー条件を選択し、他のプロットを表示する。
これらのグラフに基づき、温度と電力両方の変化の有無と速度、および変動の有無と程度が、故障の予測と区別に関連する。 これらの属性は、学習システムを適用する前にデータに追加することができる。
- オプション:ユーザーが後でフローを実行したときにエラーが発生する可能性があるため、[選択]ノードと[プロット]ノードを削除します。
進捗状況を確認する
次の図は、このフローを示しています。 これでデータを準備する準備ができた。

タスク3:データの準備 Copy link to section
以下のフローはデータの検討結果に基づいて、関連するデータを導出し、障害を予測するための学習を行います。
この例では、製品と共にインストールされたサンプルプロジェクトで利用可能なCondition Monitoringという名前のフローを使用します。 データ・ファイルは cond1n.csv および cond2n.csv です。
- データ・アセット・インポート・ノード。 データ・ファイル cond1n.csv を読み取ります。
- 圧力の警告 (フィールド作成)。 瞬間の圧力の警告数のカウント。 時間が 0 に戻るとリセットされます。
- 温度上昇 (フィールド作成)。
を使用して、瞬間的な温度変化率を計算する。@DIFF1
- 電力量上昇 (フィールド作成)。
を用いて瞬時電力変化率を計算する。@DIFF1
- 電力量の変動 (フィールド作成)。 これはフラグであり、1 つ前のレコードから該当するレコードになった際に電力量がその変化の方向を変えたときに真 (true) となります。つまり電力量の最高点あるいは最小点を示します。
- 電力量状態 (フィールド作成)。
(安定状態) から始まり、電力量の変動が 2 回連続して検出されると、Stable
(変動状態) に切り替わります。 5つの時間間隔に渡って電源が供給されなかった場合、または「Fluctuating
」がリセットされた場合にのみ、「Time
」に戻る。Stable
- 電力量変化 (フィールド作成)。
過去5回の平均値。PowerInc
- 温度変化 (フィールド作成)。
過去5回の平均値。TempInc
- 初期値の破棄 (選択)。
と'Power
境界での大きな(不正確な)ジャンプを避けるために、各時系列の最初のレコードを破棄する。Temperature
- フィールドの破棄 (フィルター)。 レコードを「
、「Uptime
、「Status
、「Outcome
、「Pressure Warnings
、「PowerState
、「PowerChange
」にカットする。TempChange
- タイプ。
のTarget(予測するフィールド)としての役割を定義する。 さらに、「Outcome
測定レベルを「Nominal」、「Outcome
」を「Continuous」、「Pressure Warnings
「Flag」と定義する。PowerState
進行状況を確認する
次の図は、Deriveノードを示しています。 これでモデルをトレーニングする準備ができた。

タスク4:モデルの訓練Copy link to section
フローを実行すると、C5.0 ルールとニューラル・ネットワーク (ネット) の学習が行われます。 ネットワークの訓練には時間がかかるかもしれないが、早期に訓練を中断して、妥当な結果を出すネットを保存することができる。 学習が完了すると、モデルナゲットが生成される。1つはニューラルネットを表し、もう1つはルールを表す。

これらのモデル・ナゲットにより、システムをテストしたり、モデルの結果をエクスポートしたりすることができます。 この例では、モデルの結果をテストする。 以下の手順に従ってモデルをトレーニングする:
- Run allをクリックし、C5.0とNeural networkの両方のモデルを生成する。
- 各モデルを見る Outcome (C5.0)モデルをダブルクリックし、View modelをクリックして結果を確認します。 このステップをOutcome(ニューラルネット)モデルについて繰り返す。
進行状況を確認する
以下の画像はモデルの結果を示している。 これでモデルをテストする準備ができた。

タスク5:モデルのテストCopy link to section
以下の手順に従ってモデルをテストしてください:
- Typeノードがニューラルネットナゲットに接続し、そのニューラルネットナゲットがC5.0ナゲットに接続するように、ナゲットを再配置する。
- パレットのOutputsセクションから、Analysisノードをキャンバス上にドラッグし、C5.0ナゲットに接続する。
- Data Assetノードをダブルクリックします。
- データ資産の変更をクリックします。
- データ資産>cond2n.csvを選択する。
- 「選択」をクリックします。
- 保存 をクリックします。
- 分析ノードにカーソルを合わせ、実行アイコン「
」をクリックします。 そうすると、学習済みのネットワークとルールの精度を表す数値が生成されます。
- Outputs and models(出力とモデル)ペインから、Analysis(分析)という名前の出力結果をクリックして、結果を表示します。
- 結果を確認し、各モデルの分析結果を比較する。
図 5. アウトプットを見る成果]の分析
進行状況を確認する
次の図は、完成したフローを示している。

サマリーCopy link to section
この例では、故障状態の認識と予測という問題に関連して、機械のステータス情報をモニターする方法を紹介した。 一連のDeriveノードを使用してデータを準備し、C5.0モデルを構築しました。
今後のステップCopy link to section
これで、他のSPSS® Modelerチュートリアルを試す準備ができました。