2

SAS 语句中的itprint选项导致显示迭代历史。这包括一个 Ridge 值,以及每次迭代的 beta 值和对数可能性。Ridge 通常为零,但当对数似然比前一次迭代的对数似然更负时,它就是非零。我需要知道 SAS 如何计算该脊值,并且在该过程的“详细信息”部分或其他任何地方都找不到任何内容。classproc phreg

看来,默认情况下,Ridge 值始终为0.0001 * 2^n,并且 SAS 以 开始n=0并递增n,直到对数似然比前一次迭代中的负数更小。但我已经测试了至少一个使用 SAS 的示例Ridge=0.4096何时Ridge=0.2048就足够了。

更新:我现在认为 SAS 正在迭代4^n,而不是2^n. 这解释了跳过2048并且与我迄今为止的测试一致。

所以我想我已经回答了我自己的问题,现在希望这种方法得到学术支持。正如Robert PenridgeJoe建议的那样,我可能会在Cross Validated中寻求这一点。

4

1 回答 1

0

当 PHREG 未能收敛时,即当对数似然值比前一次迭代更负时,该过程计算一个脊值。这个值是RIDGEINIT * 2^nn递增直到对数似然值变得不那么负,或者岭值达到RIDGEMAX

默认RIDGEINIT值为1e-4.

默认RIDGEMAX值为MAX(1, RIDGEINIT) * 2000.

于 2014-11-19T19:53:51.390 回答