2021.6.17. 統数研オープンハウス連携シンポジウム

1
資料枚数50枚

講演2：14:20～14:50

データサイエンスと品質管理～観測空間の異常を捉まえるには～(株)デンソー生産技術部

吉野 睦

デンソーのF-IoT
F-IoTの目指す姿（ダントツのF-IoT構想）

図表割愛

ファクトリーIoTは、着々と進行している2

F-IoTによって実現される品質管理• 工程が正常状態から逸脱し始めたことを検知し、是正を行うことによって、正常状態を維持すること。
• 工程ロスのゼロ化・・・カーボンニュートラルに貢献– 検知：製品個々にQRコードが印字され、全工程履歴が把握されているので、多次元空間で検出可。
– 是正：異常を検知したら、レイジー・ラーニングによる自律適応制御で工程条件を適正値に是正。
– 維持：異常・逸脱が抑制されているので、空間内部の状態変化(いつもと違う)を監視し対処。
Copyright （株）デンソー 吉野睦

3

F-IoTの進化

4

進化のステップ

人に例えるならIoTでは検出する上での特徴

異常検知(自覚症状あり)熱が出た。咳が出た。
これらから風邪のひきはじめを検知する。

何らかの異常値・変化を検知する。

正常空間から逸脱する裾野データ(低頻度側データ：アウトライア)を監視。

自律適応制御寝込まないように、総合感冒薬でも飲んで処置をする。

根本原因は取り除けないが、制御できるパラメータを調整して、特性値を是正する。

状態監視(自覚症状なし)

一見元気そうでも(自覚症状がなくても)、無理は禁物。健康管理は必要。

是正が入っているので、 正常である高頻度側低頻度側データ(異データを用いて監視す常値)は殆ど出現しな る。
い。どうするか。

源流改善

もしかすると、ガンかも 材料ロットなど根本原しれない。ガンであれ因を突き止め対策すば早期に取り除くべき。 る。

ここで『因果分析』が登場する。

今回は状態監視の視点で、裾野データに限らず検討する5

異常検知・状態監視とは空間の異常をどうやって見つけるかCopyright （株）デンソー 吉野睦多次元を監視することの重要性
ラットの肝重量と体重(芳賀ら(1989)「SASによる実験データの解析」東大出版会)
表7.1 ラットの肝重量と体重
肝重量mg

12457101224627

1342865

1403

1064

121473613259401384935

12768221168603

1313

897

2347

1074

2220806

22821013

22278932185798

223186123931162

23201060

2148741

2238947

1200
liver_weight

薬物投与 体重g

1000
800
600

control
treated

400
100

200

300

400500body_weight

単独項目では、２群に分かれていることは見抜けない
Copyright （株）デンソー 吉野睦

6古典的な解決策がヒントになる• 多変量分散分析 （E：群内変動，H：群間変動）
ウィルクのラムダ検定

I1 E   det  det1EH IE H i 1  i

ローリー・ホテリングの検定

V  tr E 1  H   i

i



ピライのトレース検定

i  tr E  H   H  i 1  i

ロイの最大根検定  1

1

最大固有値

Copyright （株）デンソー 吉野睦

7

ホテリングは何をやっているか
判別分析：E-1・H– 群内変動（合併分散）の逆行列を掛けた群間変動をみる。

判別関数

?
写像

判別関数＝0の線：識別境界

異常検知では、正常群の分散共分散の逆行列を掛ける

8さらに発展させたのが、T2-Q
従来の管理図（シューハート管理図）の概念

9T2-Q管理図の概念
T2-Q管理図は、系統誤差と偶然誤差を区別監視する項目は従来管理図と同じ

管理項目C
Ｔ２：動いたよ！
工程パターンの変化

工程平均からの逸脱を監視

安定空間

Ｑ：膨らんだよ！

この内部は安定外部は不安定工程ばらつきが増加，ある
いは突発不良（規格のかなり内側）

管理項目A

偶然ばらつきの大きさを監視

管理項目B

注意すべきは、多次元正規分布が前提で、その向きが変わらないこと
Copyright （株）デンソー 吉野睦計算式

10T2で系統的変動を見ている。z は主成分スコア。
計算式

T2T 21

1z1 
21z2   2

21

mzm

2pQ

Q   zk

2k  m 1•λ（固有値）などは、前もって安定空間から求めておく。
•境界となる m は固有値１以上となる主成分数とするなど、現在、明確な基準はなく種々試されている。
Copyright （株）デンソー 吉野睦厳密には･･･原理（何を見ているか）
Q
T2
Q
管理
図

最小固有値≒0、線形制約により超平面に乗っている

T2

データ空間

超平面＝良品成立条件
AN
ACO
N
D
A

良品成立条件からの逸脱偏相関を見ているのでRの固有値≒0の側、同じものを見ている

データ空間

11

メリット・デメリット•工程平均(重心)が動いている(T2)のか、良品成立条件からの逸脱(Q)なのかが、分離して分かる。
•個々のサンプルについて分かる。
•円盤の直径は基準化されているので、重心の動きしか分からない。
•円盤の直径の大きさは、高次元では球面集中しているためほぼ一定。
•個々のサンプルではなく、ある区間の群に関する異常度が分かる。
•逸脱原因が項目毎に分かる。
•相関係数行列(の逆行列)を見るために平均が引かれている。そのため、重心移動は検出できない。

Copyright （株）デンソー 吉野睦ANACONDAとは

12• IBMのANACONDAは、良品成立条件(線形制約＝超平面)からの逸脱を監視している。

グラフィカル・ラスー「相関破壊の検知」と呼ばれる• 弱点は、偏相関係数を使っているので、窓毎に重心は常に0となり、窓間の重心変化など超平面上の動きは検出できない。
そこが弱点である。

ピライは何をやっているか

13

主成分分析：(E+H)-1・H【元のデータ空間】【主成分空間】

x3③各データを1対1写像する（主成分得点）x1x2
大福餅のような形状→②第1主成分に直交して次に分散の大きい方向を第2主成分にする①最大分散方向を第1主成分とする基準化するので球になる

Copyright （株）デンソー 吉野睦

異常群が検出できる
本来のデータ空間

14

もし微妙に重なっていたら、散布図では見えない変化の大きい軸を取り出してみれば良い異種状態の混在

主成分得点のグラフなら「集団の構造」が分かる

このような、異種状態が混在していることがある発見することが可能

14外れ値が出なくても検知したい
本来のデータ空間

15

主軸の向きが変わったことを検知すれば良い主軸の向きの変化は「因子負荷量」で見る異種状態の混在だが、主成分分析は平均を引くので、検知できないケースがある。
主軸の変化なし

観測の起点を各重心でなく、外部に置けばよい
移動窓毎に起点を変えるのではなく、常に外部の定点に固定する

特異スペクトル変換法
主軸の向きの変化を「ユニタリ行列」で見る
Copyright （株）デンソー 吉野睦16

異常検知の実装
異常検知を実際の工程データで確認。

Copyright （株）デンソー 吉野睦異常検知とは=外れ値検出＋変化点検出
タスク

未来データ要否× 静的
リアルタイム
外れ値検出

変化点検出

異常検知

概要

17

主な手法

• データ点やデータ群が、教師や基• マハラノビスの汎距離準となる分布に対して、閾値や確 • 期待確率からの逸脱率範囲を越えて外れているか否か。
(QQplot)• 飛び値(デンソー用語)になっていな
いか＝ギャップ検出。

• 何らかの距離でクラスター分析し、GAP関数で判定○ 動的• 刃具交換などの系統的変動を加味して検出。Moving Window
で外れ値評価、多数決で判定。

○ 動的• 時系列データに変化が起きたか否か、また、それはどの時点か。出来れば、リアルタイムに知りたい。

••••

○ 動的

• 外れ値，変化点等の情報を元に今のデータの状態は、正常か異常か。どの程度か。を知りたい。

• SVT• EWMA管理図

各種フィルタSDAR
ChangeFinder
SST ・・・

管理図はリアルタイム、未来データは使用しない ⇔ 準リアルタイム

動的検出とはMoving Window

18• 窓を設定する。その中央時刻のデータについて評価する。
– 異常値は、窓内の変化(ベースライン)を差し引いて調べる。
– 変化点は、①全区間の時系列モデルから実データとのMSEを計算。
– ②前半と後半で、別々に時系列モデルを作り実データとのMSEを計算。
– 変化点では、①が最大になり、②が最小になる。
①640

②580

現時点の生産台数

Offline algorithms
準リアルタイム

評価点

020406080100120Index• 両者の差を評価点のスコアとして、窓をずらしながらプロット。
• 何を見ているか、– 前・後は、同一モデルに従っているか、違うモデルに従っているか。
– 違うモデルに従うと仮定した方がMSEが小さいのであれば「変化点」– 多項回帰(時間の関数)でも自己回帰でも良い。

データクリーニングの必要性

19• データの異常は色々ある。多次元ではそれらが混在している。
予知したい異常事例

異常ではない点

外れ値

変化点(刃具交換)

上側の集団外れ値(尾)慢性的な下側の外れ値

平均変動（変化点）

変化点を埋もれさす
大きなばらつき20

外れ値(アウトライア)検出
静的検出から動的検出まで

多次元アウトライアの検出方法

排他識別21

異常検知手法基準

監視している値

期待確率からの逸脱

外れ頻度

別群の混入

カーネル密度関数法〃

外れ値

１クラスSVM〃

外れ値

関連性からの逸脱（ANACONDATM）

KL情報量

超平面に乗っているかどうか

線形識別器遷移頻度状態遷移、または、負荷量ベクトル

種々のCクラス分類器

遷移頻度状態遷移（アノマリ型）
anomaly⇔normaly

相対識別（シグネチャ型）

複数の『識別手法』を併用して検出したい異常を発見する

22

カーネル密度関数法（多次元）
監視対象のデータ空間が『いびつ』で、等高楕円での境界設定が破綻する時はデータドリブンで境界を引き『外れ値』を監視

取り上げる事例

23600

800 1000

刃具交換は正常

diameter

400

xs$diameter• 下記は、連続生産中のマシンニングセンタのデータ。
• 加工品の直径，バイトのストローク。いずれも規格内。

500

1000

1500

500

1000

1500

250300stroke200

xs$stroke

35000300

stroke280270260y290

空間がいびつ等高楕円は適用不可

diameter

0 100300

空間密度をプロットしてみる

24500

550600

650

700

750

800

0100300

カーネル密度関数法で推定25• 図のようなヒストグラムにRBF（等方的に減衰するガウスの誤差関数）をフィットさせる。

一辺が50分割されている ⇒ 高次元だと膨大化

300

推定関数を用いて境界を線引き

290

正常時の95%範囲で線引き（約±2σ）

stroke

280

5e-05

260

0.0

4e-04

00
35

2700.00025

5%外れているときは正常

04

3e-2e-040.00015

250

1e-04

450

500

550

600

650

diameter

700

750

800

26

重み付き移動Pチャート
600

800

diameter

400

xs$diameter

1000

μm

0500

1000

1500

500

1000

1500

300

stroke200

250

xs$stroke

350μm

p-chart

是正処置を行なう
べきである

0.0

0.2

0.4

p2

0.6

0.8

1.000500

1000

1500

27

重み付き移動平均とは• EWMA（Exponetialy Weighted Moving Average）– 過去に指数減衰する重みを付けて、平均を算出する。

• 次の式で算出される。xtは0・1データでも不適合率でも良い。
– t=0のとき、Et＝λ・xt– t>1のとき、Et＝(1－λ)・E(t－1)＋λ・xt• λの値– λ＝0.05 にすれば、過去20点（と言うか、無限に減衰する指数曲線でその面積が20）に対する平均となる。

28

密度関数は、次数に限界あり• カーネル密度関数法のプログラム。ここに限界あり。
library("MASS")
dens <- kde2d(xs$diameter,xs$stroke,n=50)• 1辺を50分割してヒストグラム化。
– 2次元では、2500マス目– 3次元では、125000マス目– 4次元では、625万マス目（組合せ爆発！）– データは1800個だったので、2次元で精一杯。

• １クラスSVMが用いられるが、実装は手間がかかる。

29

30

外れ値・変化点を使わない 状態監視

各変数間の関連性からの逸脱
線形制約からの逸脱を監視する
空間の歪を監視する

31

期待確率からの逸脱監視
監視対象がQQプロットの信頼限界の外に出るロット全滅ではなく離れ小島出現• 「集団外れ値」が出始めるのを監視したい。
n＝1275

Histogram of x40
200Frequency

6080

この辺りが異常かどうかを判定したいが閾値は無い

101214x161832

ジョンソン変換にて正規分布へ【うれしさ】• 負値を含んでも可能• 3つの変換から一番フィットするものを自動選択
Type

変換式

SB

y <- g + e * log((x-p)/(l+p-x))SLy <- g + e * log((x-p)/l)SU

y <- g + e * asinh((x-p)/l)【弱点】• 少量データや量子化(飛び飛びの)データは、変換できない。
– jitter で僅かな誤差を加えて連続化する– データ増量は、ブートストラップ・オーバー・サンプリングなど

33

ジョンソン変換の能力-396-392

Data
SamplingAll
Data
jitteredDensity

0.00
0.00-400-534-396-530-526-392 -522

-534-534-536 -530

-532-528-526 -530-522

x.samplexxx.sample

All Data transformed

Sampling
Datatransformed
All Datatransformed

All Datatransformed
Sampling
Datatransformed

0y2mean =SB
0.01 , σ = 1.1-4-2-2 0 0y.sampley2mean =SL0 , σ = 0.99

4Density

DensityDensity
0.00.20.4
0.0 0.1 0.2 0.3 0.4

0.4
0.2
0.0-2Density
Density
0.0 0.1 0.2 0.3 0.40.00.20.4x

mean = 0.01 , σ = 1

Density

SamplingAll
Data
jitteredData

0.00
0.00-400

変換
後

SUDensity
Density0.100.20
0.10 0.20 0.30

0.100.00

変換
前Density

0.20

All Data

SL
DensityDensity0.10 0.20 0.30
0.10 0.20 0.30

SB34-3-4-2-2 -1 0 0yy.sample

21

42

3

正規確率プロットで判定

35

期
待確
率
からの逸脱を監視
す
れば
良い

36

分布の歪を使った異常検知
外れ値は期待確率からの逸脱監視で検出できる。
では、分布の中に『別物』が出現してくるときは監視が可能か。静的＋動的のあいのこ。

分布の内部で異常が発生！

37• 工程データの異常は、どこから始まっていますか?

外れ値は出ない！

全員が一般女性

徐々にモデルさんが混入

半数がモデルどのあたりで気づくことができるか?

データ分布にはこんな変化が！

38

4000

3500

3500

3000

3000

2500

1500

1000

1000

170

1500

160

2000

150

2000

150

2500

140

Iteration

4000

140

Iteration

一山だった分布が、二山に変化！

このようなケースでも･･･

39• 一般女性200人の身長を正常データとし（クリーニングあり）、• ファッションモデルの身長をランダムに混入させ、プロットを観察。
Mixed Data

140150160

170

140

160

170x2

Base Data transformed

Mixed Data transformed

mean = -0.01 , σ = 0.98

SL0.2

Density

0.4

x10.0

Density

150-3-2-10y1

123

50人混入すると明らかに分かる

0.0 0.1 0.2 0.3 0.4

教師データの正規分布へのJohnson変換の式を記憶する

これらが徐々に混入していく

0.00 0.02 0.04 0.06

Density

0.040.00

Density

0.08

Base Data-3-2-10y2123

期待確率からの逸脱を見ると

0人

10人

200人中10人の混入は、検出できなかったが・・・

40さらに混入が進むと

20人

30人

このあたりで警報を出す

１台生産の都度、窓を移動しながら連続監視すればよい

41

42

空間歪を使った異常検知
自律適応制御を導入すると、異常値は出なくなり、排他識別が効かない。
そのとき、多次元の空間異常をどう検出するか

マシニング・センタのデータ分布
diameterstroke1500

Iteration

1500

1000

800

700

600

500

500

500

1000

240250260
270280290300

Iteration43

空間情報を使わないと異常は発見できない。１次元じゃダメ。

方法• 直線ならぬ一様分布空間に写像して一様性を判定①ジョンソン変換（正規分布に）②正規直交系へ写像（相関の排除）③シグモイド関数で変換（一様分布に）

ディスクレパンシで一様性を判定(一様に変換した基準空間と比較)

44

270

280

290

300

0 100300• 前出のマシニング・センタの例

260

y一様分布空間へ写像

500

550

600

650700750

800

0100300

歪があると一様化しても濃淡が出るハズ

45

空間歪の時系列変化 事例• 前ページの密度を基準とし、それからの乖離度を測る。
• ディスクレパン
シでスカラー化46

600

800 1000

刃具交換は正常

diameter

400

xs$diameter

良く似た検出をしている

47

500

1000

1500

500

1000

1500

250

300

stroke200

xs$stroke350

00.00 0.05 0.10 0.15 0.20

m1 - m20

最初は正常過ぎて高い値が出ている。
別途処理が必要。

050

Discrepancy

100150

48まとめデータサイエンスと品質管理49• 品質管理の考え方は従来とは変わらない。
– 「アウトライアやアノマリ」「変化点」を機に起動する。
– 「検知」「是正」「維持」の活動である。

• 状態監視とは、自覚症状を用いない「健康診断」。
– 近年、「外れ値」「変化点」を用いない方法が出てきた。
– それらは「線形制約からの逸脱」「空間歪」を監視している。

• ビッグデータ化に対応して、データサイエンスが活用される。
– 「予期せぬ線形制約」に対して、正則化を用いる。
– 次元削減（Sufficient Dimension Reduction）をしてから状態監視に掛ける。DBSCAN，UMAP，SIRなど。

50

ご清聴ありがとうございました

Copyright （株）デンソー 吉野睦