楼主: wtst
135 1

[回归分析求助] 岭回归xtregfem报错unable to allocate matrix原因请教 [推广有奖]

  • 0关注
  • 1粉丝

讲师

57%

还不是VIP/贵宾

-

威望
0
论坛币
3194 个
通用积分
334.2381
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
18231 点
帖子
256
精华
0
在线时间
538 小时
注册时间
2018-4-10
最后登录
2024-5-16

楼主
wtst 学生认证  发表于 2024-4-29 12:29:07 |只看作者 |坛友微信交流群|倒序 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我在STATA中使用xtregfem希望进行岭回归,代码如下:
  1. xtregfem $Y $X $CV,    id(stkcd) it(year) ridge(orr) kr(0.05)
复制代码
其中,观测值共7200条,unique stkcd为571条,unique year为14条;
已知Y, X, CV中均无离散型变量;
但X1有4300条取0
回归后产生以下报错
  1. unable to allocate matrix;
  2.     You have attempted to create a matrix with too many rows or columns or attempted to fit a model with
  3.     too many variables.

  4.     You are using Stata/MP which supports matrices with up to 65534 rows or columns.  This is the maximum
  5.     matrix size.

  6.     If you are using factor variables and included an interaction that has lots of missing cells, try set
  7.     emptycells drop to reduce the required matrix size; see help set emptycells.

  8.     If you are using factor variables, you might have accidentally treated a continuous variable as a
  9.     categorical, resulting in lots of categories.  Use the c. operator on such variables.
  10. r(915);
复制代码
请问是何原因,如何解决,谢谢
二维码

扫码加我 拉你入群

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

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

关键词:matrix unable xtreg ABLE CAT

沙发
赵安豆 发表于 2024-5-7 19:23:59 |只看作者 |坛友微信交流群
该错误是因为在执行xtregfem命令时,由于X变量中存在大量的0值(4300条),导致矩阵运算过程中需要处理的元素数量过多,超过了STATA/MP允许的最大矩阵大小(65534行或列)。

为了解决这个问题,你可以尝试以下方法:

1. 精简模型:检查X变量,删除那些大部分观测值为0且对模型影响不大的变量。
2. 使用虚拟变量:将X1转换为虚拟变量(dummy variable),例如如果X1只有0和1两种取值,可以创建一个指示器变量来代替。
3. 分组回归:根据stkcd或year进行分组,分别进行岭回归,以减小每次回归中的观测数。
4. 降低 ridge 参数(kr)的值,这可能会减少矩阵的大小,但可能也会改变模型的性质。

请尝试上述方法之一,看是否能够解决报错问题。如果问题仍然存在,请考虑升级到更大内存版本的STATA或者优化数据处理流程。

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



使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

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

GMT+8, 2024-5-16 09:19