交差検証法(1)~文系のためのデータサイエンス入門

(良いモデルとは予測精度の高いモデルではありません)

 

交差検証法の考え方を説明します。

 

1)重回帰分析

 

モデルを目的変数をy、説明変数をxとします。

 

xが原因で、yが結果と考えても構いません。

 

次の式は、xが原因で、yが結果のモデルです。

 

y=f(x)

 

f(x)の一番簡単なモデルは、線形回帰式です。

 

y=a * x + b 

 

ここで、*はかけるの意味です。変数xと混乱しないように、星を使います。

 

原因がx1、x2の2つある場合には、次式になります。

 

y= a1 * x1 + a2 * x2 + b

 

モデルによる予測値と実測値は一致しませんので、yの実測値と、予測値は分ける必要があります。

 

予測値をyeと書き、実測値をyで書けば、次になります。

 

ye= a1 * x1 + a2 * x2 + b   (1)

 

ここで、モデルを作る時に、データの数が問題になります。

 

いま、xy平面に、2点(x(1),y(1))、(x(2)、y(2))があったとします。

 

ye=a * x + b (2)

 

は平面上の直線を表す式ですから、2点(x(1),y(1))、(x(2)、y(2))を通るように、a、bを求めることができます。

 

つまり、データが2点の場合には、(2)式を使えば、y=yeになります。

 

データが、3点の場合には、(2)式では、y=yeにはなりませんが、(1)式を使えば、y=yeにできます。

 

一般に、データがn点の場合には、xの数をx1、.....、xn-1とn-1個まで増やせば、y=yeとなり、全ての点を通式を作ることができます。

 

簡単に言えば、説明変数の数を増やせば、モデルの推定値と実測値は、いくらでも近づけることが可能になります。

 

良いモデルとは予測精度の高いモデルであると考えている人がいた場合、その考えは間違っていますので考え直す必要があります。

 

なぜならは、実測データは、真の値に、観測などに伴う誤差が付着したものだからです。



実測値 = 真の値 + 誤差

 

データサイエンスの最大の発見は、起こっていることは真実ではないと考えるべきだということにあります。

 

これは、人間の直感とは相いれませんので、トレーニングして修正する必要があります。

 

迷った場合に、役に立つのはサイコロの例です。

 

例えば、サイコロを振って1の目が出た場合に、データサイエンスでは、どうして1の目が出たのかというモデルは作れないと考えます。

 

真実は、1の目が出る確率は6分の1であるということで、次に、出る目の確率は予測できますが、目は予測できません。

 

このように、データサイエンスでは、人間の直感とは異なった世界を見ていることになります。

 

「良いモデルとは予測精度の高いモデルではない」としたら問題をどう考えるべきでしょうか。

 

次回にこの問題について、歴史を振り返ります。