全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3231 3
2008-04-28

我是这样编的,但是P可能大于1,恳请高手指点,谢谢

data aa;
 do r=1 to 10;
 rj=rannor(12345);
   do f=1 to 20;
   treat=(ranuni(12345)>0.5);
   fij=1+1*treat+rj;
 p1=exp(fij)/(1+(exp(fij)));
   eij=rannor(0);
   ez=sqrt((1-p1)*p1)*eij;
   p=p1+ez;
   y=ranbin(0,1,p);
   output;
   end;
   end;
   run;

[此贴子已经被作者于2008-4-29 10:39:09编辑过]

二维码

扫码加我 拉你入群

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

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

全部回复
2008-4-29 10:24:00

  请问产生p1后计算p的目的是什么? 

  fij=1+1*treat+rj;p1=exp(fij)/(1+(exp(fij)));

  eij=rannor(0);ez=sqrt((1-p1)*p1)*eij;p=p1+ez;

  ez是在反映过度离散的情况吗,而且在模拟产生y的时候,p是没有被用到的

  y=ranbin(0,1,p1);

二维码

扫码加我 拉你入群

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

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

2008-4-29 10:57:00

我是直接按照书上多水平logistic模型的公式编的, ez是水平1的误差

yij=(pai)ij+ez=exp(fij)/(1+(exp(fij)))+ez;

fij=1+1*treat+rj;

ez=sqrt((1-p1)*p1)*eij

其中,ez服从二项分布

 


二维码

扫码加我 拉你入群

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

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

2008-4-30 21:26:00

由于自变量和因变量为非线性关系,所以第一水平误差项不用加,只添加第二水平误差项即可。

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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