線形回帰とは、回帰分析の一種であり、独立変数と従属変数の間に線形の関係があると仮定して、その関係を求める手法です。線形回帰は、統計学、機械学習、経済学、社会科学などの分野で広く使用されています。

線形回帰の式は以下のように表されます。

y=θ0+θ1x1+θ2x2++θnxny = \theta_0 + \theta_1x_1 + \theta_2x_2 + \cdots + \theta_nx_n

ここで、yyは従属変数、xix_iは独立変数、θi\theta_iは回帰係数を表します。回帰係数は、独立変数が従属変数に与える影響の大きさを示します。また、θ0\theta_0は切片を表します。切片とは、独立変数が全て0の場合の従属変数の値を表します。

線形回帰では、回帰係数を求めるために最小二乗法が用いられます。最小二乗法は、実際の値と予測値の差の二乗を最小化するように回帰係数を決定する方法です。つまり、以下の式を最小化するように回帰係数を決定します。

i=1m(yiyi^)2\sum_{i=1}^{m}(y_i - \hat{y_i})^2

ここで、mmはデータの数、yiy_iは実際の値、yi^\hat{y_i}は予測値を表します。

線形回帰は、単回帰分析と重回帰分析に分けられます。単回帰分析は、独立変数が1つだけの場合の線形回帰であり、重回帰分析は、独立変数が複数の場合の線形回帰です。重回帰分析では、独立変数同士の相関関係にも注意が必要です。

線形回帰は、データに線形の関係がある場合に有効です。しかし、データに非線形の関係がある場合には、線形回帰の精度が低下する場合があります。その場合には、非線形回帰モデルを用いる必要があります。また、線形回帰は、外れ値にも影響を受けやすいため、データの前処理にも注意が必要です。

線形回帰は、Pythonのscikit-learnやRのlm関数などで簡単に実装することができます。また、データの可視化にもmatplotlibやggplot2などのライブラリを活用することができます。

リンク

Linear regression[EN]