我一直在使用Python進行迴歸分析。獲得迴歸結果後,我需要將所有結果彙總到一個表中並將它們轉換爲LaTex(用於發佈)。是否有任何包在Python中做到這一點?喜歡的東西estout在Stata給出如下表:任何Python庫產生出版風格的迴歸表
16
A
回答
21
那麼,有summary_col
在statsmodels
;它沒有所有的鐘聲和口哨聲estout
,但它確實有你正在尋找(包括出口到膠乳)的基本功能:
import statsmodels.api as sm
from statsmodels.iolib.summary2 import summary_col
p['const'] = 1
reg0 = sm.OLS(p['p0'],p[['const','exmkt','smb','hml']]).fit()
reg1 = sm.OLS(p['p2'],p[['const','exmkt','smb','hml']]).fit()
reg2 = sm.OLS(p['p4'],p[['const','exmkt','smb','hml']]).fit()
print summary_col([reg0,reg1,reg2],stars=True,float_format='%0.2f')
===============================
p0 p2 p4
-------------------------------
const -1.03*** -0.01 0.62***
(0.11) (0.04) (0.07)
exmkt 1.28*** 0.97*** 0.98***
(0.02) (0.01) (0.01)
smb 0.37*** 0.28*** -0.14***
(0.03) (0.01) (0.02)
hml 0.77*** 0.46*** 0.69***
(0.04) (0.01) (0.02)
===============================
Standard errors in parentheses.
* p<.1, ** p<.05, ***p<.01
或者這裏是一個版本,我加上R平方和觀測值的數目:
print summary_col([reg0,reg1,reg2],stars=True,float_format='%0.2f',
info_dict={'N':lambda x: "{0:d}".format(int(x.nobs)),
'R2':lambda x: "{:.2f}".format(x.rsquared)})
===============================
p0 p2 p4
-------------------------------
const -1.03*** -0.01 0.62***
(0.11) (0.04) (0.07)
exmkt 1.28*** 0.97*** 0.98***
(0.02) (0.01) (0.01)
smb 0.37*** 0.28*** -0.14***
(0.03) (0.01) (0.02)
hml 0.77*** 0.46*** 0.69***
(0.04) (0.01) (0.02)
R2 0.86 0.95 0.88
N 1044 1044 1044
===============================
Standard errors in parentheses.
* p<.1, ** p<.05, ***p<.01
又如,此時示出了使用model_names
選項和迴歸,其中獨立變量而變化:
reg3 = sm.OLS(p['p4'],p[['const','exmkt']]).fit()
reg4 = sm.OLS(p['p4'],p[['const','exmkt','smb','hml']]).fit()
reg5 = sm.OLS(p['p4'],p[['const','exmkt','smb','hml','umd']]).fit()
print summary_col([reg3,reg4,reg5],stars=True,float_format='%0.2f',
model_names=['p4\n(0)','p4\n(1)','p4\n(2)'],
info_dict={'N':lambda x: "{0:d}".format(int(x.nobs)),
'R2':lambda x: "{:.2f}".format(x.rsquared)})
==============================
p4 p4 p4
(0) (1) (2)
------------------------------
const 0.66*** 0.62*** 0.15***
(0.10) (0.07) (0.04)
exmkt 1.10*** 0.98*** 1.08***
(0.02) (0.01) (0.01)
hml 0.69*** 0.72***
(0.02) (0.01)
smb -0.14*** 0.07***
(0.02) (0.01)
umd 0.46***
(0.01)
R2 0.78 0.88 0.96
N 1044 1044 1044
==============================
Standard errors in
parentheses.
* p<.1, ** p<.05, ***p<.01
要導出到LaTeX,請使用as_latex
方法。
我可能是錯的,但我不認爲t-stats的選項,而不是標準錯誤(如你的例子中)被實現。
相關問題
- 1. 蓋茨比風格不生產生產
- 2. 遞歸python函數產生anagrams列表
- 3. 的Python代碼風格的包裝生產線
- 4. printf的不產生任何輸出
- 5. 我的代碼不會產生任何輸出 - Python
- 6. 任何免費的Java庫執行Cox的比例風險迴歸
- 7. Appengine使用Python的版本/風格?
- 8. 在python中產生遞歸函數
- 9. WPF風格:歸納
- 10. 從Heroku生產數據庫中導出單個表格
- 11. wsdl2java不會產生任何輸出
- 12. D3不生產任何輸出
- 13. Trace.WriteLine不產生任何輸出
- 14. logrotate不會產生任何輸出
- 15. EntityClassGenerator:不產生任何輸出NorthwindDataService
- 16. R格式迴歸輸出
- 17. 使用遞歸扭轉鏈表產生錯誤的輸出
- 18. Python PyNER庫不給出任何輸出
- 19. 使表格單元格內的textarea產生溢出效果
- 20. 如何產生的線性迴歸矩陣狀COR()
- 21. 我如何總結多個迴歸模型產生的預測
- 22. Python的產生
- 23. 任何不在生產版本中啓用CODE_ANALYSIS的理由?
- 24. HTML表格產生頂部
- 25. 風格在Python
- 26. CGContextSetShadow產生任何結果
- 27. CMMotionManager不生產任何.deviceMotions
- 28. 生成圖表遞歸 - Python的
- 29. 風格(遞歸和超出範圍例外被回答,這是新的)
- 30. Python中的迴歸
此問題的任何現代更新?總結2仍然非常缺乏。 –
@MatthewGunn這個函數遠非Stata的estout包(或R的包)所能做到的。所以我最終爲我的工作流做了什麼就是調用Python中的用戶定義函數,它調用Stata在終端中運行一個運行所有迴歸並輸出表的do-file。 – Titanic