別名・略称:線形回帰モデル
線形回帰(Linear Regression):応答を説明変数の線形結合でモデル化する基本的回帰手法。
2 次元なら散布図に 「最も良くフィットする直線」 を引く操作。 数式 $y = \beta_0 + \beta_1 x$ の $\beta_0$(切片)と $\beta_1$(傾き)を、 残差の二乗和が最小 になるよう決めるのが最小二乗法(OLS)。
| 種類 | 説明変数 | 数式 |
|---|---|---|
| 単回帰 | 1 個 | y = β₀ + β₁x |
| 重回帰 | 2 個以上 | y = β₀ + β₁x₁ + ... + βₚxₚ |
SSDSE 47 都道府県で「死亡率 ~ 高齢化率」の単回帰:
| パラメータ | 推定値 | p 値 |
|---|---|---|
| 切片 β₀ | -6.7 | < 0.001 *** |
| 高齢化率 β₁ | +0.65 | < 0.001 *** |
| R² | 0.945 | — |
解釈:高齢化率が 1% 上がると、 死亡率は約 0.65‰ 上がる。 95% を説明できる強いモデル。
SSDSE-B-2026(47 都道府県・2023 年データ)を題材にした最小コード:
1 2 3 4 5 6 7 8 9 10 11 | import pandas as pd import statsmodels.api as sm df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='utf-8', skiprows=1) X = df[['高齢化率']] y = df['死亡率'] X = sm.add_constant(X) # 切片項追加 model = sm.OLS(y, X).fit() print(model.summary()) # 係数、 p値、 R² が全部見える |