かつてこの記事を書いた時にOrange
というパッケージを使っていたのですが、もっぱらstatsmodelsなので、
書き直します。
当時とおなじく、用いるのはこの本のデータです。
本の中ではR実装です。
コード
import pandas as pd df = #いい感じにデータを読み込む #statsmodels import statsmodels.api as sm #フォーミュラ式 import statsmodels.formula.api as smf #モデルを作る res = smf.ols(formula='Revenue ~ CM + Temp + Firework', data=df2).fit() res.summary()
中段に回帰係数の情報がでます
coef std err t P>|t| [0.025 0.975] Intercept 17.2338 12.405 1.389 0.177 -8.266 42.733 CM -0.0428 0.078 -0.551 0.586 -0.203 0.117 Temp 0.9872 0.179 5.501 0.000 0.618 1.356 Firework 3.1816 0.960 3.314 0.003 1.208 5.155
本書と同じでした。
その他
summary
で帰ってくる表は人間の目で見る分にはいいのですが、再活用すると使いにくいので、別の取り出し方を把握しておきます。
#回帰係数 res.params #p値 res.pvalus #t値 res.tvalues #R^2 res.rsquared res.rsquared_adj #aic,bic res.aic res.bic #resid res.resid #可視化 pd.Series(res.resid).plot()
▼statsmodelsのglmやフォーミュラについて書いたのこちら esu-ko.hatenablog.com