質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Stata

Stataは、StataCorp社が開発した統計分析ソフトウェア。手軽に操作でき、高速で正確に演算することが可能です。全ての分析機能に再現性があり、ドキュメント化できます。経済学や社会学、政治学などの領域を中心に用いられています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

1回答

1501閲覧

Python statsmodels summaryの出し方

ak_miyamoto

総合スコア31

Stata

Stataは、StataCorp社が開発した統計分析ソフトウェア。手軽に操作でき、高速で正確に演算することが可能です。全ての分析機能に再現性があり、ドキュメント化できます。経済学や社会学、政治学などの領域を中心に用いられています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

1クリップ

投稿2018/07/04 12:27

編集2018/07/05 02:17

初学者です。

statsmodels.sandbox.regression.gmm.IV2SLS(ソース)のfitモジュールを用いデータを分析したのですが、サマリの可視化の仕方がわかりません。

import pandas as pd data = pd.read_csv("filename.csv") result = ssrg.IV2SLS(endog = data["y"], exog = data["c"], instrument = data[["iv1","iv2"]]).fit() print(result)

とすると、

>>> <statsmodels.regression.linear_model.RegressionResultsWrapper at 0x2668f448208>

としか表示されません。
ここから、

※別の例から引用 OLS Regression Results ============================================================================== Dep. Variable: Lottery R-squared: 0.348 Model: OLS Adj. R-squared: 0.333 Method: Least Squares F-statistic: 22.20 Date: Mon, 14 May 2018 Prob (F-statistic): 1.90e-08 Time: 21:48:09 Log-Likelihood: -379.82 No. Observations: 86 AIC: 765.6 Df Residuals: 83 BIC: 773.0 Df Model: 2 Covariance Type: nonrobust =================================================================================== coef std err t P>|t| [0.025 0.975] ----------------------------------------------------------------------------------- Intercept 246.4341 35.233 6.995 0.000 176.358 316.510 Literacy -0.4889 0.128 -3.832 0.000 -0.743 -0.235 np.log(Pop1831) -31.3114 5.977 -5.239 0.000 -43.199 -19.424 ============================================================================== Omnibus: 3.713 Durbin-Watson: 2.019 Prob(Omnibus): 0.156 Jarque-Bera (JB): 3.394 Skew: -0.487 Prob(JB): 0.183 Kurtosis: 3.003 Cond. No. 702. ==============================================================================

のようなよくある結果をプリントしたいのですが、どうしたらよいでしょうか。
なお

results.summary()

としても

--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-121-c942b82acb49> in <module>() ----> 1 result.summary() ~\Anaconda3\lib\site-packages\statsmodels\sandbox\regression\gmm.py in summary(self, yname, xname, title, alpha) 325 top_right = [('R-squared:', ["%#8.3f" % self.rsquared]), 326 ('Adj. R-squared:', ["%#8.3f" % self.rsquared_adj]), --> 327 ('F-statistic:', ["%#8.4g" % self.fvalue] ), 328 ('Prob (F-statistic):', ["%#6.3g" % self.f_pvalue]), 329 #('Log-Likelihood:', None), #["%#6.4g" % self.llf]), ~\Anaconda3\lib\site-packages\statsmodels\tools\decorators.py in __get__(self, obj, type) 95 if _cachedval is None: 96 # Call the "fget" function ---> 97 _cachedval = self.fget(obj) 98 # Set the attribute in obj 99 # print("Setting %s in cache to %s" % (name, _cachedval)) ~\Anaconda3\lib\site-packages\statsmodels\sandbox\regression\gmm.py in fvalue(self) 217 restriction = np.eye(k_vars) 218 idx_noconstant = lrange(k_vars) --> 219 del idx_noconstant[self.model.data.const_idx] 220 fval = self.f_test(restriction[idx_noconstant]).fvalue # without constant 221 return fval TypeError: list indices must be integers or slices, not NoneType

となってしまいます。ソースを読んでもいまいちよくわかりません。
教えて下さると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

当該関数の使用経験はありませんが、statsmodelsの標準的仕様からいうと、.summary()メソッドを使うといいかと思います。使用対象は学習後のオブジェクトになるので、今回の場合はresultになるはずです

投稿2018/07/04 13:01

R.Shigemori

総合スコア3376

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ak_miyamoto

2018/07/05 01:22

ご回答ありがとうございます。上記試してみたのですが、エラーが出てきてしまいます。 これはどのようなことなのでしょうか。よろしければ教えて下さると幸いです。 ``` result.summary() >>> --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-121-c942b82acb49> in <module>() ----> 1 result.summary() ~\Anaconda3\lib\site-packages\statsmodels\sandbox\regression\gmm.py in summary(self, yname, xname, title, alpha) 325 top_right = [('R-squared:', ["%#8.3f" % self.rsquared]), 326 ('Adj. R-squared:', ["%#8.3f" % self.rsquared_adj]), --> 327 ('F-statistic:', ["%#8.4g" % self.fvalue] ), 328 ('Prob (F-statistic):', ["%#6.3g" % self.f_pvalue]), 329 #('Log-Likelihood:', None), #["%#6.4g" % self.llf]), ~\Anaconda3\lib\site-packages\statsmodels\tools\decorators.py in __get__(self, obj, type) 95 if _cachedval is None: 96 # Call the "fget" function ---> 97 _cachedval = self.fget(obj) 98 # Set the attribute in obj 99 # print("Setting %s in cache to %s" % (name, _cachedval)) ~\Anaconda3\lib\site-packages\statsmodels\sandbox\regression\gmm.py in fvalue(self) 217 restriction = np.eye(k_vars) 218 idx_noconstant = lrange(k_vars) --> 219 del idx_noconstant[self.model.data.const_idx] 220 fval = self.f_test(restriction[idx_noconstant]).fvalue # without constant 221 return fval TypeError: list indices must be integers or slices, not NoneType ```
R.Shigemori

2018/07/05 08:32

summaryメソッドはIVRegressionResultsのメソッドのようで、IV2SLSにはないようです。私自身、この関数は未経験なので両者の相違がわかっていませんが、同じ機能であれば、こちらを使ったほうがいいかもしれません
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問