楼主: 咕咚dong
1448 6

[统计软件与数据分析] ddml双重机器学习 如何改代码里的简单reg改为xtreg或者其他回归? [推广有奖]

  • 0关注
  • 0粉丝

初中生

23%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.0109
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
90 点
帖子
2
精华
0
在线时间
48 小时
注册时间
2022-5-13
最后登录
2024-10-28

20论坛币
举例:
global Y RC
global X xxxxx

global D did
set seed 42
ddml init partial, kfolds(5)
*随机森林
ddml E[D|X]: pystacked X, type(reg) method(rf)
ddml E[Y|X]: pystacked X, type(reg) method(rf)
ddml crossfit
ddml estimate,robust

这里type(reg)  reg能换成其他回归吗?换成固定效应xtreg,fe啥的

关键词:xtreg 机器学习 REG DDM dml
沙发
道长比学习深度 发表于 2023-11-2 10:44:18 来自手机 |只看作者 |坛友微信交流群
咕咚dong 发表于 2023-11-1 22:15
举例:
global Y RC
global X xxxxx
很擅长扩散模型人工智能深度学习,来这里吧,<u>zq10292912</u>

使用道具

藤椅
oliyiyi 发表于 2023-11-2 13:45:34 |只看作者 |坛友微信交流群
ddml允许你自由指定不同的预测模型,包括:

reg - OLS线性回归
logit - 逻辑回归
rf - 随机森林
bst - Boosting回归
nn - 神经网络
etc.

使用道具

板凳
oliyiyi 发表于 2023-11-2 13:47:35 |只看作者 |坛友微信交流群
  1. global Y RC
  2. global X xxxxx
  3. global D did

  4. set seed 42

  5. ddml init partial, kfolds(5)

  6. * 随机森林
  7. ddml E[D|X]: pystacked $X, type(reg) method(rf)

  8. * 固定效应
  9. ddml E[Y|X]: pystacked $X, type(xtreg fe)

  10. ddml crossfit
  11. ddml estimate, robust
复制代码

使用道具

报纸
迈过月亮 发表于 2023-11-27 18:53:14 |只看作者 |坛友微信交流群
想问一下楼主知不知道ddml crossfit后出现下面错误是怎么回事呀
Cross-fitting E[y|X] equation: PR
Cross-fitting fold 1 EduConstruUrbanPassFreInvInterFisUnempSizeConsumpSciCapEdu2
> Constru2Urban2Pass2Fre2Inv2Inter2Fis2Unemp2Size2Consump2Sci2Cap2 invalid name
r(198);

使用道具

地板
迈过月亮 发表于 2023-11-27 18:53:16 |只看作者 |坛友微信交流群
想问一下楼主知不知道ddml crossfit后出现错误是怎么回事呀

使用道具

7
赵安豆 发表于 2024-7-8 13:31:26 |只看作者 |坛友微信交流群
在使用`ddml`命令进行双重机器学习时,如果想从随机森林(rf)或其他机器学习方法转为传统统计模型如面板数据的固定效应回归(xtreg with FE),需要注意到`ddml`主要设计用于与机器学习算法结合。然而,你仍然可以尝试使用线性回归作为基线估计器,并在可能的情况下自定义代码以适应特定的模型。

由于Stata的`ddml`命令直接调用Python包来进行机器学习预测,在其内部框架中并不直接支持如xtreg这类面板数据回归模型。但是,对于简单线性回归或其它可以在Python环境中实现的统计模型(例如使用`statsmodels`包),你可以将type(reg) method参数设置为"ols" 或者其他可用方法。

如果要采用固定效应模型(比如在面板数据中的 xtreg, fe),你可能需要先用传统的Stata命令运行xtreg,然后比较或调整与ddml估计结果的关系。具体步骤可以是:

1. 使用`xtset`声明面板数据结构。
2. 运行`xtreg y x i.year, fe vce(cluster id)`(假设`year`是时间变量且你希望控制其固定效应,而`id`是你的个体标识符)。
3. 通过比较`ddml`命令和`xtreg`的输出结果来检验不同模型估计量的一致性和有效性。

然而,在尝试将Stata的传统回归方法如`xtreg`与`ddml`结合时,你可能会遇到限制,因为`ddml`的初衷是用于处理高维数据中的机器学习预测问题。如果目标是进行面板数据分析或应用固定效应估计,直接使用Stata的面板数据命令可能更为合适和精确。

在实践中,你也可以探索将`ddml`与基于Python的线性回归模型结合的可能性,并对比其与Stata内置命令如`xtreg`结果的一致性和差异。这可能会涉及到一些编程技巧来确保模型设定正确且能够有效地处理你的面板数据结构。
```stata
global Y RC
global X xxxxx

set seed 42
ddml init partial, kfolds(5)
*使用线性回归替换随机森林
ddml E[D|X]: pystacked $X, type(reg) method(ols)
ddml E[Y|X]: pystacked $X, type(reg) method(ols)
ddml crossfit
ddml estimate, robust

// 随后,可以使用Stata的xtreg命令独立运行固定效应回归进行比较
xtset id year // 假设id和year是你的面板数据标识符
xtreg $Y $X $D i.year, fe vce(cluster id)
```

这种方式允许你对比不同的模型设定,但请注意`ddml`的初衷与传统统计方法之间在理论假设和技术实现上的差异。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



使用道具

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

本版微信群
加JingGuanBbs
拉您进交流群

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

GMT+8, 2024-11-5 22:57