result = sm.OLS(gold_lookback, silver_lookback ).fit()
結果を取得した後、係数と定数を取得するにはどうすればよいですか?
つまり、y = ax + c
値の取得方法a
およびc
?
近似モデルの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()
を使用できます。
この回答から引用 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]