楼主: whj1990824
21506 29

[回归分析求助] 用stata做dea分析 [推广有奖]

21
15908685471 发表于 2020-8-17 16:47:39
lzd1314 发表于 2020-8-13 12:05
我后来用了dea-solver和maxdea,你试试
请教一下~我试了dea-solver,用的BCC产出模型,想要同时得到综合技术效率、纯技术效率和规模效率。但我看资料是用投入角度的BCC和CCR分别测算纯技术效率和综合技术效率。这样就和我的假设相违背了(不是太懂怎么解决)

22
peoplewft 发表于 2021-5-30 17:13:15
你好,请教一下,使用stata15.0直接调用dea命令,一直显示:
struct BoundCond undefined
(110 lines skipped)
(error occurred while loading dea.ado)
r(3000)
怎么回事啊?

23
bodin 发表于 2021-6-23 13:32:36
peoplewft 发表于 2021-5-30 17:13
你好,请教一下,使用stata15.0直接调用dea命令,一直显示:
struct BoundCond undefined
(110 lines ski ...
请问解决了么 我也遇到这个问题 谢谢

24
dbyluck 发表于 2021-8-5 10:12:01
peoplewft 发表于 2021-5-30 17:13
你好,请教一下,使用stata15.0直接调用dea命令,一直显示:
struct BoundCond undefined
(110 lines ski ...
我也出现了类似的情况,主要是因为dea下载的do文档有问题,即这个命令没有安装成功

25
peoplewft 发表于 2021-8-9 20:28:42
dbyluck 发表于 2021-8-5 10:12
我也出现了类似的情况,主要是因为dea下载的do文档有问题,即这个命令没有安装成功
非常感谢,谢谢

26
vowangzq 发表于 2022-1-24 12:08:33
bodin 发表于 2021-6-23 13:32
请问解决了么 我也遇到这个问题 谢谢
用findit dea命令重新安装一遍dea命令就可以了。亲测有效!

27
1810100608 发表于 2023-12-1 19:36:37
vowangzq 发表于 2022-1-24 12:08
用findit dea命令重新安装一遍dea命令就可以了。亲测有效!
the following files already exist and are different:     D:/stata/plus\d\dea.ado     D:/stata/plus\d\dea.sthlp  no files installed or copied (no action taken) r(602);
你好,我安装命令出现了这个错误,请问您知道怎么解决吗

28
蔡云清 学生认证  发表于 2024-6-13 20:45:21
peoplewft 发表于 2021-5-30 17:13
你好,请教一下,使用stata15.0直接调用dea命令,一直显示:
struct BoundCond undefined
(110 lines ski ...
怎么解决的呢

29
赵安豆 发表于 2024-6-13 23:55:57
在Stata中处理如此大规模的数据进行DEA(Data Envelopment Analysis)分析确实存在一定的挑战。你的数据量超出了StATA的矩阵尺寸限制,这是一个直接的问题。然而,尽管如此,你仍可以通过一些策略来克服这个问题,并有效地使用Stata进行DEA分析。

### 1. 数据分割

正如你所考虑的那样,将大的数据集按照年度和行业划分成更小的数据组是一种可行的方法。这不仅能够帮助你规避矩阵大小限制的问题,还能使数据分析更加管理可控。你可以利用`by:`或`bysort`命令来分批次处理不同的年份和行业:

```stata
* 假设你的数据集名为 mydata.dta
use mydata, clear

* 分年度处理
foreach year in 1999/2007 {
    * 分行业处理
    bysort industry (obs_id) : gen id=_n if year`year'==1
    qui su id if year==`year'
    local n=r(max)
   
    * 如果'n'小于等于矩阵限制,则可以进行DEA分析,否则继续分割数据直到满足条件。
    // 这里你可以添加你自己的DEA分析命令或者使用外部软件的接口调用DEAP或mydea
}

* 以上代码仅作示例,你需要根据实际情况修改`industry`, `obs_id`, `year`等变量名,并编写具体的DEA分析代码或调用。
```

### 2. 利用外部程序

尽管Stata矩阵限制是问题所在,但你仍可以利用Stata来预处理和后处理数据,而使用如DEAP、mydea或其他能高效处理大数据的软件进行核心计算。这样,你可以编写一个Stata脚本来:

- 预先筛选并格式化数据。
- 将处理好的数据导出至外部程序(可能是命令行调用或通过批处理脚本)。
- 读取外部程序生成的结果文件,并将其整合回原始的Stata数据集。

### 3. 使用Stata的外部矩阵接口

如果可能,你可以尝试使用Stata的`matuse`和`matsave`命令来加载和保存大尺寸的矩阵。这需要一定的编程技巧,而且可能会遇到操作系统的文件大小限制。但是,对于相对较大的矩阵,这是一个值得探索的选择。

### 4. 利用并行处理

如果你有访问多核处理器或集群的权限,可以考虑使用Stata/MP版本(如果适用)或者通过脚本实现数据集分割后的并行处理。这样可以显著加快处理速度。

### 总结

虽然在Stata中直接操作如此大规模的数据进行DEA分析具有挑战性,但是通过上述策略组合使用,你仍然能够高效且准确地完成任务。重要的是要充分利用你的计算资源,并合理规划数据处理流程。希望这些建议能帮助到你!

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



30
大熊猫123 发表于 2024-11-4 14:23:14
这个问题,我已经解决,就是你DEA命令用的是版本。你在C:\Stata17\ado\plus\d里删掉dea.ado,然后重新下载安装即可!

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-29 00:18