concordance
位於 survival
包(package)。 說明
一致性統計量計算觀察到的響應與預測變量之間的一致性。它與 Kendall 的 tau-a 和 tau-b、Goodman 的 gamma 和 Somers 的 d 密切相關,所有這些也可以從該函數的結果計算出來。
用法
concordance(object, ...)
## S3 method for class 'formula'
concordance(object, data, weights, subset, na.action,
cluster, ymin, ymax, timewt= c("n", "S", "S/G", "n/G2", "I"),
influence=0, ranks = FALSE, reverse=FALSE, timefix=TRUE, keepstrata=10, ...)
## S3 method for class 'lm'
concordance(object, ..., newdata, cluster, ymin, ymax,
influence=0, ranks=FALSE, timefix=TRUE, keepstrata=10)
## S3 method for class 'coxph'
concordance(object, ..., newdata, cluster, ymin, ymax,
timewt= c("n", "S", "S/G", "n/G2", "I"), influence=0,
ranks=FALSE, timefix=TRUE, keepstrata=10)
## S3 method for class 'survreg'
concordance(object, ..., newdata, cluster, ymin, ymax,
timewt= c("n", "S", "S/G", "n/G2", "I"), influence=0,
ranks=FALSE, timefix=TRUE, keepstrata=10)
參數
object |
擬合模型或公式。該公式應采用 |
data |
data.frame,用於解釋 |
weights |
案例權重的可選向量。僅當 |
subset |
表達式,指示在擬合中應使用數據行的哪個子集。僅當 |
na.action |
缺失數據過濾函數。在使用任何子集參數後,這將應用於model.frame。默認為 |
... |
允許多個擬合模型。僅當 |
newdata |
可選,一個新的 DataFrame ,用於評估(但不重新擬合)模型 |
cluster |
用於計算穩健方差的可選分組向量 |
ymin , ymax |
計算限製範圍 ymin <= y <= ymax 上的一致性。 (對於生存數據,這是一個時間範圍。) |
timewt |
要應用的權重。總體統計數據是事件時間的加權平均值。 |
influence |
1=返回 dfbeta 向量,2=返回完整影響矩陣,3=返回兩者 |
ranks |
如果為 TRUE,則返回一個 DataFrame ,其中包含構成總體分數的縮放排名。 |
reverse |
如果為 TRUE,則假設較大的 |
timefix |
糾正可能的舍入誤差。請參閱有關綁定時間的小插圖以獲取更多說明。本質上,精確關係是一致性計算的重要組成部分,但"exact"對於浮點數來說可能是一個微妙的問題。 |
keepstrata |
TRUE、FALSE 或整數值。計算始終在層內完成,然後相加。如果層總數大於 |
細節
一致性是 的估計值,對於模型擬合,將 替換為 (模型的預測響應)。對於生存結果,某些值對是不可比較的,例如,在時間 5 進行審查,在時間 6 進行死亡,因為我們不知道第一個觀察是否會比第二個觀察更長久。在這種情況下,可評估對的總數較小。
與其他統計量的關係:對於連續的 x 和 y,2C-1 等於 Somers' d。如果響應是二元的,C 等於受試者工作曲線下的麵積或 AUC。對於生存響應和二元預測變量 C 是 Gehan-Wilcoxon 測試的分子。
簡單的計算需要將所有 n(n-1)/2 次比較相加,這對於大型數據集來說可能相當慢。此例程使用 O(n log(n)) 算法。在每個未經審查的事件時間 y,計算發生該事件的受試者的 x 排名,與所有其他存活時間較長的受試者的 x 值相比,其中排名的值在 0 到 1 之間。一致性是以下各項的加權平均值這些排名由 timewt
選項確定。當受試者添加到風險集中時,可以有效地更新排名向量。有關更多詳細信息,請參閱小插圖。
方差基於無窮小折刀。這種方法的一個優點是,它還為基於多個不同預測值的協方差提供了有效的協方差,即使這些預測來自完全不同的模型。例如,請參見下麵的示例,其中有一個泊鬆模型和兩個非嵌套 Cox 模型。例如,這對於將機器學習模型與 Cox 模型擬合進行比較很有用。然而,預測值必須準確對齊,每行都有相同的觀察值,這一點絕對至關重要;否則結果將是無意義的。 (警惕缺失值的影響。)
timewt
選項僅適用於審查數據。在本例中,默認值對應於 Harrell 的 C 統計量,該統計量與 Gehan-Wilcoxon 測試密切相關; timewt="S"
對應於 Peto-Wilcoxon,timewt="S/G"
是由 Schemper 建議的,timewt="n/G2"
對應於 Uno 的 C。事實證明,Schemper 和 Uno 權重在計算上是相同的,為了方便用戶,我們保留了兩個選項標簽。 timewt= "I"
選項與log-rank 統計信息相關。
當層數非常大時,例如在條件邏輯回歸中(clogit
函數),當不保留各個層結果時,可以使用更快的計算速度;使用keepstrata=FALSE
或keepstrata=0
來執行此操作。在一般情況下,keepstrata = 10
默認值隻是保持打印輸出易於管理:如果層數 <= 10,它會保留並打印 per-strata 計數。
值
concordance
類的對象包含以下組件:
concordance |
估計的一個或多個一致性值 |
count |
包含一致對數量的向量,不一致,與 x 相關但不與 y 相關,與 y 相關但不與 x 相關,並且與 x 和 y 均相關 |
n |
觀察數量 |
var |
包含基於無窮小折刀 (IJ) 方法的一致性估計方差的向量。如果有多個模型,它包含估計的方差/協方差矩陣。 |
cvar |
包含一致性值的估計方差的向量,基於比例風險模型的相關分數測試的方差公式。 (這是 |
dfbeta |
可選,一致性的杠杆估計向量 |
influence |
可選,每個計數的杠杆值矩陣,每個觀察一行 |
ranks |
可選,包含每個事件時間 Somers d 排名的 DataFrame ,以及時間權重和觀察的案例權重。排名的時間加權和將等於一致對-不一致對。 |
注意
出現數值故障的 coxph 模型可能具有未定義的預測值,在這種情況下,一致性將為 NULL。
現有 coxph 模型與 newdata
的計算對於原始調用中的額外參數有一些微妙之處。這些包括
-
模型中的tt() 項。 newdata 不支持此函數。
-
子集。原始調用中的任何子集子句都將被忽略,即不應用於新數據。
-
模型中的strata() 項。新數據預計將具有在原始數據集中找到的分層變量,並在分層內計算一致性。地層變量的水平不必與原始數據中的水平相同。
-
id 或 cluster 指令。這個問題還沒有解決。
例子
fit1 <- coxph(Surv(ptime, pstat) ~ age + sex + mspike, mgus2)
concordance(fit1, timewt="n/G2") # Uno's weighting
# logistic regression
fit2 <- glm(I(sex=='M') ~ age + log(creatinine), binomial, data= flchain)
concordance(fit2) # equal to the AUC
# compare multiple models
options(na.action = na.exclude) # predict all 1384 obs, including missing
fit3 <- glm(pstat ~ age + sex + mspike + offset(log(ptime)),
poisson, data= mgus2)
fit4 <- coxph(Surv(ptime, pstat) ~ age + sex + mspike, mgus2)
fit5 <- coxph(Surv(ptime, pstat) ~ age + sex + hgb + creat, mgus2)
tdata <- mgus2; tdata$ptime <- 60 # prediction at 60 months
p3 <- -predict(fit3, newdata=tdata)
p4 <- -predict(fit4) # high risk scores predict shorter survival
p5 <- -predict(fit5)
options(na.action = na.omit) # return to the R default
cfit <- concordance(Surv(ptime, pstat) ~p3 + p4 + p5, mgus2)
cfit
round(coef(cfit), 3)
round(cov2cor(vcov(cfit)), 3) # high correlation
test <- c(1, -1, 0) # contrast vector for model 1 - model 2
round(c(difference = test %*% coef(cfit),
sd= sqrt(test %*% vcov(cfit) %*% test)), 3)
作者
Terry Therneau
參考
F Harrell, R Califf, D Pryor, K Lee and R Rosati, Evaluating the yield of medical tests, J Am Medical Assoc, 1982.
R Peto and J Peto, Asymptotically efficient rank invariant test procedures (with discussion), J Royal Stat Soc A, 1972.
M Schemper, Cox analysis of survival data with non-proportional hazard functions, The Statistician, 1992.
H Uno, T Cai, M Pencina, R D'Agnostino and Lj Wei, On the C-statistics for evaluating overall adequacy of risk prediction procedures with censored survival data, Statistics in Medicine, 2011.
也可以看看
相關用法
- R concordancefit 計算一致性
- R colon B/C 期結腸癌的化療
- R coxsurv.fit survfit.coxph“計算引擎”的直接接口
- R coxph.wtest 計算二次形式
- R cox.zph 測試 Cox 回歸的比例風險假設
- R coxph.detail Cox 模型擬合的詳細信息
- R coxph 擬合比例風險回歸模型
- R coxph.control 控製 coxph 擬合的輔助參數
- R cgd0 慢性肉芽腫病數據
- R cipoisson 泊鬆分布的置信極限
- R cluster 識別集群。
- R cgd 慢性肉芽腫病數據
- R cch 將比例風險回歸模型擬合到病例隊列數據
- R clogit 條件邏輯回歸
- R hoel 小鼠癌症數據
- R survcondense 縮短 (time1, time2) 生存數據集
- R myeloid 急性粒細胞白血病
- R tobin 托賓的托比特數據
- R pseudo 生存的偽值。
- R levels.Surv 返回多狀態 Surv 對象的狀態
- R rats Mantel 等人的大鼠治療數據
- R diabetic 糖尿病視網膜病變
- R pbc 梅奧診所原發性膽汁性膽管炎數據
- R plot.survfit survfit 對象的繪圖方法
- R kidney 腎導管數據
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Compute the concordance statistic for data or a model。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。