我正在尝试学习如何在Python3.7中执行一些我通常在Stata中轻松完成的操作
我正在处理这样的数据帧:
estimation_window group_id y x
0 1 3.17 23
1 1 4.76 26
1 2 4.17 73
1 2 8.70 72
0 2 11.45 16
我希望有一个for循环来估计group_id中每个不同组的线性回归(y对x),只使用虚拟估计_窗口等于1的观察值
然后,我希望将三列添加回初始数据帧:一列包含预测值,一列包含每个回归的beta(x系数),另一列包含每个回归的截距。应针对所有观测值计算这些值,而不仅仅是虚拟估计_窗口等于1的观测值
生成的数据集应如下所示:
estimation_window group_id y x predicted_val beta_coeff alpha_coeff
0 1 3.17 23 3.10 0.32 1.43
1 1 4.76 26 4.00 0.32 1.43
1 2 4.17 73 4.10 0.75 0.95
1 2 8.70 72 8.50 0.75 0.95
0 2 11.45 16 10.30 0.75 0.95
我试着使用statsmodels,但没能找到答案
假设您拥有数据帧:
然后您可以按
group_id
分组,然后逐个进行线性回归并保存参数。如果您正在使用statsmodels
,则可以执行以下操作:然后您可以手动重新计算预测值(因为线性模型很简单):
结果是:
相关问题 更多 >
编程相关推荐