有什么方法可以在SAS的过程逻辑中获得Hessian矩阵吗?还是从proc logistic出发计算出来的哪个选项?
我一直在阅读功能文档,但看不到有一种将其包含在输出表中的方法。
最佳答案
我搜索了SAS博客,并可能找到了使用proc nlp进行估算的方法。
data t1;
do i = 1 to 500;
x=rannor(3478);
y=1+2*x>rannor(3478);
output;
end;
run;
proc logistic data=t1 outest=parm covout desc;
model y=x/link=probit;
score data=t1 out=t2;
run;
proc nlp data=t1 outest=t2 PHESSIAN;
parms a=0, b=0 ;
max ll;
xbeta = a + b * x;
if y=1 then p=probnorm(xbeta);
else if y=0 then p=1-probnorm(xbeta);
ll=LOG(p);
run;
proc print data=parm(where=(_TYPE_='COV')); run;
*calculation covariance from hessian in above;
proc iml;
HESSIAN={ -143.2141617 64.771275623,
64.771275623 -64.13869603
};
HESSIAN_inv_neg=-inv(HESSIAN);
print HESSIAN ;
print HESSIAN_inv_neg;
quit;
希望这可以帮助。
原始答案发布在这里:http://comp.soft-sys.sas.narkive.com/nXdobtA5/hessian-and-scores-in-the-logistic-proc
关于sas - SAS中的黑森州?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28276220/