線形回帰とは
線形回帰は、連続的な応答変数を 1 つ以上の予測子の関数として表現するために用いる統計的モデリング手法です。複雑なシステムの動作の理解や予測、実験データ、財務データ、生物学的データの分析に役立ちます。
線形回帰手法は、線形モデルの構築に用いられます。このモデルは、従属変数 \(y\) (応答) と、1 つ以上の独立変数 \(X_i\) (予測子) との関係をを表しています。線形回帰モデルの一般方程式は次のとおりです。
\[Y = \beta_0 + \sum \ \beta_k X_k + \epsilon_i\]
ここで、\(\beta\) は計算される線形パラメーター推定値を表し、\(\epsilon\) は誤差項を表します。
線形回帰の種類
単純線形回帰 (1 つの予測子のみを使用するモデル): 一般方程式は次のとおりです。
\[Y = \beta_0 + \beta_1 X+ \epsilon\]
単純線形回帰の例。州の人口 (予測子 \(X\)) から死亡交通事故件数 (応答変数 \(Y\)) を予測する方法を示しています。(mldivide 演算子を用いて、単純線形回帰の係数を推定する方法を示した MATLAB® コード例を参照)
多重線形回帰 (複数の予測子を使用するモデル): この回帰は、複数の \(X_i\) を使用して応答 \(Y\) を予測します。この方程式の例は、次のとおりです。
\[Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2+ \epsilon\]
多重線形回帰の例。重量と馬力 (予測子、\(X_j\)) をもとに、さまざまな自動車のガロンあたりの走行マイル数 (MPG) (応答変数、\(Y\)) を予測しています。(regress 関数を用いて、多重線形回帰で得られた関係の有意性を判定する方法を示した MATLAB コード例を参照)
多変量線形回帰 (複数の応答変数のモデル): この回帰は、同一のデータ \(X\) から複数の \(Y_i\) が導出されます。これらは異なる式で表現されます。2 つの方程式で表現した系の例は、次のとおりです。
\[Y_1 = \beta_{01} + \beta_{11} X_1 + \epsilon_1\]
\[Y_2 = \beta_{02} + \beta_{1 2}X_1 + \epsilon_2\]
9 つの地域におけるインフルエンザの推定値 (応答変数 \(Y_i\)) を予測する方法を示す、多変量線形回帰の例。その年の週番号 (予測子 \(X\)) に基づいています。(mvregress 関数を用いて、多変量線形回帰の推定係数を求める方法を示した MATLAB コード例を参照)
多変量多重線形回帰 (複数の応答変数に対して複数の予測子を使用するモデル): この回帰は、複数の \(X_i\) から複数の応答 \(Y_i\) を予測します。一般方程式は、次のとおりです。
多変量多重線形回帰の例。ホイールベース、車両重量、燃料種別 (予測子 \(X_1\)、\(X_2\)、\(X_3\)) の 3 つの変数をもとに、市街地と高速道路における MPG (応答変数 \(Y_1\) と \(Y_2\)) を計算します。(mvregress 関数を用いて、係数を推定する方法を示した MATLAB コード例を参照)
線形回帰の用途
線形回帰は、次の用途において非常に興味深い特性を有しています。
- 予測や将来予測: 回帰モデルを使用して、特定のデータセット向けに予測モデルを構築できます。このモデルを使えば、予測子しか分かっていない場合でも、回帰を用いて応答値を予測できます。
- 回帰の強さ: 回帰モデルを用いることで、変数と予測子の間に関係性があるかや、その関係の強さを判断できます。
MATLAB を使用した線形回帰
MATLAB は、エンジニアが単純線形回帰モデルを作成する際によく利用されています。多重線形回帰や多変量線形回帰には、MATLAB の Statistics and Machine Learning Toolbox™ を使用することができます。このツールボックスでは、ステップワイズ回帰、ロバスト回帰、多変量回帰などの手法を用いて、以下のことが可能です。
- 予測の生成
- 線形モデルの適合度の比較
- 残差のプロット
- 適合度の評価
- 外れ値の検出
データに曲線や曲面を近似させる線形モデルを作成するには、Curve Fitting Toolbox™ を参照してください。
製品使用例および使い方
ソフトウェア リファレンス
参考: 時系列回帰