製造業のデータ活用:グラフで理解する機械学習(1)~重回帰分析~

ビジネスディベロップメント事業本部 間宮

はじめに

今回より「グラフで理解する機械学習」シリーズを開始します。数式の理解からスタートすると挫折しがちな機械学習について、グラフから直観的に理解することを目標としています。

初回は重回帰分析です。

機械学習にて回帰モデルを作る場合、まずは予測値の精度が重視されますが、製造業での活用では、現象の理解や要因分析のために、偏回帰係数や標準化偏回帰係数と呼ばれる回帰係数の精度も求められます。

重回帰分析を使う場合、その回帰係数は、説明変数間の相関係数が高いことに起因する多重共線性が発生した場合や、サンプル数が少ない場合に不安定になることが知られています。しかしながら...

(1)どのくらいの相関係数から多重共線性は発生するのか?

(2)サンプル数はどのくらい必要なのか?

(3)他の機械学習手法ではどうなるのか?

については直観的には理解しにくいと思います。そこでサンプルデータにて実験を行ってみることにします。

サンプルデータと実験方法

実験用のサンプルデータは下記の要領で作成しました。多重共線性の影響を見るために、説明変数X6とX7は意図的に相関関係が生じるようにしています。相関係数の大きさを段階的に変化させるために、std_valueとして誤差の大きさを実験パラメータの1つとしています。もう1つの実験パラメータはサンプル数です。これらの実験パラメータの組み合わせについて50回の試行を行い、回帰係数のバラツキがどうなるかを調べました。

mi19-0409-1.jpg

理想的な結果

まずは理想的な結果です。サンプル数が多く、多重共線性がない場合(X6とX7の相関係数が小さい場合)です。右側の棒グラフではSetting(灰色)が設定値で、Coef(青色)が回帰係数(偏回帰係数)を示していますが、回帰係数は実験データを作った時の設定値(1,-2,3,-4,5,6,7)と殆ど一致します。

mi19-0409-2.jpg

偏回帰係数にバラツキが発生する3つのケース

下の3つのグラフは、回帰係数にバラツキが発生する3つのケースです。もっともバラツキが大きいのは、サンプル数が少なく、多重共線性が発生しているケースのようです。

mi19-0409-3.jpg

mi19-0409-4.jpg

mi19-0409-5.jpg

回帰係数のバラツキ(ヒストグラムによる分布確認)

上記では3つのケースを特定の条件でピンポイントに比較しましたが、ここでは説明変数X7について、50回の試行によるバラツキをヒストグラムで表現してみました。回帰係数はこれまで偏回帰係数を使っていましたが、より比較しやすいように、標準化偏回帰係数にしています。(標準化偏回帰係数は、目的変数、説明変数ともにデータの標準化を行った後に求めた回帰係数です)

結果は予想したように、多重共線性が起きればバラツキが大きくなり、サンプル数が少なくなればさらにバラツキが大きくなる、というものでした。

ここで注意が必要なのは、バラツキが最大となるケースでは、プラスであるはずの回帰係数がマイナスにもなるということです。回帰係数を使って現象の理解や要因分析を行う場合、現実の要因や影響度から反対の結果を導くことになります。これが重回帰分析で多重共線性が発生した場合の最大の課題です。

mi19-0409-6.jpg

回帰係数のバラツキ(集計結果)

最後に回帰係数のバラツキの度合いを標準偏差として集計し、実験の条件によってどのように変わるかを見てみることにします。下のグラフはX軸がX6とX7の相関係数で、実験でパラメータとしたstd_valueとサンプル数を変化させることによって得られた結果です。

Y軸は各実験条件の回帰係数(標準化偏回帰係数)のバラツキを示す標準偏差です。右上がりの折れ線グラフになっているのは、相関係数が高くなるにつれて、多重共線性によってバラツキが大きくなっていく様子を示しています。さらにサンプル数によってグラフを分割しているので、サンプル数が多くなるにつれて、全体のバラツキが小さくなっていく様子が確認できると思います。

mi19-0409-7.jpg

さらに下のグラフは、グラフのY軸を個々に設定した場合です。これにより各サンプルにおいて多重共線性がいつ発生したのか分かりやすくなりました。相関係数0.8のところに破線を書いてみましたが、ここから急激にバラツキが増える(多重共線性の影響が大きくなる)ことが確認できました。

mi19-0409-8.jpg

まとめ

いかがだったでしょうか? 直観的な理解に役立てることはできたでしょうか?

重回帰分析は多重共線性やサンプル数による回帰係数の不安定さから最近では他の機械学習手法に置き換わりつつあります。どのように改善されていくのでしょうか? 次回から他の手法と比較します。

prog-detection2019-5.png

  • LINE
  • Mail