SAS:如何使用PROC NLMIXED执行最大似然估计?

By simon at 2018-02-28 • 0人收藏 • 110人看过

我所要做的就是进行最大似然估计 单侧截断法线的参数。我想我已经指定了 可能适当,但我不断收到此错误:

错误:操作无效。错误:由Floa终止ting点例外 我认为我的代码没有任何问题。

data ln;
    input dor 8.;
    qt=quantile("normal", dor, 0, 1);   
    datalines;
0.10
0.20
0.15
0.22
0.15
0.10
0.08
0.09
0.12
;
run;

/* obtain number accounts */
%let dsn = ln;
%let dsnid = %sysfunc(open(&dsn));
%let nobs=%sysfunc(attrn(&dsnid,nlobs));
%let rc  =%sysfunc(close(&dsnid));

proc sql noprint;
    select count(*), mean(qt), std(qt) into :nobs, :mean, :std
    from ln;
quit;

%put &nobs.;
%put &mean.;
%put &std.;

proc nlmixed data=LN;
parms mu &mean. sigma &std.;                 * initial values of parameters;
bounds 0 < sigma;                   * bounds on parameters;
LL = logpdf("normal", qt, mu, sigma) - &nobs.*logcdf("normal",qt, mu, sigma);
model qt ~ general(LL);
run;

2 个回复 | 最后更新于 2018-02-28
2018-02-28   #1

实际上,我只能在SAS Enterprise Guide(EG)中运行。它运行良好 基地SAS。

2018-02-28   #2

你应该考虑你的SAS版本。 以下文档:http://support.sas.com/kb/46/318.html

这个错误occ当客户端系统运行32位版本时 SAS,因为32位版本的SAS无法打开包含该表的表更多 比2,147,483,647个观察值。这个数字是可能的最大值 存储在一个32位变量中,并且是如此有时被称为2G-1,其中 2G-1意味着2 ^ 31-1。 它似乎有可能修复它,但我恳请你继续运行Ë SAS Base上的代码,如果它运行良好并且不想浪费时间 系统配置。 问候,

登录后方可回帖

Loading...