如何在mean
数据集中获取以下代码以覆盖参数的最佳值(sigma
和parameter
)?
data parameter(type=est);
Keep _type_ sigma mean;
_type_='parms'; sigma=0.1; mean=0.1;
data data;
input x @@;
datalines;
1 3 4 5 7;
proc nlp data=Data NOMISS tech=tr inest=parameter Pcov phes;
max loglik;
parms sigma mean;
loglik=-0.5*((x-mean)/sigma)**2-log(sigma);
run;
答案 0 :(得分:1)
在PROC NLIN语句中,使用OUTEST =选项创建包含最佳参数值的输出数据集,以及其他统计信息。
虽然我不建议直接覆盖INEST =数据集,但可以在OUTEST =语句中使用相同的名称来完成。使用WHERE子句和KEEP子句使输出数据集看起来与输入数据完全相同。例如:
proc nlp data=D NOMISS tech=tr inest=parameter Pcov phes
outest=ParamOpt(where=(_TYPE_="PARMS") keep=_type_ sigma mean);
我使用'ParamOpt'作为输出数据集的名称,但您可以使用'Parameter'来覆盖输入数据集。