TECH NOW

システム開発

2024.07.11

機械学習事始め「線形回帰」

機械学習を学び始めると、まず最初に習う事が多いのは「線形回帰」です。

今回は、線形回帰について、簡単に解説します!★

 

線形回帰とは?

線形回帰は、データ分析や機械学習で広く使われる統計的手法の1つです。

変数間の関係をモデル化するために使われます。具体的には、線形回帰は、一つまたは複数の独立変数(入力変数 | 説明変数)と従属変数(出力変数 | 目的変数)との間の線形な関係を求めることを目的としています。

独立変数と従属変数の間の線形の関係性をモデル化し、予測や因果関係の理解に役立ちます。

 

線形回帰の活用例

・売上予測や需要予測などのビジネス予測

過去の売上データと関連する変数(広告費、季節性、プロモーションなど)を使用して、将来の売上や需要を予測することができます。これにより、在庫管理やマーケティング戦略の最適化が可能になります。

・科学分野での因果関係の分析

科学研究では、線形回帰を使用して特定の変数が他の変数にどのように影響するかを理解します。例えば、気温と作物の収穫量の関係や、薬剤の投与量と効果の関係を調査することができます。

・機械学習モデルの説明変数の影響度の理解

線形回帰モデルは、各説明変数(特徴量)が目標変数(ターゲット)に与える影響を明確に示します。これにより、モデルの解釈性が高まり、どの変数が結果に最も寄与しているかを理解することができます。

いろいろな分野で活用できる、潰しが効く統計的手法の1つですね。

 

単回帰分析(シンプルな線形回帰)

単回帰分析では、一つの独立変数 x と一つの従属変数 y の関係を次のような直線の方程式で表します。

重回帰分析(多変量線形回帰)

重回帰分析では、複数の独立変数x1,x2,…,xpと一つの従属変数 y の関係を次のように表します。

線形回帰の目的は、単回帰分析であれ重回帰分析であれ、観測データに基づいて最適な β(係数)を求めることです。これにより、新しいデータに対する予測を行うことが可能になります。

最小二乗法

最適な β を求める方法の一つに最小二乗法(Least Squares Method)があります。最小二乗法では、予測値と実際の観測値の差(残差)の二乗和を最小にする β を求めます。

最小二乗法は、与えられたデータに最も適した直線や曲線を見つけるための統計的手法です。具体的には、データポイントと予測されるモデルとの誤差の二乗和を最小にすることで、モデルのパラメータを決定します。

最小二乗法は、行列 X とベクトル y を使って次のように一般化できます。

ここで、β はパラメータのベクトルです。最小二乗解は次の「正規方程式」を解くことで求められます。

例えば、データポイント(1,1)、(2,2)、(3,1.3)、(4,3.75)、(5,2.25) がある場合、最小二乗法を使ってこれらのデータに最適な直線を見つけることができます。この場合、最適な直線の傾きと切片を計算するために上記の手順を踏みます。

実行例(Pythonを使用)

Pythonで線形回帰を実行する方法を簡単に示します。

実務のデータ解析は、もちろんこんなに単純ではなく、「データの前処理」「変数選択」「モデルの評価」「モデルの解釈性」など様々なことに留意する必要があります。

モデルの表現力を向上させる

例えば、以下のようなデータがあり、予測モデルを作りたい場合どうすればよいでしょうか?

線形回帰なので、以下の赤線のような予測モデルがまず思いつきます。

フーリエ級数展開

フーリエ級数展開を用いた線形回帰を行うと、モデルの表現力が増し、より実データにフィットさせることができます。

フーリエ級数展開の基本的なアイデアは、周期関数を基本的な三角関数の組み合わせとして表現することです。具体的には、周期関数 f(x) を次のように表します。

線形回帰にフーリエ級数展開を用いると、複雑な周期的パターンを捉える能力が向上します。サインとコサインの組み合わせにより、単純な直線モデルでは捉えきれないデータの周期的変動を表現することができます。

 

線形回帰とフーリエ級数展開を用いると、モデルの表現力が向上し、柔軟な予測モデルを構築できます!