在SAS中运行PROC NLP后覆盖参数的最佳值

时间:2015-07-07 08:42:26

标签: sas

如何在mean数据集中获取以下代码以覆盖参数的最佳值(sigmaparameter)?

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;

1 个答案:

答案 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'来覆盖输入数据集。