SPSS Modelerでパラメーター最適化②ー複数の目標仕様を予測する

複数のパラメーターを調整して何らかの目標仕様を満たしたいということがあります。
例えば、シリコン量と鉄分の量（パラメーター）を調整して、ある強度（目標仕様）のパーツを作りたいというようなことです。

このようなパラメーター調整をSPSS Modelerを使って行う方法を、3回シリーズで解説しています。
この記事はそのシリーズの②番目の記事です。

1. [複数のパラメーターから目標仕様を予測する](https://qiita.com/kawada2017/items/0269c3aefe2bbc3fefaf
)
1. **[複数の目標仕様を予測する](https://qiita.com/kawada2017/items/d5b1331a8ea392fb160e)**
1. [パラメーターをシミュレーションで生成](https://qiita.com/kawada2017/items/b5263da5d06806e8b2ca)


ここでは複数の目標仕様がある場合の対応方法を考えます。
例えば、シリコン量（パラメーター）と鉄量（パラメーター）を調整して、ある摩擦係数（目標仕様１）とある強度（目標仕様２）とあるコスト（目標仕様３）の３つの仕様を満たすのパーツを作りたいというようなことです。

このようなパラメーター調整をSPSS Modelerを使って行います。

## 実行動画（動画は、シリーズ①②③をすべてを解説しています。②は3分くらいからです）

<iframe width="560" height="315" src="https://www.youtube.com/embed/jvRTOs4GogE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

* テスト環境
    * Modeler 18.5
    * Windows 11 64bit

* サンプルストリーム

https://github.com/hkwd/spsssample/blob/master/230519surrogatemodel/surrogateModel.str

* サンプルデータ

https://raw.githubusercontent.com/hkwd/spsssample/master/230519surrogatemodel/CAEdata.csv

https://raw.githubusercontent.com/hkwd/spsssample/master/230519surrogatemodel/CAE%E5%80%99%E8%A3%9Cdata.csv

# 1.データの読み込み

まず、「CAEdata.csv」からCAEのシミュレーターでの結果を読み込みます。
「P1」から「P27」のパラメーターでシミュレーションを行った結果として「摩擦係数」や「強度」、「コスト」などの目標仕様がどうなったかという結果が記録されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/b08635bf-ddfd-f90c-3b43-0ab5d780b3f3.png)


# 2.目標仕様予測モデルの作成

ここでは「P1」から「P27」を説明変数にして「摩擦係数」だけではなく、「強度」、「コスト」のそれぞれ予測するモデルを作ってみます。
「データ型」ノードを接続し、「値を読み込み」をクリックして、「摩擦係数」のロールを「対象」、「P1」から「P27」のロールを「入力」にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/64d646e3-7f92-588f-8653-35184d9a8156.png)

「1次」のモデル作成ノードを接続し、右クリックで「実行」します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/528f9223-1ebe-5db5-9907-b4997dc0fd02.png)

同様にして、「強度」、「コスト」について「1次」のモデルを作っていきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/14f9e90c-433d-c95a-270f-ac8ba2327a7e.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/90503bba-e3f3-a6d2-47b4-4e21b8c03cb2.png)

以下のように3つのモデルが出来上がります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/d549ab8b-51e5-7878-fa41-9977e3488ac8.png)



# 3.目標仕様のスコアリング

出来上がった３つのモデルをつかってスコアリングをしてみます。「CAE候補data.csv」から３つのモデルナゲットに接続します。

「CAE候補data.csv」は、以下のように「P1」から「P27」のパラメーターのみが入ったデータです。このパラメーターでCAEのシミュレーションを行ったときに、目標仕様である「摩擦係数」「強度」、「コスト」がどのくらいになるかを予測できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/13d805da-cce3-131b-04f2-89f98efffd49.png)


モデルナゲットに「テーブル」ノードを接続して実行します。
以下のようにこのパラメーターのセットだと1.731の「摩擦係数」、0.061の「強度」、2234.213の「コスト」になることが予測できました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/f74191dd-fd8e-5bdd-d6be-a90aa950e5b0.png)

このように時間のかかるCAEシミュレーションを行わずに、複数の目標仕様を予測することができます。

# 参考
#### 2023春IBMソリューションタイム　SPSS Modelerでシミュレーションができるの？！―Modelerで行う最適パラメーター推定―
https://speakerdeck.com/jpspss/2023chun-ibmsoriyusiyontaimu-ri-ben-aibiemuzhu-shi-hui-she-he-tian-spss-modelerdesimiyuresiyongadekiruno-modelerdexing-uzui-shi-parametatui-ding?slide=6