線形判別関数Zの導出がわかる(2次元、平方和の分解)

判別分析_線形判別関数_平方和の分解

本記事のテーマ

線形判別関数Zの導出がわかる(2次元、平方和の分解)

おさえておきたいポイント

  • ①直線の式から線形判別関数\(Z\)を作る
  • ➁線形判別関数\(Z\)=0の意味を理解する
  • ➂線形判別関数の正負となる領域を理解する
  • ④線形判別関数\(Z\)を定義
  • ⑤線形判別関数\(Z\)の平方和を定義
  • ⑥線形判別関数\(Z\)の平方和を分解
  • ⑦線形判別関数の求め方

【QC検定®1級合格】多変量解析問題集を販売します!

QC検定®1級合格したい方、多変量解析をしっかり学びたい方におススメです。
【QC検定®合格】「多変量解析」問題集を販売します! 内容は、①回帰分析 単回帰分析・重回帰分析 の復習、➁ 主成分分析、➂判別分析、➃因子分析、➄数量化分析の5章全42題を演習できる問題集です。

判別分析は自分で解けます!
Excelや公式は暗記不要!
自力で導出できるぜ!
2次元でしっかり導出過程を理解しましょう。
QCの数学はどの単元でも
●データの構造式
●平方和の分解
が出て来ます。今回も出ます!

線形判別関数の第1歩ですが、丁寧に解説します! ここ大事なので!

①直線の式から線形判別関数\(Z\)を作る

2次元の直線の式で理解すればよい

線形判別関数って難しそう!
大丈夫!
線形⇒1次式、つまり直線
判別⇒直線の両側で何かを判別する
くらいでOKです。

直線もたくさん変数をつけたがりますが、最初は\(x,y\)の2つでOKです。\(x,y\)の1次関数が理解できれば、あとは変数を増やすだけ!中2の数学で理解できます!

直線の式から線形判別関数を作る

では、2次元の直線は
\(y=ax+b\)
ですよね!

これはみんな分かる!

で、ここから高校数学になるんですが、(両辺)の文字式を(左辺)に移項すると、
\(ax-y+b\)=0
と機械的に変形できますね。

この(右辺)を\(Z\)と置けば、線形判別関数ができます。
つまり、一般化して書くと
\(Z\)=\(ax+by+c\)
となりますね。

線形判別関数\(Z\)
から入るのではなく、中高で身に着けた直線の式
\(y=ax+b\)を片方の辺に持って行き、それを\(Z\)としたもの。
常に直線の式\(y=ax+b\)もセットで考えると
線形判別関数は理解しやすいです。
大学の教科書レベルでは
あまりに簡単なため、この説明は省かれます。
でも、こういう丁寧な導入がないと
線形判別関数は何者かが分からず
処理してしまうのです。

➁線形判別関数\(Z\)=0の意味を理解する

いきなり\(Z\)から入らず、
\(ax+by+c\)=0 、0=\(Z\)の2つの式を入れましょう。
分かる人には簡単だけど、最初はこの式のイメージはとても大事! QCプラネッツ自身ここから理解を深めていっています!最初が肝心! 超丁寧でも恥ずかしくない!

\(ax+by+c\)=0は高2の数学レベルなので、大丈夫と思いますが、図にしましょう。
\(ax+by+c\)=0は直線そのものでしたよね!

線形判別関数

➂線形判別関数の正負となる領域を理解する

正負から領域を求める(高2数学レベル)

いきなり、\(Z\)=\(ax+by+c\)の正負から入らず、
\(ax+by+c\)の正負を考えましょう。あとで、\(Z\)を持ってきましょう。

\(ax+by+c\) > 0 の領域
\(ax+by+c\) < 0 の領域
図示しましょう。これは高2の数学レベルです。さっと行けますか?

図のようになりますよね。

線形判別関数

実際は、定数\(a,b,c\)の正負によって、直線は変わりますが、1例として上図のようになります。

線形判別関数の正負となる領域を理解する

\(ax+by+c\)をグラフに図示してから
\(Z\)=\(ax+by+c\)が正負、0になる領域を考えればOKですね。

線形判別関数

ここまで理解できれば、あとは、線形判別関数の式をどんどん解いていけばOKです。

変数がn個に拡張しても考え方は同じ

2変数の例が理解できれば、あとは、式の項を増やすだけですし、
図のイメージは2変数の場合と同じでOKです。

例えば、下図のように図示して判別すればOKです。

線形判別関数

線形判別関数の図示のイメージを解説しました。
中2、高2数学レベルで十分理解できますが、
当たり前として、このイメージを知らずに
いきなり線形判別関数に入ると後でわからなくなります。
最初は簡単すぎても、ベースとなるところなので、
丁寧に解説しました。最初が肝心ですよね!

④線形判別関数\(Z\)を定義

判別分析とは

簡単にいうと

データ群をある基準(直線)でスパッと切って、どちらの領域か?を判別する方法

なので、スパッと切る線が必要なため、線形判別関数を使ったり、
分散を考慮したマハラビノス距離を使った判別をします。

今回は線形判別関数を扱います。

線形判別関数とは

データ群をスパッと切る線です。①②③で解説した内容を思い出しましょう。

直線の式
\(y=ax+b\)が出発点で、
\(0=ax-y+b\)として

\(Z=ax-y+b\)と置いて、ちょっと変形すると
\(Z\)=\(ax+by+c\)
になります。

線形判別関数

\(Z\)=\(ax+by+c\)は直線の式でイメージして
●\(Z\)=0なら直線上
●\(Z\) ≠0(正負両方)なら領域
を表現しますね!

高2の数学「領域」がベースでしたね。

⑤線形判別関数\(Z\)の平方和を定義

\(x,y\)軸の2次元平面ですが、\(Z\)を定義したので\(Z\)軸を用意します。

線形判別関数

上図のように、直線と交わる点が\(Z\)=0でその両側はそれぞれ正負をとります。
あるデータ(\(x_i,y_i\))から\(Z\)軸に垂線を下した足を\(Z_i\)と定義します。

この\(Z_i\)を使って平方和を考えます。

次に下図のようにデータの平均値を定義します。
●\(\bar{Z}\) : データ全体の平均
●\(\bar{Z_1}\) : データ1群の平均
●\(\bar{Z_2}\) : データ2群の平均
データ1群とデータ2群は赤線の線形判別式で区切られているとします。

線形判別関数

⑥線形判別関数\(Z\)の平方和を分解

平方和を定義

まず\(Z_i\)の平方和を定義すると、機械的に
●\(S\)=\(\sum_{i=1}^{n}(Z_i-\bar{Z})^2\)
となりますね。

ここで、1群のデータ数を(m\)個、2群のデータ数を\(n-m\)
(\(n\) > \(m\))
と置くと、平方和\(S\)は

●\(S\)=\(\sum_{i=1}^{n}(Z_i-\bar{Z})^2\)
=\(\sum_{i=1}^{m}(Z_i-\bar{Z})^2\)+\(\sum_{i=m+1}^{n}(Z_i-\bar{Z})^2\)
と分けることができますね。

平方和を分解

群内変動と群間変動に平方和を分解は
●管理図
●抜取検査
●実験計画法
●多変量解析

とたくさん出てきます。
QCの数学では、平方和の分解は一番重要なところなんです!

各群の平均を
●\(\bar{Z_1}\) : データ1群の平均
●\(\bar{Z_2}\) : データ2群の平均
と定義しましたから、平方和の式を
\(Z_i-\bar{Z}\)=\((Z_i-\bar{Z_1})+(\bar{Z_1}-\bar{Z})\)
\(Z_i-\bar{Z}\)=\((Z_i-\bar{Z_2})+(\bar{Z_2}-\bar{Z})\)
と変形して、2乗和を展開します。

2乗和を展開

平方和Sは
\(S\)=\(\sum_{i=1}^{n}(Z_i-\bar{Z})^2\)
=\(\sum_{i=1}^{m}((Z_i-\bar{Z_1})+(\bar{Z_1}-\bar{Z}))^2\)
+\(\sum_{i=m+1}^{m}((Z_i-\bar{Z_2})+(\bar{Z_2}-\bar{Z}))^2\)
=(式1)

2乗和を展開します。
(式1)
=\(\sum_{i=1}^{m}(Z_i-\bar{Z_1})^2\) ⇒(1-1項)
+\(\sum_{i=1}^{m}(Z_i-\bar{Z_1})(\bar{Z_1}-\bar{Z})\)⇒ (1-2項)
+\(\sum_{i=1}^{m}(\bar{Z_1}-\bar{Z})^2\)⇒(1-3項)

+\(\sum_{i=m+1}^{n}(Z_i-\bar{Z_2})^2\)⇒(2-1項)
+\(\sum_{i=m+1}^{n}(Z_i-\bar{Z_2})(\bar{Z_2}-\bar{Z})\)⇒(2-2項)
+\(\sum_{i=m+1}^{n}(\bar{Z_2}-\bar{Z})^2\)(2-3項)
=(式2)

6つの項に分かれますが、タイプが3つあり、
●(1-1項)と(2-1項)は同じタイプ
●(1-2項)と(2-2項)は同じタイプ
●(1-3項)と(2-3項)は同じタイプ
です。

平方和を整理

(式2)は3つのタイプに分かれるので、それぞれ整理しましょう。

(1-1項)と(2-1項)のタイプ

実はこのタイプはこれ以上、式はいじりません。

(1-2項)と(2-2項)のタイプ

実はこのタイプは計算すると、0になります。

(1-2項)=\(\sum_{i=1}^{m}(Z_i-\bar{Z_1})(\bar{Z_1}-\bar{Z})\)
=\(((Z_1-\bar{Z_1})+(Z_2-\bar{Z_1})+…+(Z_m-\bar{Z_1})(\bar{Z_1}-\bar{Z}))\)
=\(((Z_1+Z_2+…+Z_m-m\bar{Z_1})(\bar{Z_1}-\bar{Z})\)
で、
\(Z_1+Z_2+…+Z_m\)=\(m\bar{Z_1}\)なので、
=0×\((\bar{Z_1}-\bar{Z})\)
=0

同様に、
(2-2項) =\(\sum_{i=m+1}^{n}(Z_i-\bar{Z_2})(\bar{Z_2}-\bar{Z})\)
=\(((Z_{m+1}-\bar{Z_2})+(Z_{m+2}-\bar{Z_2})+…+(Z_n-\bar{Z_2})(\bar{Z_2}-\bar{Z}))\)
=\(((Z_{m+1}+Z_{m+2}+…+Z_n-(n-m)\bar{Z_2})(\bar{Z_2}-\bar{Z})\)
で、
\(Z_{m+1}+Z_{m+2}+…+Z_n\)=\((n-m)\bar{Z_2}\)なので、
=0×\((\bar{Z_2}-\bar{Z})\)
=0

(1-3項)と(2-3項)のタイプ

整理しましょう。

(1-3項)= \(\sum_{i=1}^{m}(\bar{Z_1}-\bar{Z})^2\)
\((\bar{Z_1}-\bar{Z})\)は\(i\)に関係ない定数なので∑の外に出せます。
= \((\bar{Z_1}-\bar{Z})^2 \sum_{i=1}^{m}1\)
=\(m(\bar{Z_1}-\bar{Z})^2\)

同様に
(2-3項)= \(\sum_{i=m+1}^{n}(\bar{Z_2}-\bar{Z})^2\)
\((\bar{Z_2}-\bar{Z})\)は\(i\)に関係ない定数なので∑の外に出せます。
= \((\bar{Z_2}-\bar{Z})^2 \sum_{i=m+1}^{n}1\)
=\((n-m)(\bar{Z_2}-\bar{Z})^2\)

よって、平方和\(S\)をまとめると、
\(S\)=
(式1)
=\(\sum_{i=1}^{m}(Z_i-\bar{Z_1})^2\) ⇒(1-1項)
+\(m(\bar{Z_1}-\bar{Z})^2\)⇒(1-3)項

+\(\sum_{i=m+1}^{n}(Z_i-\bar{Z_2})^2\)⇒(2-1項)
+\((n-m)(\bar{Z_2}-\bar{Z})^2\)⇒(2-3項)
=(式3)
まで整理できます。

群内変動と群間変動に平方和を分解

(式3)をよく見ると、
(1-1項)=\(\sum_{i=1}^{m}(Z_i-\bar{Z_1})^2\)と
(2-1項)=\(\sum_{i=m+1}^{n}(Z_i-\bar{Z_2})^2\)は
グループ内の変動でまとめられるので、
群内変動の平方和\(S_W\)と定義します。
\(S_W\)=\(\sum_{i=1}^{m}(Z_i-\bar{Z_1})^2\)+\(\sum_{i=m+1}^{n}(Z_i-\bar{Z_2})^2\)

さらに、
(1-3)項=\(m(\bar{Z_1}-\bar{Z})^2\)と
(2-3)項=\((n-m)(\bar{Z_2}-\bar{Z})^2\)は
グループ間の変動でまとめられるので、
群間変動の平方和\(S_B\)と定義します。
\(S_B\)=\(m(\bar{Z_1}-\bar{Z})^2\)+\((n-m)(\bar{Z_2}-\bar{Z})^2\)

つまり全平方和\(S\)は
\(S\)=\(S_W\)+\(S_B\)
と分解できます。

⑦線形判別関数の求め方

判別関数を求める条件

下図を再掲しますが、2つに区分したい場合、どこに線引きするのがもっともらしいか?気になりますよね。

線形判別関数

2つの解法がある

よくあるのが、とにかく微分=0ですね。
主に2つの方法があります。

  1. 相関比が最大になる条件を計算
  2. ラグランジュの未定乗数を使って計算

ここからの導出方法は実際にデータを扱いながら解説しますので、次の記事に進みましょう。

本記事では、線形判別関数を導出するベースとなる
平方和の分解を主に解説しました。

まとめ

「線形判別関数Zの導出がわかる(2次元、平方和の分解)」を解説しました。

  • ①直線の式から線形判別関数\(Z\)を作る
  • ➁線形判別関数\(Z\)=0の意味を理解する
  • ➂線形判別関数の正負となる領域を理解する
  • ④線形判別関数\(Z\)を定義
  • ⑤線形判別関数\(Z\)の平方和を定義
  • ⑥線形判別関数\(Z\)の平方和を分解
  • ⑦線形判別関数の求め方

error: Content is protected !!