本サイトでは様々なテーマを、「統計解析と機械学習の違い」という切り口で説明しています。しかし何が統計解析であり、何が機械学習であるというのは、じつのところ明確な答えのあるものではありません。あくまで「本サイトではこのように考えている」という、本サイトのまえがきや凡例に近いものとしてご理解ください。
$ \mathbf{y} = \beta_0 + \beta_1 \mathbf{x} + \epsilon $という線形(単)回帰モデルを考えたとします。
ここで、$ \beta_0 $は定数項、$ \beta_1 $は回帰係数、$ \epsilon $は誤差です。$ \beta_0 $と$ \beta_1 $が決まれば、$ \mathbf{x} $から$ \mathbf{y} $を予測することができそうです。[1]予測するときには、誤差$ \epsilon = 0 $と考えます。
さて、この線形単回帰モデルは統計解析のモデルでしょうか、それとも機械学習のモデルでしょうか?
機械学習をすこし知っている人であれば、機械学習といえばランダムフォレストや勾配ブースティング木、あるいはニューラルネットワークモデルといったものをイメージする方が多いかもしれません。では線形回帰モデルは機械学習のモデルではないのでしょうか?
管理人はこう考えます。統計解析か機械学習かは、モデルの種類によって決まるものではなく、それを使う姿勢によって決まる、と。
「機械学習」という名前の通り、$ \mathbf{x} $から$ \mathbf{y} $を予測するモデルを機械的に学習するのが、機械学習です。そのとき重視されるのは、予測精度を表す評価指標です。
対して、統計解析が重視するのはプロセスであり、説明性です。ここでいう「説明性」には、ふたつの意味があります。
まず、$ \mathbf{x} $が$ \mathbf{y} $を説明しているということです。そのため、統計解析では$ \mathbf{x} $を説明変数、$ \mathbf{y} $を目的変数あるいは被説明変数と呼びます[2]機械学習では、$ \mathbf{x} $を特徴量、$ \mathbf{y} $を教師と呼ぶことが多いです。。線形回帰モデルであれば、$ \mathbf{x} $が1大きくなれば、$ \mathbf{y} $が$ \beta_1 $大きくなるという関係性を説明することができます。多少複雑なモデルであっても、統計学の知識さえあれば、それを理解して説明することが可能です。しかし統計解析では、むやみに複雑なモデルを作るということもしません。ドメイン知識をもとに層別を行い、よりシンプルなモデル作成を志向します。線形単回帰モデルで説明、予測できるのであれば、それがベストという考え方です。
「説明性」のもうひとつの意味は、どのように考えてそのモデルを作ったか、つまりモデルを作るプロセスを説明できるということです。単純に、各種の評価指標がもっともよいモデルを選択するわけではありません。ドメイン知識をもとに総合的な判断を行います。たとえ評価指標がよくても、ドメイン知識に合致しないモデルは選択しません。
最初の問いに戻りますが、線形回帰モデルであっても、$ \mathbf{x} $から$ \mathbf{y} $を予測するという目的のためだけに、ある評価指標をもとに機械的にモデルを決める(学習する)のであれば、機械学習モデルとしての使い方といえるでしょう。
統計解析では、予測するだけではなく、説明するという目的があります。それらをすべて含めて、「分析(解析)」と呼んでいます。したがって、線形回帰モデルを使って分析を行うことを、線形回帰分析と呼びます。
項目 | 統計解析 | 機械学習 |
---|---|---|
重視するもの | プロセス(説明性) | 結果(評価指標) |
統計学の知識 | 必須 | 必須ではない |
ドメイン知識 | 必須 | 必須ではない |
モデルの可読性 | 高い (ホワイトボックス型) |
低い (ブラックボックス型) |
主なユーザー | データアナリスト データサイエンティスト |
機械学習エンジニア データサイエンティスト |
統計解析がプロセスを重視しているというと、予測精度を軽視しているように聞こえるかもしれませんが、けっしてそうではありません。目に見える「評価指標」からのみモデルを選択するより、ドメイン知識をもとに(よりシンプルな)モデルを選択する方が、未知のデータへのあてはまりがよいという、合理的な判断がそこにはあります。
データサイズが十分大きければ、$ \mathbf{x} $から$ \mathbf{y} $を予測するという目的(タスク)において、機械学習のアプローチは大変有効です。