[英]How to extract coefficients from a line equation in python without using numpy?
[英]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.