※この記事は自分の学習と効率化のために、ChatGPTに書いてもらったものをベースとしています。
画像と赤文字で記載されている箇所などは私のコメントや感想部分です。
6.回帰分析とカスタム化
単回帰と重回帰分析の概要
単回帰分析:
単回帰分析は、1つの独立変数に基づいて従属変数を予測するための手法です。主に、二つの変数間の関係を調査する際に用いられます。
公式: \( Y = \beta_0 + \beta_1X + \epsilon \)
ここで、
– \( Y \) は従属変数
– \( X \) は独立変数
– \( \beta_0 \) はY切片
– \( \beta_1 \) は傾き
– \( \epsilon \) は誤差項
重回帰分析:
重回帰分析は、2つ以上の独立変数に基づいて従属変数を予測する手法です。複数の変数の組み合わせが従属変数にどのように影響するかを探る際に用いられます。
公式: \( Y = \beta_0 + \beta_1X_1 + \beta_2X_2 + … + \epsilon \)
回帰直線のプロットとそのカスタマイズ方法
Pythonのstatsmodels: ライブラリを用いて単回帰分析を実行し、その結果をmatplotlibでプロットし、さらにカスタマイズする方法を以下に示します。
import numpy as np
import matplotlib.pyplot as plt
import statsmodels.api as sm
# サンプルデータ生成
np.random.seed(0)
X = np.random.rand(100) * 10 # 独立変数
Y = 2.5 * X + np.random.randn(100) * 2 # 従属変数
# 単回帰分析
X = sm.add_constant(X) # 切片項の追加
model = sm.OLS(Y, X).fit()
predictions = model.predict(X)
# データと回帰直線のプロット
plt.scatter(X[:, 1], Y, label='Data', alpha=0.7)
plt.plot(X[:, 1], predictions, color='red', linewidth=2, label='Regression Line')
# カスタマイズ
plt.title('Simple Linear Regression')
plt.xlabel('X')
plt.ylabel('Y')
plt.legend()
plt.grid(True)
plt.show()
ここで、赤い線が回帰直線を示しています。plt.plot: 関数を使用して回帰直線を描画し、その色や線の太さなどをカスタマイズしています。
この記事では、単回帰と重回帰分析の基本について学び、回帰直線のプロットとそのカスタマイズ方法を学びました。