【问题标题】:Overwriting the optimal values of parameters after running PROC NLP in SAS在 SAS 中运行 PROC NLP 后覆盖参数的最优值
【发布时间】:2015-07-08 01:15:57
【问题描述】:

如何获取以下代码来覆盖parameter 数据集中我的参数(即meansigma)的最佳值?

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;

【问题讨论】:

    标签: sas


    【解决方案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”作为输出数据集的名称,但您可以使用“参数”覆盖输入数据集。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多