全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5648 5
2010-07-12
我有一组买单和买单的数据,并能写出一般形式的对数似然函数,其中包含5个参数;想通过极大似然呢估计来得到这5个参数的估计值,请教高手我该如何做?
下面尝试写了一个粗浅的程序,但无法正确运行,不知nlmixed 能否达到要求?
data PIN;  
      input buy sell @@;
      datalines;  
123 140
78 103
106 100
212 231
187 152
128 192
49 70
0 2
62 147
68 106
62 120
137 204
85 220
11 27
93 113
48 124
36 113
32 138
24 137
35 192
   ;
    proc nlmixed data=PIN;
    parms alpha = 0.3   delta = 0.1  eb = 0.9 es  =1.1  mu = 0.6;
    bounds  alpha > 0;  
  f = (1-alpha) * pdf('POISSON',buy, eb) * pdf('POISSON',sell, es) + alpha * delta * pdf('POISSON',buy, eb) * pdf('POISSON',sell, es+mu) + alpha * (1-delta) * pdf('POISSON',buy, eb+mu) * pdf('POISSON',sell, es);
    logf=log(f);
    model  buy~ general(logf);
    run;

恳求热心人士帮忙,十分感谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-7-12 12:41:43
试一试NLP过程步,下面是我以前做logistic系数测试用的一个程序,请参考:

proc nlp data=a ;
max loglik;
profile a b / alpha=.5 .1 .05 .01;
parms a=0, b=1;
loglik=remiss*(a+b*cell)-log(1+exp(a+b*cell));
run;
二维码

扫码加我 拉你入群

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

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

2010-7-12 15:25:05
用这个吧,这个似乎能跑,但结果不怎么好。
你那样出错,可能迭代中f出现负号。

proc nlmixed data=PIN;
    parms alpha = 0.3   delta = 0.1  eb = 0.9 es  =1.1  mu = 0.6;
    bounds  alpha > 0;  
     f = (1-alpha) * pdf('POISSON',buy, eb) * pdf('POISSON',sell, es) + alpha * delta * pdf('POISSON',buy, eb) * pdf('POISSON',sell, es+mu) + alpha * (1-delta) * pdf('POISSON',buy, eb+mu) * pdf('POISSON',sell, es);
    logf=log(max(f,1E-12));
    model  buy~ general(logf);
    run;

楼主是想做高频数据分析?模型涉及随机的,又多个参数估计,我总觉得学术可以写一写,实务好难能用啊。
二维码

扫码加我 拉你入群

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

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

2010-7-12 20:54:21
多谢2楼热心提示, 我会尝试用NLP过程步。
多谢3楼的修改,你说的很对,我做的正是高频数据分析,计算信息性交易概率PIN,数据量很大,不好处理,确实是非常地麻烦啊!
再次感谢两位的热心帮助!我按你们的方法再试试。
二维码

扫码加我 拉你入群

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

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

2011-3-10 20:19:34
请问楼主你的程序中model步是什么意思?
二维码

扫码加我 拉你入群

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

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

2014-9-1 17:17:21
mark一下
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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