全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2995 5
2013-04-06
TAccit/TAit-1 = β0  +β1 (1/ TAit-1 ) +β2(ΔREVit / TAit-1) +β3(PPEit / TAit-1 ) +εit。请问 β1的值回归出来很大。这是为什么啊。请高手不吝赐教,感激不尽
二维码

扫码加我 拉你入群

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

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

全部回复
2013-4-6 12:42:04
可能是极端值的影响。在数据处理过程中,有没有针对连续变量做极端值处理呢?我在stata中,队连续变量都进行winsor处理,楼主不妨试试看。
二维码

扫码加我 拉你入群

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

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

2013-4-6 12:44:54
我也处理过,但是处理后。β2、β3都变为超小的数。保留2位以后就为0
二维码

扫码加我 拉你入群

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

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

2013-4-6 12:46:52
proc univariate data=repr888;  
   var  tacc jj ppe1 d_rev_rec1 d_rev1 roa;
   output out=a_quant p1=jj_p1 tacc_p1 ppe1_p1 d_rev_rec1_p1 d_rev1_p1 roa_p1 p99=jj_p99 tacc_p99 ppe1_p99 d_rev_rec1_p99 d_rev1_p99 roa_p99;
run;
proc sql;
   create table a_winsorize as select repr888.stkcd,repr888.year,repr888.indcd,
   case
  
   when(tacc<tacc_p1) then tacc_p1
   when(tacc>tacc_p99)  then tacc_p99
   else tacc
   end as tacc,
   case
   when(ppe1<ppe1_p1) then ppe1_p1
   when(ppe1>ppe1_p99)  then ppe1_p99
   else ppe1
   end as ppe1,
   case
   when(d_rev_rec1<d_rev_rec1_p1) then d_rev_rec1_p1
   when(d_rev_rec1>d_rev_rec1_p99)  then d_rev_rec1_p99
   else d_rev_rec1
   end as d_rev_rec1,
   case
   when(d_rev1<d_rev1_p1) then d_rev1_p1
   when(d_rev1>d_rev1_p99)  then d_rev1_p99
   else d_rev1
   end as d_rev1,
    case
   when(jj<jj_p1) then jj_p1
   when(jj>jj_p99)  then jj_p99
   else jj
   end as jj,
    case
   when(roa<roa_p1) then roa_p1
   when(roa>roa_p99)  then roa_p99
   else roa
   end as roa
   from repr888, a_quant;
   quit;

proc sort data=a_winsorize;
by indcd year;
run;

我WISOR的过程没问题吧
二维码

扫码加我 拉你入群

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

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

2013-4-6 12:47:17
JJ表示1/ta
二维码

扫码加我 拉你入群

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

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

2013-4-6 12:47:51
对了,我加了roa控制变量
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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