Main Content

pairwiseSimilarityModel

残存耐用期間を推定するペアワイズ比較ベースの類似性モデル

説明

pairwiseSimilarityModel は、コンポーネントの残存耐用期間 (RUL) をペアワイズ比較ベースの類似性モデルを使用して推定するために使用します。このモデルでは、テスト コンポーネントの劣化プロファイルを、同じ仕様で製造された複数のマシンなど、類似コンポーネントのアンサンブルの劣化パスの履歴と直接比較します。アンサンブル メンバーに対するテスト コンポーネントの類似性は、その劣化プロファイルとアンサンブル メンバーのプロファイルの間の距離の関数であり、相関または動的時間伸縮法を使用して計算されます。

pairwiseSimilarityModel オブジェクトを構成するには、fit を使用します。類似性モデルのパラメーターを構成したら、その後、類似コンポーネントの残存耐用期間を predictRUL を使用して予測できます。類似性モデルの場合、テスト コンポーネントの RUL は、大半の類似コンポーネントの寿命の中央値統計からテスト コンポーネントの現在の寿命値を引いたものとして推定されます。RUL 予測の基本的な例については、データの着信に応じた RUL 予測の更新を参照してください。

残存耐用期間の予測に関する一般的な情報については、残存耐用期間を予測するモデルを参照してください。

作成

説明

mdl = pairwiseSimilarityModel は、RUL を推定するためのペアワイズ比較ベースの類似性モデルを作成し、既定の設定でモデルを初期化します。

mdl = pairwiseSimilarityModel(initModel) は、ペアワイズ比較ベースの類似性モデルを作成し、既存の pairwiseSimilarityModel オブジェクト initModel を使用してモデルのパラメーターを初期化します。

mdl = pairwiseSimilarityModel(___,Name,Value) は、ユーザー設定可能なモデル プロパティを、名前と値のペアで指定します。たとえば、hashSimilarityModel('LifeTimeUnit',"days") は、日数をライフタイムの単位として使用するペアワイズ比較ベースの類似性モデルを作成します。複数の名前と値のペアを指定できます。各プロパティ名を引用符で囲みます。

入力引数

すべて展開する

ペアワイズ比較ベースの類似性モデル。pairwiseSimilarityModel オブジェクトとして指定します。

プロパティ

すべて展開する

時系列距離の計算方法。次のいずれかとして指定します。

  • "correlation" — 相関を使用して距離を測定します。

  • "dtw" — 動的時間伸縮法を使用して距離を計算します。詳細については、dtw を参照してください。

次の場合に、Method を指定できます。

  • モデル作成時に名前と値のペアを使用する

  • モデル作成後にドット表記を使用する

"dtw" 距離計算方法の距離の式。次のいずれかとして指定します。

  • "euclidian" — 残差間の距離の 2 ノルムを使用します。

  • "absolute" — 残差間の距離の 1 ノルムを使用します。

次の場合に、Distance を指定できます。

  • モデル作成時に名前と値のペアを使用する

  • モデル作成後にドット表記を使用する

類似性を計算する履歴データの寿命範囲。正のスカラーまたは duration オブジェクトとして指定します。モデルで類似性を計算する際、ライフタイム (t-HistorySpan) からライフタイム t までの履歴データが使用されます。ここで、t は現在のライフタイムです。

次の場合に、HistorySpan を指定できます。

  • モデル作成時に名前と値のペアを使用する

  • モデル作成後にドット表記を使用する

類似性の計算におけるアンサンブル メンバー除外規則を決定する係数。0 から 1 までのスカラーとして指定します。WithinRangeRatio は、テスト データの長さとアンサンブル メンバー データの長さが一致しない場合に使用されます。これは、履歴データの寿命末期の値近くで発生します。WithinRangeRatio1 の場合、アンサンブル メンバーの除外はありません。

短い方のデータの長さが P、長い方のデータの長さが Q であるとします。この場合、Q(1-WithinRangeRatio) <= P <= Q の場合にのみ類似性のテストが実行されます。それ以外の場合、アンサンブル メンバーは無視されます。

次の場合に、WithinRangeRatio を指定できます。

  • モデル作成時に名前と値のペアを使用する

  • モデル作成後にドット表記を使用する

この プロパティ は読み取り専用です。

アンサンブル メンバーの寿命。double ベクトルまたは duration オブジェクト ベクトルとして指定し、関数 fit でアンサンブル メンバーの劣化プロファイルから計算します。

RUL 推定の最近傍の数。Inf または有限の正の整数として指定します。NumNearestNeighborsInf の場合、predictRUL による推定時にすべてのアンサンブル メンバーが使用されます。

次の場合に、NumNearestNeighbors を指定できます。

  • モデル作成時に名前と値のペアを使用する

  • モデル作成後にドット表記を使用する

同順位を含めるためのフラグ。true または false として指定します。IncludeTiestrue の場合、モデルにおいて、テスト コンポーネントのデータまでの距離が K 番目に短い距離よりも短いすべての近傍が含められます。ここで、K は NumNearestNeigbors と等しくなります。

次の場合に、IncludeTies を指定できます。

  • モデル作成時に名前と値のペアを使用する

  • モデル作成後にドット表記を使用する

距離を計算する前に特徴データを標準化するためのフラグ。truefalse、または 'time-varying' として指定します。

Standardizetrue の場合、特徴 X(X-mean(X))/std(X) になるように特徴データが標準化されます。

Standardize'time-varying' の場合、特徴 X(t) が (X(t) -M(t)) / S(t) になるように特徴データが標準化されます。ここで、M(t) と S(t) はデータの平均と標準偏差の実行時推定です。

次の場合に、Standardize を指定できます。

  • モデル作成時に名前と値のペアを使用する

  • モデル作成後にドット表記を使用する

ライフタイム変数。有効な MATLAB® 変数名または "" を含む string として指定します。

関数 fit を使用してモデルを学習させるとき、学習データが次のいずれかの場合:

  • table の場合、LifeTimeVariable が table の変数名のいずれかに一致する必要がある

  • timetable の場合、LifeTimeVariable は、table の変数名の 1 つ、または時間変数の次元名 data.Properties.DimensionNames{1} にする必要がある

次の場合に、LifeTimeVariable を指定できます。

  • モデル作成時に名前と値のペアを使用する

  • 関数 fit を呼び出す際の引数として使用する

  • モデル作成後にドット表記を使用する

ライフタイム変数の単位。string として指定します。

ライフタイム変数の単位は時間ベースとする必要はありません。テスト コンポーネントの寿命は、走行距離 (マイル) や消費燃料 (ガロン) などの使用量変数で測定できます。

劣化変数名。string または string 配列として指定します。DataVariables の string は、有効な MATLAB 変数名でなければなりません。

次の場合に、DataVariables を指定できます。

  • モデル作成時に名前と値のペアを使用する

  • 関数 fit を呼び出す際の引数として使用する

  • モデル作成後にドット表記を使用する

最近傍探索に並列計算を使用するためのフラグ。true または false のいずれかとして指定します。

次の場合に、UseParallel を指定できます。

  • モデル作成時に名前と値のペアを使用する

  • モデル作成後にドット表記を使用する

記録用のその他のモデル情報。任意のデータ型またはデータ形式として指定します。モデルでは、この情報を使用しません。

次の場合に、UserData を指定できます。

  • モデル作成時に名前と値のペアを使用する

  • モデル作成後にドット表記を使用する

オブジェクト関数

predictRULテスト コンポーネントの残存耐用期間を推定
fit履歴データを使用して残存耐用期間モデルのパラメーターを推定
compareテスト データを類似性モデルの履歴データ アンサンブルと比較する

すべて折りたたむ

学習データを読み込みます。

load('pairwiseTrainVectors.mat')

学習データは列ベクトルの cell 配列です。各列ベクトルは、コンポーネントの劣化特徴プロファイルです。

既定の設定でペアワイズ類似性モデルを作成します。

mdl = pairwiseSimilarityModel;

学習データを使用して類似性モデルに学習させます。

fit(mdl,pairwiseTrainVectors)

学習データを読み込みます。

load('pairwiseTrainTables.mat')

学習データは table の cell 配列です。各 table は、コンポーネントの劣化特徴プロファイルです。各プロファイルは、変数 "Time" のライフタイム測定値と、それに対応する変数 "Condition" の劣化特徴の測定値から構成されます。

絶対距離計量で動的時間伸縮法を使用して距離を計算するペアワイズ類似性モデルを作成します。

mdl = pairwiseSimilarityModel('Method',"dtw",'Distance',"absolute");

学習データを使用して類似性モデルに学習させます。ライフタイム変数とデータ変数の名前を指定します。

fit(mdl,pairwiseTrainTables,"Time","Condition")

学習データを読み込みます。

load('pairwiseTrainTables.mat')

学習データは table の cell 配列です。各 table は、コンポーネントの劣化特徴プロファイルです。各プロファイルは、変数 "Time" のライフタイム測定値と、それに対応する変数 "Condition" の劣化特徴の測定値から構成されます。

絶対距離計量で動的時間伸縮法を使用して距離を計算し、時間数をライフタイムの単位として使用するペアワイズ類似性モデルを作成します。

mdl = pairwiseSimilarityModel('Method',"dtw",'Distance',"absolute",'LifeTimeUnit',"hours");

学習データを使用して類似性モデルに学習させます。ライフタイム変数とデータ変数の名前を指定します。

fit(mdl,pairwiseTrainTables,"Time","Condition")

テスト データを読み込みます。テスト データには、テスト コンポーネントの現在のライフタイムまでの劣化特徴の測定値が含まれています。

load('pairwiseTestData.mat')

学習させた類似性モデルを使用してテスト コンポーネントの RUL を予測します。

estRUL = predictRUL(mdl,pairwiseTestData)
estRUL = duration
   93.671 hr

コンポーネントの推定 RUL は約 94 時間です。

拡張機能

バージョン履歴

R2018a で導入