簡體   English   中英

如何從python(系統gmm)中的pydynpd包中提取系數?

[英]How to extract coefficients from pydynpd package in python(system gmm)?

我正在嘗試對系統 gmm 估計的模型運行蒙特卡羅模擬。 因此,我需要從 python 中的 pydynpd 包( https://github.com/dazhwu/pydynpd )中的 prettytable 中提取模型的系數。 我正在尋找一個命令/函數,它返回就像帶有 fit().params 的 statsmodels,數組中的系數。

對不起。 我剛看到你的問題。 您可以隨時在https://github.com/dazhwu/pydynpd/issues發布您的問題

例如,如果您運行:

df = pd.read_csv("data.csv")
mydpd = regression.abond('n L(1:2).n w k  | gmm(n, 2:4) gmm(w, 1:3)  iv(k)  ', df, ['id', 'year'])

輸出回歸表將是

+------+------------+---------------------+------------+-----------+-----+
|  n   |   coef.    | Corrected Std. Err. |     z      |   P>|z|   |     |
+------+------------+---------------------+------------+-----------+-----+
| L1.n | 0.9453810  |      0.1429764      | 6.6121470  | 0.0000000 | *** |
| L2.n | -0.0860069 |      0.1082318      | -0.7946553 | 0.4268140 |     |
|  w   | -0.4477795 |      0.1521917      | -2.9422068 | 0.0032588 |  ** |
|  k   | 0.1235808  |      0.0508836      | 2.4286941  | 0.0151533 |  *  |
| _con | 1.5630849  |      0.4993484      | 3.1302492  | 0.0017466 |  ** |
+------+------------+---------------------+------------+-----------+-----+

如果您想以編程方式提取一個值,例如第一個 z 值 (6.6121470),則可以添加以下內容:

>>>mydpd.models[0].regression_table.iloc[0]['z_value']
6.6121469997085915

基本上,上面返回的對象 mydpd 包含模型。 默認情況下,它只包含一個模型,即模型[0]。 一個模型有一個回歸表,它是一個熊貓數據框:

 >>>mydpd.models[0].regression_table

  variable  coefficient   std_err   z_value       p_value  sig
0     L1.n     0.945381  0.142976  6.612147  3.787856e-11  ***
1     L2.n    -0.086007  0.108232 -0.794655  4.268140e-01     
2        w    -0.447780  0.152192 -2.942207  3.258822e-03   **
3        k     0.123581  0.050884  2.428694  1.515331e-02    *
4     _con     1.563085  0.499348  3.130249  1.746581e-03   **

因此,您可以從此數據框中提取任何值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM