各行の平均との差を求める(SPSS Modeler データ加工逆引き3-3)

# 各行の平均との差を作成（偏差）

![スクリーンショット 2022-06-22 10.10.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/667e25de-84b5-a472-8493-41732cca56ad.png)

## 1.想定される利用目的

・集計表の作成
・異常検知や故障予測のための特徴量の作成


## 2.サンプルストリームのダウンロード

https://github.com/yoichiro0903n/blue/blob/main/deviation.str?raw=true

## 3.サンプルストリームの説明

![スクリーンショット 2022-06-22 9.29.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/1e66127f-7026-fe1e-056f-170094548aab.png)

a.入力するデータは以下の通りです。
![スクリーンショット 2022-06-22 9.32.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/161c443a-c324-983e-fda4-7aeac41c3fc6.png)

b.[レコード集計]ノードを編集します。[キーフィールド]をブランクにすると全レコード（行）を要約します。[集計フィールド]に[実績]を選択して[平均]にチェックを入れています。[フィールドにレコード集計を含める]にはチェック不要です。
![スクリーンショット 2022-06-22 9.32.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/8a2b50cc-a530-dcd3-c310-f27d2cc4863b.png)

[プレビュー]をします。実績の平均を意味する[実績_Mean]のみ1レコードできています。
![スクリーンショット 2022-06-22 9.41.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/0ed2e849-368b-7f05-53cb-b7a0c5b028ae.png)

c.[レコード結合]で元のテーブルの7行全てに[実績_Mean]を追加します。[レコード結合方法]を[キー]にしますが、[キー]をブランクにすることでテーブル通しをN対N（総当たり）で結合します。
![スクリーンショット 2022-06-22 9.32.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/fada1ece-46c0-827c-8916-647a3f8b22fe.png)

[プレビュー]をします。全てのレコードに全体の平均列が追加されました。
![スクリーンショット 2022-06-22 9.46.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/2679b912-1359-cc10-4905-b26372ca01a9.png)

d.あとは[フィールド作成]で差分を取れば完成です。
![スクリーンショット 2022-06-22 9.33.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/176036a1-db06-4af2-72c9-ef9b2602363c.png)

[テーブル]を実行します。
![スクリーンショット 2022-06-22 9.37.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/3dd71653-3542-e004-a4c5-d43fee2dfd9c.png)

#### グローバルノードを利用した方法

e.[グローバルの設定]ノードで統計量をあらかじめメモリーにキャッシュできます。
![スクリーンショット 2022-06-22 9.33.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/d5714ea8-eee9-b54e-b5ce-ef2fd5aa543d.png)

[実行]するとメモリー上のグローバル値（ここでは平均）をプレビューします。
![スクリーンショット 2022-06-22 9.34.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/e9c6b784-e410-d487-7d71-c7f6128e1250.png)

f.[フィールド作成]ノードを編集します。メモリー上のグローバル値を関数で呼び出します。
![スクリーンショット 2022-06-22 9.34.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/c16470c5-a4eb-1307-dc0f-97b8c911c532.png)

式ビルダーの@&#xFFF0;グローバル（赤枠）を利用すると簡単に入力できます。
![スクリーンショット 2022-06-22 9.35.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/56d6d309-ab7c-802d-b2b3-3b176071572a.png)

[テーブル]を実行します。偏差の列ができています。
![スクリーンショット 2022-06-22 9.36.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/8fd7de27-1d35-5c83-184a-8c9e2153d611.png)

#### 注意事項

#### N対N結合についての留意点について触れている記事

https://www.ibm.com/blogs/solutions/jp-ja/spssmodeler-push-node-13/


#### グローバルの設定の注意点

https://qiita.com/416nishimaki/items/c2df811b51166f6d6173#%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%90%E3%83%AB%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%83%8E%E3%83%BC%E3%83%89%E3%81%AE%E6%B3%A8%E6%84%8F%E7%82%B9

## 4.参考情報

#### [レコード結合]の解説記事

https://qiita.com/416nishimaki/items/be61a82c12cd83558def

#### [グローバルの設定]の解説記事

https://www.ibm.com/blogs/solutions/jp-ja/spssmodeler-push-node-12/

#### SPSS Modeler ノードリファレンス目次

https://qiita.com/416nishimaki/private/503037195081d3323eee

#### SPSS Modeler 逆引きストリーム集（データ加工）

https://qiita.com/416nishimaki/private/4bf813e6cba84b2a1008