web-dev-qa-db-ja.com

statsmodels.apiから回帰係数を抽出する方法は?

 result = sm.OLS(gold_lookback, silver_lookback ).fit()

結果を取得した後、係数と定数を取得するにはどうすればよいですか?

つまり、y = ax + c値の取得方法aおよびc

8
JOHN

近似モデルのparamsプロパティを使用して、係数を取得できます。

たとえば、次のコード:

_import statsmodels.api as sm
import numpy as np
np.random.seed(1)
X = sm.add_constant(np.arange(100))
y = np.dot(X, [1,2]) + np.random.normal(size=100)
result = sm.OLS(y, X).fit()
print(result.params)
_

numpy配列_[ 0.89516052 2.00334187]_-切片と勾配の推定値をそれぞれ出力します。

さらに情報が必要な場合は、モデルの説明を含む3つの詳細なテーブルを含むオブジェクトresult.summary()を使用できます。

13
David Dale

この回答から引用 statsmodelsサマリーオブジェクトをPandas Dataframe に変換すると、result.summary()はHTMLとしてエクスポートできるテーブルのセットであり、次にPandasを使用してデータフレームに変換します。これにより、必要な値に直接インデックスを付けることができます。

したがって、あなたの場合(上記のリンクからの回答を1行に入れてください):

df = pd.read_html(result.summary().tables[1].as_html(),header=0,index_col=0)[0]

その後

a=df['coef'].values[1]
c=df['coef'].values[0]
0
Idiot Tom