繁体   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