重回帰分析
こんにちわ、DATUM STUDIOの小幡です。 今回は「重回帰分析」についてお話します。 「重回帰回帰」は「線形回帰分析」でお話した内容を少しだけ発展させたものです。
重回帰分析とは
重回帰分析についてお話する前に、線形回帰分析について復習しましょう。前回は回帰分析のもっとも単純な\(Y=AX+B\)の場合を説明しました。このようなひとつのXに対してYを説明するような回帰分析を単回帰分析といいます。 前回の説明の際は、パラメータA,Bの推定方法について説明しましが、今回はYとXについて着目して見ましょう。 Yは説明変数、Xは目的変数を表しています。具体的な例で説明すると、ECサイトの「Y:売り上げ」、「X:ユーザー数」などです。この例では、線形回帰分析によって「ECサイトの売り上げをユーザー数から予測している」ということになります。しかし、よく考えて見れば「売り上げ」を「ユーザー数」だけで説明するのは無理があります。なぜなら、実際のECサイトには「ユーザーの購入単価」、「ユーザー数」、「コンバージョン率」、「購入数量」など様々な要因があるからです。「ユーザー数」だけではなくもっと色々な要因を考慮して、売り上げを予測すべきですね。 重回帰分析は、単回帰分析のようにひとつの変数のみではなく、複数(n個)の説明変数から1つの目的変数を推定することできます。 数式で表すと \[Y=B_0+B_1X_1 + B_2 X_2 \cdots B_n X_n\]となります。\(B_0, B_1\)などは線形回帰と同様にパラメータを表しています。 上記の例でいえば、「売り上げをユーザーの購入単価、ユーザー数、コンバージョン率、購入数量から予測する」のが重回帰分析、ということになります。 重回帰分析も線形回帰分析と同様に、最小二乗法によってパラメータの推定を行います。 ここまでの説明ですと線形回帰分析とあまり違いがないように思えます。ですが、重回帰分析を適用する際に注意すべきことが何点かあります。そのひとつが「多重共線性」です。
多重共線性
多重共線性は英語でmulticollinearityなので、マルチコと呼ばれることも多いです。多重共線性を端的に言い表せば、「相関が強い説明変数があるために、モデルの信頼性が低くなってしまっている状態」です。 例えば、以下のようにサイトの売り上げを推定しようとしましょう。 \[売り上げ = B_0 \timesユーザー数 + B_1\timesユーザーの平均購入単価 + B_2\timesユーザーの平均購入数量 + B_3\times ページAの合計閲覧数 B_4 \times ページAの合計滞在時間\] ここでは、「ページAの合計閲覧数」「ページAの合計滞在時間」が強く関係しているような気がします。ページがよく見られていれば、合計の滞在時間が長くなるのは当然だからです。そのため、「多重共線性」に起きてしまう可能性があります。 下記のように、ページAの合計滞在時間を説明変数から除外するなどの工夫が必要です。 \[売り上げ = B_0 \timesユーザー数 + B_1\timesユーザーの平均購入単価 + B_2\timesユーザーの平均購入数量 + B_3\times ページAの合計閲覧数\] 実際には、重回帰分析の後にモデルの信頼性を確認したり、分析前に説明変数間の相関を確認するなど、地道な作業が必要になります。複数の説明変数を適用できる重回帰分析だからと言って、むやみに変数を追加すればモデルの信頼性を低下させることになりますので、注意しましょう。
まとめ
重回帰分析と線形回帰とを比較して次の表にまとめます。
手法 | 数式 | 説明 |
---|---|---|
単回帰分析 | \(Y=AX+B\) | 目的変数Yをひとつの説明変数Xで推定 |
重回帰分析 | \(Y = B_0 + B_1X_2 + B_2X_2 \cdots B_nX_n\) | 目的変数Yをn個の説明変数\(X_1, X_2 \cdots X_n\)で推定 |
もちろん、多重共線性には注意が必要です。 以上、「重回帰分析」についてのお話させていただきました。 次回からもブログ更新していきますので、ご注目を!
DATUM STUDIOでは様々なAI/機械学習のプロジェクトを行っております。
詳細につきましてはこちら
詳細/サービスについてのお問い合わせはこちら
DATUM STUDIOは、クライアントの事業成長と経営課題解決を最適な形でサポートする、データ・ビジネスパートナーです。
データ分析の分野でお客様に最適なソリューションをご提供します。まずはご相談ください。
Contact
Explore Jobs
関連記事