當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R coxph.control 控製 coxph 擬合的輔助參數


R語言 coxph.control 位於 survival 包(package)。

說明

這用於設置控製 Cox 模型擬合的各種數值參數。通常,它僅用於調用 coxph

用法

coxph.control(eps = 1e-09, toler.chol = .Machine$double.eps^0.75,
iter.max = 20, toler.inf = sqrt(eps), outer.max = 10, timefix=TRUE)

參數

eps

繼續迭代,直到對數偏似然的相對變化小於 eps,或者絕對變化小於 sqrt(eps)。必須是正的。

toler.chol

在方差矩陣的 Cholesky 分解期間檢測奇異性的容差,即檢測冗餘預測變量。

iter.max

嘗試收斂的最大迭代次數。

toler.inf

有關可能的無限係數值的警告消息的容差標準。

outer.max

對於懲罰的 coxph 模型,例如對於 pspline 項,有一個迭代的外循環來確定懲罰參數;該外循環的最大迭代次數。

timefix

解決時間變量中的任何接近關係。

細節

收斂公差是一種平衡。用戶認為他們想要似然麵的最大點,並且對於表現良好的數據集,其在最大值附近是二次的,高精度是相當便宜的:每次迭代正確數字的數量大約增加一倍。相反,在任何給定方向上從最大值下降 0.0001 將僅對應於係數標準誤差變化的約 1/20。從統計數據來看,比這更精確的是對小昆蟲的緊張。基於此,作者最初將容差設置為 1e-5,但麵對多個“為什麽答案與包 X 不同”的查詢,態度有所緩和。

要求太接近機器精度 (double.eps) 的結果是愚蠢的事情;合理的標準通常是該精度的平方根。然而,Cholesky 分解需要遵守比整體收斂標準更高的標準。 tolerance.inf 值控製警告消息;如果太小,可能會出現不正確的警告,如果太大,將無法檢測到無限係數的某些實際情況。

最困難的情況是 MLE 係數無窮大的數據集;一個例子是一個數據集,其中在每個死亡時間,死亡的是具有最大協變量值的受試者。在這種情況下,係數在每次迭代時都會增加,而對數似然則漸近至最大值。隨著迭代的進行,三個端點存在競爭條件:exp(coef) 溢出、Hessian 矩陣變為奇異、或者 loglik 的變化足夠小以滿足收斂標準。前兩個很難預測並導致數字困難,這是選擇 eps 時適度選擇的另一個論點。

有關 timefix 選項的更詳細說明,請參閱小插圖“舍入誤差和綁定時間”。簡而言之,當通過減法創建時間間隔時,由於浮點舍入誤差,實際上相同的兩個時間間隔可能會顯得不同,這反過來又會使 coxphsurvfit 結果取決於諸如操作完成的順序或運行操作的特定計算機。不幸的是,此類案例在實踐中並不少見。 timefix=TRUE 選項添加與 all.equal 類似的邏輯,以確保結果可靠。然而,在分析模擬數據集時,根據定義通常不能有重複項,因此通常需要將該選項設置為 FALSE 以避免對接近的數值進行虛假合並。

包含上述每個常量的值的列表

也可以看看

coxph

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Ancillary arguments for controlling coxph fits。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。