Main Content

RegressionGP Predict

ガウス過程 (GP) 回帰モデルの使用による応答の予測

R2022a 以降

  • RegressionGP Predict Block Icon

ライブラリ:
Statistics and Machine Learning Toolbox / Regression

説明

RegressionGP Predict ブロックは、ガウス過程 (GP) 回帰オブジェクト (RegressionGP または CompactRegressionGP) を使用して応答を予測します。

オブジェクトを含むワークスペース変数の名前を指定することにより、学習済みの回帰オブジェクトをブロックにインポートします。入力端子 x では観測値 (予測子データ) を受信し、出力端子 yfit では観測値の予測応答を返します。オプションの出力 ysdyint では、応答の標準偏差と予測区間をそれぞれ返します。

端子

入力

すべて展開する

予測子データ。1 つの観測値の行ベクトルまたは列ベクトルとして指定します。

x の変数の順序は、[学習済み機械学習モデルを選択] で指定されたモデルに学習させた予測子変数の順序と同じでなければなりません。

データ型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

出力

すべて展開する

予測応答。スカラーとして返されます。

データ型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

予測子データからの予測応答の標準偏差。スカラーとして返されます。

データ型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

予測応答の予測区間。1 行 2 列のベクトルとして返されます。yint には、予測子データ x に対する予測応答 yfit100(1 – Alpha)% の予測区間が格納されます。Alpha 値は、予測区間に x に対する真の応答値が含まれない確率です。yint の 1 列目には予測区間の下限が、2 列目には上限が格納されます。

データ型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

パラメーター

すべて展開する

メイン

RegressionGP オブジェクトまたは CompactRegressionGP オブジェクトを含むワークスペース変数の名前を指定します。

fitrgp を使用してモデルに学習させる場合、以下の制限が適用されます。

  • 予測子データにカテゴリカル予測子 (logicalcategoricalcharstring、または cell) を含めることはできません。学習データをテーブルで渡す場合、予測子は数値 (double または single) でなければなりません。また、名前と値の引数 CategoricalPredictors は使用できません。カテゴリカル予測子をモデルに含めるには、モデルを当てはめる前に dummyvar を使用してカテゴリカル予測子を前処理します。

プログラムでの使用

ブロック パラメーター: TrainedLearner
型: ワークスペース変数
値: RegressionGP オブジェクト | CompactRegressionGP オブジェクト
既定の設定: 'gpMdl'

チェック ボックスをオンにすると、RegressionGP Predict ブロックにオプションの出力端子 ysd が含まれます。

プログラムでの使用

ブロック パラメーター: ShowOutputSD
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

チェック ボックスをオンにすると、RegressionGP Predict ブロックにオプションの出力端子 yint が含まれます。

プログラムでの使用

ブロック パラメーター: ShowOutputIntervals
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

予測区間 yint の信頼水準の有意水準を指定します。yint の信頼水準は 100(1 – Alpha)% と等しくなります。たとえば、99% の予測区間を返すには、[アルファ] を 0.01 と指定します。

プログラムでの使用

ブロック パラメーター: Alpha
: 文字ベクトル
: [0 1] のスカラー
既定の設定: 0.05

データ型

固定小数点が使用可能なパラメーター

固定小数点演算の丸めモードを指定します。詳細は、丸め (Fixed-Point Designer)を参照してください。

ブロック パラメーターは常に、最も近い表現可能な値に丸められます。ブロック パラメーターの丸めを制御するには、マスク フィールドに MATLAB® の丸め関数を使用して式を入力します。

プログラムでの使用

ブロック パラメーター: RndMeth
型: 文字ベクトル
値: "Ceiling" | "Convergent" | "Floor" | "Nearest" | "Round" | "Simplest" | "Zero"
既定の設定: "Floor"

オーバーフローの際に飽和するか折り返すかを指定します。

アクション理由オーバーフローの際の影響

このチェック ボックスをオンにする (on)。

モデルにオーバーフローの可能性があり、生成されたコードで明示的な飽和保護が必要である。

オーバーフローの際は、データ型が表現できる最小値または最大値に飽和します。

データ型 int8 (8 ビット負号付き整数) が表現できる最大値は 127 です。この最大値よりも大きいブロック演算結果は、8 ビット整数のオーバーフローを引き起こします。チェック ボックスをオンにすると、ブロック出力は 127 で飽和します。同様に、ブロック出力は最小出力値の -128 で飽和します。

このチェック ボックスをオフにする (off)。

生成されたコードの効率を最適化したい。

ブロックが範囲外の信号を処理する方法を過剰指定したくない。詳細は、信号範囲のエラーのトラブルシューティング (Simulink)を参照してください。

オーバーフローの際は、データ型が表現できる適切な値で折り返します。

データ型 int8 (8 ビット負号付き整数) が表現できる最大値は 127 です。この最大値よりも大きいブロック演算結果は、8 ビット整数のオーバーフローを引き起こします。チェック ボックスをオフにすると、オーバーフローを引き起こす値が int8 として解釈され、意図しない結果になる可能性があります。たとえば、130 (バイナリでは 1000 0010) というブロック結果が int8 として表現されると、-126 になります。

プログラムでの使用

ブロック パラメーター: SaturateOnIntegerOverflow
型: 文字ベクトル
値: "off" | "on"
既定の設定: "off"

このパラメーターを選択して、ブロックに指定したデータ型を固定小数点ツールがオーバーライドしないようにします。詳細は、[出力データ型の設定をロックする] の使用 (Fixed-Point Designer)を参照してください。

プログラムでの使用

ブロック パラメーター: LockScale
型: 文字ベクトル
値: "off" | "on"
既定の設定: "off"
データ型

yfit 出力のデータ型を指定します。データ型は継承するか、直接指定するか、Simulink.NumericType のようにデータ型オブジェクトとして表現することができます。

[Inherit: auto] を選択すると、ブロックはデータ型を継承するルールを使用します。

データ型の詳細については、信号のデータ型の制御 (Simulink)を参照してください。

[データ型アシスタントを表示] ボタン をクリックすると、[データ型アシスタント] が表示されます。これは、データ型の属性を設定する際に役立ちます。詳細は、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。

プログラムでの使用

ブロック パラメーター: OutDataTypeStr
: 文字ベクトル
: "Inherit: auto" | "double" | "single" | "half" | "int8" | "uint8" | "int16" | "uint16" | "int32" | "uint32" | "int64" | "uint64" | "boolean" | "fixdt(1,16,0)" | "fixdt(1,16,2^0,0)" | "<data type expression>"
既定の設定: "Inherit: auto"

Simulink® がチェックする yfit 出力範囲の下限値を指定します。

Simulink は以下を実行するために最小値を使用します。

メモ

[出力データ型、最小値] パラメーターが、yfit の実際の信号を飽和させたり、クリップしたりすることはありません。これを行うには、代わりに Saturation (Simulink) ブロックを使用してください。

プログラムでの使用

ブロック パラメーター: OutMin
: 文字ベクトル
: '[]' | スカラー
既定の設定: '[]'

Simulink がチェックする yfit 出力範囲の上限値を指定します。

Simulink は以下を実行するために最大値を使用します。

メモ

[出力データ型、最大値] パラメーターが、yfit の実際の信号を飽和させたり、クリップしたりすることはありません。これを行うには、代わりに Saturation (Simulink) ブロックを使用してください。

プログラムでの使用

ブロック パラメーター: OutMax
: 文字ベクトル
: '[]' | スカラー
既定の設定: '[]'

ysd 出力のデータ型を指定します。データ型は継承するか、直接指定するか、Simulink.NumericType のようにデータ型オブジェクトとして表現することができます。

[Inherit: auto] を選択すると、ブロックはデータ型を継承するルールを使用します。

データ型の詳細については、信号のデータ型の制御 (Simulink)を参照してください。

[データ型アシスタントを表示] ボタン をクリックすると、[データ型アシスタント] が表示されます。これは、データ型の属性を設定する際に役立ちます。詳細は、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。

プログラムでの使用

ブロック パラメーター: SDDataTypeStr
: 文字ベクトル
: 'Inherit: auto' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
既定の設定: 'Inherit: auto'

Simulink がチェックする ysd 出力範囲の下限値を指定します。

Simulink は以下を実行するために最小値を使用します。

メモ

[標準偏差出力のデータ型、最小値] パラメーターが、ysd の実際の信号を飽和させたり、クリップしたりすることはありません。これを行うには、代わりに Saturation (Simulink) ブロックを使用してください。

プログラムでの使用

ブロック パラメーター: SDOutMin
: 文字ベクトル
: '[]' | スカラー
既定の設定: '[]'

Simulink がチェックする ysd 出力範囲の上限値を指定します。

Simulink は以下を実行するために最大値を使用します。

メモ

[標準偏差出力のデータ型、最大値] パラメーターが、ysd の実際の信号を飽和させたり、クリップしたりすることはありません。これを行うには、代わりに Saturation (Simulink) ブロックを使用してください。

プログラムでの使用

ブロック パラメーター: SDOutMax
: 文字ベクトル
: '[]' | スカラー
既定の設定: '[]'

yint 出力のデータ型を指定します。データ型は継承するか、直接指定するか、Simulink.NumericType のようにデータ型オブジェクトとして表現することができます。

[Inherit: auto] を選択すると、ブロックはデータ型を継承するルールを使用します。

データ型の詳細については、信号のデータ型の制御 (Simulink)を参照してください。

[データ型アシスタントを表示] ボタン をクリックすると、[データ型アシスタント] が表示されます。これは、データ型の属性を設定する際に役立ちます。詳細は、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。

プログラムでの使用

ブロック パラメーター: IntervalsDataTypeStr
: 文字ベクトル
: 'Inherit: auto' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
既定の設定: 'Inherit: auto'

Simulink がチェックする yint 出力範囲の下限値を指定します。

Simulink は以下を実行するために最小値を使用します。

メモ

[予測区間出力のデータ型、最小値] パラメーターが、yint の実際の信号を飽和させたり、クリップしたりすることはありません。これを行うには、代わりに Saturation (Simulink) ブロックを使用してください。

プログラムでの使用

ブロック パラメーター: IntervalsOutMin
: 文字ベクトル
: '[]' | スカラー
既定の設定: '[]'

Simulink がチェックする yint 出力範囲の上限値を指定します。

Simulink は以下を実行するために最大値を使用します。

メモ

[予測区間出力のデータ型、最大値] パラメーターが、yint の実際の信号を飽和させたり、クリップしたりすることはありません。これを行うには、代わりに Saturation (Simulink) ブロックを使用してください。

プログラムでの使用

ブロック パラメーター: IntervalsOutMax
: 文字ベクトル
: '[]' | スカラー
既定の設定: '[]'

カーネル関数のデータ型を指定します。データ型は継承するか、直接指定するか、Simulink.NumericType のようにデータ型オブジェクトとして表現することができます。

[Inherit: auto] を選択すると、ブロックはデータ型を継承するルールを使用します。

データ型の詳細については、信号のデータ型の制御 (Simulink)を参照してください。

[データ型アシスタントを表示] ボタン をクリックすると、[データ型アシスタント] が表示されます。これは、データ型の属性を設定する際に役立ちます。詳細は、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。

ヒント

[Kernel data type] パラメーターは、RegressionGP モデルのカーネル関数のデータ型を指定します。関数 fitrgp を使用してモデルに学習させる場合、名前と値の引数 KernelFunction を次の表のいずれかの値に設定できます。

KernelFunction の値カーネル関数の説明
"exponential"指数カーネル
"squaredexponential"二乗指数カーネル
"matern32"パラメーターが 3/2 の Matern カーネル
"matern52"パラメーターが 5/2 の Matern カーネル
"rationalquadratic"有理二次カーネル
"ardexponential"予測子ごとに長さスケールが異なる指数カーネル
"ardsquaredexponential"予測子ごとに長さスケールが異なる二乗指数カーネル
"ardmatern32"パラメーターが 3/2 で予測子ごとに長さスケールが異なる Matern カーネル
"ardmatern52"パラメーターが 5/2 で予測子ごとに長さスケールが異なる Matern カーネル
"ardrationalquadratic"予測子ごとに長さスケールが異なる有理二次カーネル

プログラムでの使用

ブロック パラメーター: KernelDataTypeStr
: 文字ベクトル
: 'Inherit: auto' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
既定の設定: 'Inherit: auto'

Simulink がチェックするカーネル関数の内部変数範囲の下限値を指定します。

Simulink は以下を実行するために最小値を使用します。

メモ

[カーネルのデータ型、最小値] パラメーターが、カーネル関数の実際の信号を飽和させたり、クリップしたりすることはありません。

プログラムでの使用

ブロック パラメーター: KernelOutMin
: 文字ベクトル
: '[]' | スカラー
既定の設定: '[]'

Simulink がチェックするカーネル出力の内部変数範囲の上限値を指定します。

Simulink は以下を実行するために最大値を使用します。

メモ

[カーネルのデータ型、最大値] パラメーターが、カーネル関数の実際の信号を飽和させたり、クリップしたりすることはありません。

プログラムでの使用

ブロック パラメーター: KernelOutMax
: 文字ベクトル
: '[]' | スカラー
既定の設定: '[]'

カーネル距離を計算する方式のデータ型を指定します。データ型は継承するか、直接指定するか、Simulink.NumericType のようにデータ型オブジェクトとして表現することができます。

[継承: 内部ルールによる継承] を選択した場合、ブロックは内部ルールを使用して、出力データ型を決定します。内部ルールでは、組み込みターゲット ハードウェアのプロパティを考慮しながら、数値の精度、パフォーマンス、および生成されたコードのサイズを最適化するデータ型が選択されます。常に効率と数値の精度を同時に最適化できるとは限りません。

データ型の詳細については、信号のデータ型の制御 (Simulink)を参照してください。

[データ型アシスタントを表示] ボタン をクリックすると、[データ型アシスタント] が表示されます。これは、データ型の属性を設定する際に役立ちます。詳細は、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。

ヒント

[Distance data type] パラメーターは、組み込みカーネル関数を評価するために点間の距離を計算する方式のデータ型を指定します。詳細については、関数 fitrgp の名前と値の引数 DistanceMethod を参照してください。ブロックは DistanceMethod に常に値 "accurate" を使用します。これは、値 "fast" に比べて計算速度を低下させません。

プログラムでの使用

ブロック パラメーター: DistanceDataTypeStr
: 文字ベクトル
: 'Inherit: Inherit via internal rule' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
既定の設定: 'Inherit: Inherit via internal rule'

Simulink がチェックするカーネル距離の内部変数範囲の下限値を指定します。

Simulink は以下を実行するために最小値を使用します。

メモ

[距離のデータ型、最小値] パラメーターが、カーネル距離の実際の信号を飽和させたり、クリップしたりすることはありません。

プログラムでの使用

ブロック パラメーター: DistanceOutMin
: 文字ベクトル
: '[]' | スカラー
既定の設定: '[]'

Simulink がチェックするカーネル距離の内部変数範囲の上限値を指定します。

Simulink は以下を実行するために最大値を使用します。

メモ

[距離のデータ型、最大値] パラメーターが、カーネル距離の実際の信号を飽和させたり、クリップしたりすることはありません。

プログラムでの使用

ブロック パラメーター: DistanceOutMax
: 文字ベクトル
: '[]' | スカラー
既定の設定: '[]'

基底関数のデータ型を指定します。データ型は継承するか、直接指定するか、Simulink.NumericType のようにデータ型オブジェクトとして表現することができます。

[Inherit: auto] を選択すると、ブロックはデータ型を継承するルールを使用します。

データ型の詳細については、信号のデータ型の制御 (Simulink)を参照してください。

[データ型アシスタントを表示] ボタン をクリックすると、[データ型アシスタント] が表示されます。これは、データ型の属性を設定する際に役立ちます。詳細は、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。

ヒント

[基底データ型] パラメーターは、RegressionGP モデルの明示的な基底関数のデータ型を指定します。関数 fitrgp を使用してモデルに学習させるときに名前と値の引数 BasisFunction を設定できます。

プログラムでの使用

ブロック パラメーター: BasisDataTypeStr
: 文字ベクトル
: 'Inherit: auto' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
既定の設定: 'Inherit: auto'

Simulink がチェックする基底関数の内部変数範囲の下限値を指定します。

Simulink は以下を実行するために最小値を使用します。

メモ

[基底データ型、最小値] パラメーターが、基底関数の実際の信号を飽和させたり、クリップしたりすることはありません。

プログラムでの使用

ブロック パラメーター: BasisOutMin
: 文字ベクトル
: '[]' | スカラー
既定の設定: '[]'

Simulink がチェックする基底関数の内部変数範囲の上限値を指定します。

Simulink は以下を実行するために最大値を使用します。

メモ

[基底データ型、最大値] パラメーターが、基底関数の実際の信号を飽和させたり、クリップしたりすることはありません。

プログラムでの使用

ブロック パラメーター: BasisOutMax
: 文字ベクトル
: '[]' | スカラー
既定の設定: '[]'

ブロックの特性

データ型

Boolean | double | fixed point | half | integer | single

直達

yes

多次元信号

no

可変サイズの信号

no

ゼロクロッシング検出

no

代替機能

MATLAB Function ブロックをガウス過程回帰オブジェクト (RegressionGP または CompactRegressionGP) のオブジェクト関数 predict と共に使用できます。たとえば、MATLAB Function ブロックの使用によるクラス ラベルの予測を参照してください。

Statistics and Machine Learning Toolbox™ ライブラリ内の RegressionGP Predict ブロックを使用するかどうか、または MATLAB Function ブロックを関数 predict と共に使用するかどうかを判断する際には、以下を考慮してください。

  • Statistics and Machine Learning Toolbox ライブラリ ブロックを使用する場合、固定小数点ツール (Fixed-Point Designer)を使用して浮動小数点モデルを固定小数点に変換できます。

  • MATLAB Function ブロックを関数 predict と共に使用する場合は、可変サイズの配列に対するサポートを有効にしなければなりません。

  • MATLAB Function ブロックを使用する場合、予測の前処理や後処理のために、同じ MATLAB Function ブロック内で MATLAB 関数を使用することができます。

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。

バージョン履歴

R2022a で導入