statsmodels.apiを用いた最小2乗法による線形回帰
How to use “statsmodels” to execute “OLS” in Pytrhon

statsmodels.apiを用いた最小2乗法による線形回帰
How to use “statsmodels” to execute “OLS” in Pytrhon

statsmodels.apiは、統計モデリングと統計テストのためのPythonライブラリであり、さまざまな統計モデルを構築し、テストするための機能を提供します。ここではOLSについて解説します。

statsmodelsのOLSクラスによる通常の最小2乗法(OLS)

statsmodels.api モジュールを使用して Ordinary Least Squares (OLS) 回帰を行う方法を説明します。OLSは、最小二乗法を使用して回帰モデルを適合させる統計的手法の一つです。以下は、簡単な例です。

import numpy as np
import statsmodels.api as sm

# データの生成
np.random.seed(42)
X = np.random.rand(100, 2)
X = sm.add_constant(X)  # 定数項を追加
beta = np.array([1, 2, 3])
y = X @ beta + np.random.randn(100)

# OLSモデルの適合
model = sm.OLS(y, X)
results = model.fit()

# プロパティの例
print("被説明変数 (endog):", results.endog)
print("説明変数 (exog):", results.exog)
print("モデルの自由度 (df_model):", results.df_model)
print("残差の自由度 (df_resid):", results.df_resid)

# メソッドの例
print("\nOLSモデルの要約:")
print(results.summary())

# 影響 (influence) に関する情報を取得
influence = results.get_influence()
print("\n外れ値検定:")
outlier_test = results.outlier_test()
print(outlier_test.head())

# 新しいデータに対する予測値を計算
new_data = np.array([1, 0.5, 0.8])  # 定数項 + 2つの説明変数
predicted_value = results.predict(new_data)
print("\n新しいデータに対する予測値:", predicted_value)

このコードでは、OLSモデルを適合させ、その後いくつかのプロパティやメソッドを使用しています。

statsmodelsのOLSクラスのプロパティ

たとえば上の例では、プロパティとして

  • endog: 被説明変数(応答変数)を取得します。
  • exog: 説明変数を取得します。
  • df_model: モデルの自由度を取得します。
  • df_resid: 残差の自由度を取得します。

が用いられています。以下の表は主要なプロパティの一覧です。

プロパティ 説明
`endog` 被説明変数(応答変数)
`exog` 説明変数
`weights` 重み行列(GLSモデルのみ)
`df_model` モデルの自由度
`df_resid` 残差の自由度
`model` モデルの基本情報
`normalized_cov_params` 正規化された共分散行列のパラメータ
`params` 推定されたモデルのパラメータ(係数)
`bse` 推定されたパラメータの標準誤差
`mse_resid` 残差の平均二乗誤差
`rsquared` 決定係数
`rsquared_adj` 調整決定係数
`aic` 赤池情報量基準
`bic` ベイズ情報量基準
`fittedvalues` 推定された被説明変数の値
`resid` 残差

statsmodelsのOLSクラスのメソッド

メソッドの例としては、

  • summary()でモデルの統計的な要約を表示し、
  • get_influence()で影響に関する情報を取得しています。
  • outlier_test()を使用して外れ値の検定を行い、
  • predict()を使用して新しいデータに対する予測値を計算しています。

以下の表は主要なメソッドの一覧です。

メソッド 説明
`fit()` モデルを適合させる
`predict(exog=None, transform=True, *args, **kwargs)` 新しいデータに対する予測値を計算する
`get_influence()` モデルの影響に関する情報を取得する
`outlier_test()` 外れ値の検定を行う
`summary(yname=None, xname=None, title=’OLS Results’, alpha=0.05)` モデルの統計的な要約を表示する
`get_prediction(exog=None, transform=True, *args, **kwargs)` 予測とその信頼区間を取得する

これらの情報や手法は、モデルの理解や診断に役立ちます。

にほんブログ村 教育ブログへ
にほんブログ村
インターネット・コンピュータランキング
インターネット・コンピュータランキング
ブログ王ランキングに参加中!
PC関連ランキング
くる天 人気ブログランキング

statsmodels.apiを用いた最小2乗法による線形回帰
How to use “statsmodels” to execute “OLS” in Pytrhon
」への7件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です