楼主: 一碗粉
7833 12

[问答] 求助用python怎么实现固定效应,我用python做出来的和stata不一致 [推广有奖]

  • 0关注
  • 0粉丝

高中生

0%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.3099
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
32 点
帖子
5
精华
0
在线时间
38 小时
注册时间
2021-9-13
最后登录
2024-2-26

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
原版stata分析是行业*年份固定效应,同时cluster了城市层面,我用python做出来的结果和stata不一样,mod.fit(cov_type='robust', cluster_entity=True, cluster_time=True)这一句没有效果,请问大神实际问题在哪?我的代码:

data=pd.read_stata(f)
data=data.set_index(['code','year'])

exog = sm.add_constant(data[['Fintech','Size','LEV','Growth','CapEx','PPE','Indep','GDP' ,'Population']])
fe = PanelOLS(data['Patent'], exog, entity_effects=True, time_effects=True)
fe_res = fe.fit(cov_type='robust', cluster_entity=True, cluster_time=True)
print(fe_res)

这是stata的代码:
xtset code yearxtreg Patent Fintech Size LEV Growth CapEx PPE Indep GDP Population i.year#i.industry, ///        fe vce(cluster city)est store m1



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python Stata 固定效应 tata Population python固定效应分析

沙发
1226407869 学生认证  发表于 2021-9-16 20:10:12 |只看作者 |坛友微信交流群
初步看了一下,好像是你的固定效应不一样吧。你Stata里面控制了交叉的固定效应,而linearmodels中却没有控制 。目前还是不太建议这么干(主要是Stargazer不支持Linearmodels)。可以用import stata_setup     from pystata import stata来实现Python与Stata的交互。祝好。

使用道具

藤椅
1226407869 学生认证  发表于 2021-9-16 20:12:20 |只看作者 |坛友微信交流群
另外一个不建议用python的原因(可能是我个人太菜了)。我用python取滞后项都做不来。无法实现  gen var = L.another_var的操作。不知道LZ有没有好的办法?

使用道具

板凳
一碗粉 发表于 2021-9-20 09:10:36 |只看作者 |坛友微信交流群
1226407869 发表于 2021-9-16 20:10
初步看了一下,好像是你的固定效应不一样吧。你Stata里面控制了交叉的固定效应,而linearmodels中却没有控 ...
非常感谢,主要我的导师是作Python的,我们都是用python来做回归,老师给的建议是用statasmodels包,但依然解决不了固定交互项,下面是我新的代码,您可以给一些建议吗?
firm_year_fe_ols = smf.ols(formula='Patent ~Fintech + Size + LEV + Growth + CapEx + PPE + Indep + GDP + Population + C(year*industry)',data=data)
firm_year_fe_ols=firm_year_fe_ols.fit(cov_type='cluster',cov_kwds={'groups': data['city']},use_t=True)
print(firm_year_fe_ols.summary())

使用道具

报纸
一碗粉 发表于 2021-9-20 09:13:11 |只看作者 |坛友微信交流群
1226407869 发表于 2021-9-16 20:12
另外一个不建议用python的原因(可能是我个人太菜了)。我用python取滞后项都做不来。无法实现  gen var = ...
抱歉,我也不知道,我刚开始学python

使用道具

地板
1226407869 学生认证  发表于 2021-9-23 23:45:39 来自手机 |只看作者 |坛友微信交流群
一碗粉 发表于 2021-9-20 09:10
非常感谢,主要我的导师是作Python的,我们都是用python来做回归,老师给的建议是用statasmodels包,但依 ...
不好意思才看到。你这个地方有一些我也不清楚。不过你可以比较一下系数先。感觉应该没有什么问题了吧。毕竟这个看着是lsdv。我对olsfit的参数不太了解。明天我看看能不能看看再回你吧。

使用道具

7
2563_1616601459 学生认证  发表于 2021-9-25 00:08:25 来自手机 |只看作者 |坛友微信交流群
一碗粉 发表于 2021-9-13 14:32
原版stata分析是行业*年份固定效应,同时cluster了城市层面,我用python做出来的结果和stata不一样,mod.fi ...
你好,不应该指定为robust,我记得应该是cluster   这一点是这个包不好的地方,不会提示报错(即使是拼写错了)。  ...现在电脑没有打开,如果问题没得到解决再联系。

使用道具

8
2563_1616601459 学生认证  发表于 2021-9-25 00:15:34 来自手机 |只看作者 |坛友微信交流群
2563_1616601459 发表于 2021-9-25 00:08
你好,不应该指定为robust,我记得应该是cluster   这一点是这个包不好的地方,不会提示报错(即使是拼写 ...
更正下,指定的聚类类型如果拼错,应该还是报错的。印象里之前有一次是把后边的关键参数打错了,但没有报错…

使用道具

9
一碗粉 发表于 2021-9-25 18:49:39 |只看作者 |坛友微信交流群
这个问题我已经解决了,关键是要搞清楚stata中reg与ixreg的区别,在python中就可以通过smf.ols实现

使用道具

10
1226407869 学生认证  发表于 2021-10-7 11:31:52 来自手机 |只看作者 |坛友微信交流群
一碗粉 发表于 2021-9-25 18:49
这个问题我已经解决了,关键是要搞清楚stata中reg与ixreg的区别,在python中就可以通过smf.ols实现
解决了说一下方案呀。嗐。用lsdv吗?

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-23 20:29