タグ別アーカイブ: Linear Model

線形回帰

データ分析者にとっては当たり前以前のモデルではありますが、Azure Machine Learningなどによってはじめて、機械学習に興味を持った諸氏もおられると思いますので、ざくっと。

線形回帰は目的変数Yと説明変数X_n及びランダム項\epsilonを以下のモデル式で表現します。
Y=\beta _0 + \beta _1 X_1+\beta _2 X_2+ \cdots \beta _n X_n + \epsilon

線形回帰のメリットは回帰係数 \betaという形で、各説明変数の目的変数への影響がわかりやすいため、解釈しやすく実ビジネスに適用しやすいことです。逆に言えば、その解釈の容易性ゆえに実ビジネスの複雑な動きはきちんと表現されえないことも多いということでもあります。解釈の容易性とモデルの当たり具合はトレードオフの関係にあり、精緻なモデルほど式の複雑さゆえに解釈しずらくなることが多いです。

さて、線形回帰を解くということは、この各回帰係数 \betaを求めるということです。そして、その上でランダム項であるランダム項\epsilonが小さくなるようにするということです。Azure Machine LearningのLinear Regressionはこれらを求める機能が入っています。数学的にこれらを求める手法は割愛します。実ビジネスの環境下では解釈の容易性ゆえに、この系譜である一般化線形回帰、ロジスティック回帰という形で最も登場頻度の多い分析手法の一つであるといえます。

Linear Modeling on Azure Machine Learning

Azure Machine Learningで線形モデリングをしてみました。今回は米国の犯罪統計を用いて人口と暴力犯罪の関係をモデリングしてみます。データとして用いたのは以下のようなものです。

bandicam 2015-02-23 02-07-37-285Azure Machine Learningでは以下のようなモデルになります。

bandicam 2015-02-23 02-07-23-978

データをProjection Columnで射影して必要な列を抽出し、Train ModelでLinear Regressionを学習させるというとても簡単な形です。

実行結果は以下のようになります。

bandicam 2015-02-23 02-08-29-064

見ての通り、とんでもなく簡単です。