楼主: zlqs1985
1794 3

[mata问题求助] 大家帮我看看mata下这步运算为什么出错? [推广有奖]

  • 2关注
  • 17粉丝

已卖:32份资源

副教授

2%

还不是VIP/贵宾

-

威望
0
论坛币
1020 个
通用积分
12.0990
学术水平
2 点
热心指数
6 点
信用等级
2 点
经验
8730 点
帖子
323
精华
0
在线时间
815 小时
注册时间
2008-9-18
最后登录
2023-1-16

楼主
zlqs1985 发表于 2012-2-23 16:01:25 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
         刚入手mata , 有下面的算法
         mata
         : st_view(x=. , . , ("weight","foreign","cons"))
         : st_view(y=. , . , "mpg")
         : b=invsym(x'*x)*x' *y
         : e=y-x*b
         : k=cols(x)
         : s2=(e:^2)/[rows(x)-k]
         : n=rows(x)
         : s2=(e' * e)/(n-k)     这里有个问题,为什么我用s2=(e:^2)/[rows(x)-k] 或者是 : s2=(e'*e)/[rows(x)-k] 就要报错 QQ截图未命名.png
       如果想计算robust方差 输入
        xe=x:*e
        Vr=invsym(x'*x)*(xe'*xe)*invsym(x'*x)rows(x)/[rows(x)-k]
QQ截图未命名.png
   诚心 请教错误原因

二维码

扫码加我 拉你入群

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

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

关键词:MATA Mat Foreign robust Weight foreign

沙发
zlqs1985 发表于 2012-2-23 16:02:13
  ps:我现在的版本是10.1

藤椅
h3327156 发表于 2012-2-23 18:13:43
您第一个可能的错误,s2=(e:^2)/[rows(x)-k]  其中(e:^2)分子,这算出来是一个matrix,分母按理因是一个元素的矩阵,或者可视为纯量scalar,但您却用了中括号,总之这是矩阵维度阵列的不一致,mata看不懂您的表达。
您第二个可能的错误,s2=(e'*e)/[rows(x)-k] ,分子这算出来是一个元素的matrix,所以表达没问题,但您分子还是一样,犯地错误是用了中括号[],正确的方式是s2=(e'*e)/(rows(x)-k)

后面的我不想讲了! 要仔细阿! 您慢慢分子分母一个一个测,不要觉得电脑或软件很聪明,式子太复杂
建议您拆解,就能看出为什么罗!

以下是我帮您侦测的结果,
sysuse auto
mata: st_view(X=.,.,("price","mpg"))
mata: st_view(y=. , . , "turn")
mata: b=invsym(X'*X)*X'*y
mata: e=y-X*b
mata: k=cols(X)
mata: s2=(e' * e)/(n-k)
mata: s3=(e:^2)/[rows(X)-k]
mata: s3_1=(e:^2)
mata: s3_2=rows(X)-k
mata: s4=(e'*e)/[rows(X)-k]
mata: s4_1=(e'*e)
mata: s4_new=(e'*e)/(rows(X)-k)
mata: s4_new  

祝福您学习愉快!

最后,建议您学习Stata12的新mata指令,如putmata与getmata,调用上会方便许多!
已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
Sunknownay + 100 + 10 + 1 + 1 + 1 热心帮助其他会员

总评分: 经验 + 100  论坛币 + 10  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

板凳
zlqs1985 发表于 2012-2-24 00:26:39
    老师一句话指点迷津,胜过自己瞎忙一个下午,真的要自己下功夫了

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

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