全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学
1856 3
2010-05-30
上次多谢你指点,帮我解决了bootstrap中的残值再抽样问题,非常感谢。


现在想用另一种bootstrap方法(simulation方法,我称之为jointly sampling.)


1, 对每家公司,按公式:Yi,t=ai+bi*Bi,t+ci*Ci,t 做时间序列回归。得出每家公司的ai,
以及
Zi,t=Yi,t-ai;


2, 然后对每家公司的时间t进行有放回的再抽样(抽取300次,我的研究时间段一共300个月),不管每家公司原来有多少期,都抽出同样300期。比如有一家公司虽然只有70期,但也抽出300期来。(上次进行的是残值再抽样,而且抽取的次数和公司原来的期数一致)

3;
Zi,t =alphai+bi*Bi,t+ci*Ci,t
时间序列回归(每个公司都有抽取出来的300期了),得出一个新的alphai and t-statistic of alpha ;


4. 步骤23,重复1000次。也就是说每家公司最后有1000
new alpha and t-statitics of alpha.


不知如何能够实现?望jingju11能否再次指教一下!非常感激.
二维码

扫码加我 拉你入群

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

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

全部回复
2010-5-30 05:24:01
上传一个附件,是我样本的前四家公司的数据;
附件列表

original.xls

大小:108 KB

 马上下载

二维码

扫码加我 拉你入群

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

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

2010-5-30 07:54:09
第一步之后,进行第二步:对每个公司,先把每个日期按顺序编上号,再重复抽样300次,可否用这个句子?!
data n.original1;
set n.original;
by co;
if first.co then n=0;
n+1;
run;
%macro BootMcr (b=1000);
Proc sql noprint;
  Select count(distinct co) into :ncos
from n.original1
order by co;
  Select distinct co, count(*) as count into :cos separated by' ' , :nobs separated by ' '
from n.original1
group by co;
quit;
data %do t=1 %to &ncos;
%let co= %scan(&cos, &t);  
boots&t (where=(co=&co)) %end;;
  Set n.original1;
Run;
Data n.bootstrap;
  Do sample=1 to &b;
   %do t=1 %to &ncos;
    %let nobs_= %scan(&nobs, &t);
      Do i=1 to 300;
         x=ceil(ranuni(&t)*&nobs_);
         Set boots&t point=x;
         Output;
       End;
     %End;
  end;
  Stop;
Run;
%MEND BootMcr;
%BootMcr;
二维码

扫码加我 拉你入群

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

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

2010-5-30 10:52:27
you are right.
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群