请选择 进入手机版 | 继续访问电脑版
楼主: dudumao123
3926 8

[编程问题求助] 求高人指点:如何对部分数据回归 [推广有奖]

  • 2关注
  • 0粉丝

硕士生

22%

还不是VIP/贵宾

-

威望
0
论坛币
33 个
通用积分
28.7766
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
5062 点
帖子
109
精华
0
在线时间
149 小时
注册时间
2013-7-16
最后登录
2017-4-21

dudumao123 发表于 2014-10-1 10:35:21 |显示全部楼层 |坛友微信交流群
5论坛币
比如我有200个样本,如何对200个样本回归,再逐一对199个样本回归,再逐一对198个样本进行回归……以此类推。望解答,感激不尽!

最佳答案

austen06 查看完整内容

虽然不清楚你为什么要这样运用计量,但仅作为编程的练习,给你个示范代码吧 sysuse auto, clear macro drop _all forvalue i=1/10{ forvalue j=1/10{ quietly reg price mpg if _n!=`i' & _n!=`j' local r`i'`j' = e(r2) display `i' `j' `r`i'`j'' } }
关键词:求高人指点 高人指点 部分数据 感激不尽 如何 样本
austen06 发表于 2014-10-1 10:35:22 |显示全部楼层 |坛友微信交流群
虽然不清楚你为什么要这样运用计量,但仅作为编程的练习,给你个示范代码吧
sysuse auto, clear
macro drop _all

forvalue i=1/10{
        forvalue j=1/10{
        quietly reg price mpg if _n!=`i' &  _n!=`j'
        local r`i'`j' = e(r2)
        display `i' `j' `r`i'`j''
        }
}

使用道具

jiangqing001 发表于 2014-10-1 11:36:01 |显示全部楼层 |坛友微信交流群
用循环:
for each loop: sample records and then do lm model
已有 1 人评分经验 收起 理由
crystal8832 + 5 热心帮助其他会员

总评分: 经验 + 5   查看全部评分

使用道具

dudumao123 发表于 2014-10-1 11:54:31 |显示全部楼层 |坛友微信交流群
jiangqing001 发表于 2014-10-1 11:36
用循环:
for each loop: sample records and then do lm model
是用foreach命令吗?能具体一点吗?

使用道具

austen06 发表于 2014-10-2 00:23:15 |显示全部楼层 |坛友微信交流群
请给出详细一点的描述,199个样本,要踢出哪一个observation?

使用道具

jiangqing001 发表于 2014-10-2 09:07:31 |显示全部楼层 |坛友微信交流群
dudumao123 发表于 2014-10-1 11:54
是用foreach命令吗?能具体一点吗?
伪代码;看您使用的是什么软件了;
先取所有的记录的行号,
比如说:在第一次循环中使用所有的记录,做完回归把结果保存以后;
在第二次循环,随机抽取199个[200-i(循环次数)]再做回归保存结果{或是你要指定删掉的记录行号}
...
第n次循环:取200-n个记录做回归,保存结果


不知道您明白我的意思了没有

使用道具

dudumao123 发表于 2014-10-2 16:27:01 |显示全部楼层 |坛友微信交流群
jiangqing001 发表于 2014-10-2 09:07
伪代码;看您使用的是什么软件了;
先取所有的记录的行号,
比如说:在第一次循环中使用所有的记录,做 ...
大概明白你的意思,我就用stata操作,比如我200个国家的数据,第二次循环中,我需要每199个国家回归一次,先是1,2,3……199;然后是1,2,3……198,200;然后1,2,3……197,199,200;……,最后2,3,4,……200。就是不知道怎么能按顺序每次取不同的199个,如果随机抽取199个的话就不知道顺序了,而且可能会有重复?

使用道具

dudumao123 发表于 2014-10-2 16:30:45 |显示全部楼层 |坛友微信交流群
austen06 发表于 2014-10-2 00:23
请给出详细一点的描述,199个样本,要踢出哪一个observation?
就是先从200个样本中依次剔除一个样本,循环200次都保证有199个样本;然后从200个中依次剔除2个样本,循环19900次都保证有198个样本。不知道说清楚没有,这样做主要是为了找出使回归结果最好的子样本。

使用道具

dudumao123 发表于 2014-10-5 09:31:13 |显示全部楼层 |坛友微信交流群
austen06 发表于 2014-10-5 01:07
虽然不清楚你为什么要这样运用计量,但仅作为编程的练习,给你个示范代码吧
sysuse auto, clear
macro dr ...
谢谢你了~

使用道具

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

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

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

GMT+8, 2024-3-28 17:25