僅知道最小值/最大值的數據的統計方法
是否有一個統計分支可以處理精確值未知的數據,但對於每個個體,我們知道該值的最大值或最小值?
我懷疑我的問題主要源於我在努力用統計術語表達它,但希望一個例子有助於澄清:
假設有兩個相連的種群和這樣,在某些時候,成員可能“過渡”成,但反過來是不可能的。轉換的時間是可變的,但不是隨機的。例如,可能是“沒有後代的個體”和“至少有一個後代的個人”。我對這種進展發生的年齡感興趣,但我只有橫截面數據。對於任何給定的個人,我可以找出他們是否屬於或者. 我也知道這些人的年齡。對於人口中的每個人,我知道過渡的年齡將大於他們當前的年齡。同樣,對於成員,我知道過渡的年齡小於他們現在的年齡。但我不知道確切的值。
假設我有一些其他因素想與過渡年齡進行比較。例如,我想知道一個人的亞種或體型是否會影響第一個後代的年齡。我肯定有一些有用的信息可以為這些問題提供信息:平均而言,, 年長者會有較晚的過渡期。但信息不完善,尤其是對於年輕人而言。人口反之亦然.
是否有既定的方法來處理此類數據?我不一定需要如何進行這種分析的完整方法,只需要一些搜索詞或有用的資源就可以讓我在正確的地方開始!
警告:我正在做一個簡化的假設,即從到是瞬時的。我還準備假設大多數人會在某個時候進步到,假設他們活得足夠長。而且我意識到縱向數據會非常有用,但假設在這種情況下它不可用。
抱歉,如果這是重複的,正如我所說,我的部分問題是我不知道我應該搜索什麼。出於同樣的原因,請酌情添加其他標籤。
樣本數據集:Ssp 表示兩個亞種之一,或者. 後代表示沒有後代() 或至少一個後代 ()
age ssp offsp 21 Y A 20 Y B 26 X B 33 X B 33 X A 24 X B 34 Y B 22 Y B 10 Y B 20 Y A 44 X B 18 Y A 11 Y B 27 X A 31 X B 14 Y B 41 X B 15 Y A 33 X B 24 X B 11 Y A 28 X A 22 X B 16 Y A 16 Y B 24 Y B 20 Y B 18 X B 21 Y B 16 Y B 24 Y A 39 X B 13 Y A 10 Y B 18 Y A 16 Y A 21 X A 26 X B 11 Y A 40 X B 8 Y A 41 X B 29 X B 53 X B 34 X B 34 X B 15 Y A 40 X B 30 X A 40 X B
編輯:示例數據集已更改,因為它不是很有代表性
這稱為當前狀態數據。您獲得了數據的一個橫截面視圖,並且關於響應,您所知道的是,在每個受試者的觀察年齡,事件(在您的情況下:從 A 過渡到 B)已經發生或未發生。這是區間刪失的一個特例。
為了正式定義它,讓是對象的(未觀察到的)真實事件時間. 讓主題檢查時間(在您的情況下:檢查年齡)。如果, 數據是右刪失的。否則,數據將被刪失。我們對建模的分佈很感興趣. 對於回歸模型,我們感興趣的是建模該分佈如何隨一組協變量變化.
要使用區間刪失方法對此進行分析,您需要將數據放入一般區間刪失格式。也就是說,對於每個主題,我們都有區間,它表示我們知道的區間被包含。所以如果主題在檢查時正確審查,我們會寫. 如果它被審查在,我們將其表示為.
無恥插件:如果你想使用回歸模型來分析你的數據,這可以在 R 中使用
icenReg
(我是作者)來完成。事實上,在關於當前狀態數據的類似問題中,OP 提供了一個很好的使用 icenReg 的演示。他首先表明忽略審查部分並使用邏輯回歸會導致偏差(重要說明:他指的是使用邏輯回歸而不調整年齡。稍後會詳細介紹。)另一個很棒的包是
interval
,其中包含對數秩統計測試以及其他工具。編輯:
@EdM 建議使用邏輯回歸來回答問題。我不公平地對此不屑一顧,說您將不得不擔心時間的功能形式。雖然我支持你應該擔心時間的函數形式的說法,但我意識到有一個非常合理的轉換可以導致一個合理的參數估計量。
特別是,如果我們在邏輯回歸模型中使用 log(time) 作為協變量,我們最終會得到一個具有 log-logistic 基線的比例優勢模型。
要看到這一點,首先考慮比例優勢回歸模型定義為
在哪裡是當時的基線生存機率. 請注意,回歸效果與邏輯回歸相同。所以我們現在需要做的就是證明基線分佈是對數邏輯的。
現在考慮以 log(Time) 作為協變量的邏輯回歸。然後我們有
通過一些工作,您可以將其視為對數邏輯模型的 CDF(具有參數的非線性變換)。
R證明擬合是等價的:
> library(icenReg) > data(miceData) > > ## miceData contains current status data about presence > ## of tumors at sacrifice in two groups > ## in interval censored format: > ## l = lower end of interval, u = upper end > ## first three mice all left censored > > head(miceData, 3) l u grp 1 0 381 ce 2 0 477 ce 3 0 485 ce > > ## To fit this with logistic regression, > ## we need to extract age at sacrifice > ## if the observation is left censored, > ## this is the upper end of the interval > ## if right censored, is the lower end of interval > > age <- numeric() > isLeftCensored <- miceData$l == 0 > age[isLeftCensored] <- miceData$u[isLeftCensored] > age[!isLeftCensored] <- miceData$l[!isLeftCensored] > > log_age <- log(age) > resp <- !isLeftCensored > > > ## Fitting logistic regression model > logReg_fit <- glm(resp ~ log_age + grp, + data = miceData, family = binomial) > > ## Fitting proportional odds regression model with log-logistic baseline > ## interval censored model > ic_fit <- ic_par(cbind(l,u) ~ grp, + model = 'po', dist = 'loglogistic', data = miceData) > > summary(logReg_fit) Call: glm(formula = resp ~ log_age + grp, family = binomial, data = miceData) Deviance Residuals: Min 1Q Median 3Q Max -2.1413 -0.8052 0.5712 0.8778 1.8767 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 18.3526 6.7149 2.733 0.00627 ** log_age -2.7203 1.0414 -2.612 0.00900 ** grpge -1.1721 0.4713 -2.487 0.01288 * --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for binomial family taken to be 1) Null deviance: 196.84 on 143 degrees of freedom Residual deviance: 160.61 on 141 degrees of freedom AIC: 166.61 Number of Fisher Scoring iterations: 5 > summary(ic_fit) Model: Proportional Odds Baseline: loglogistic Call: ic_par(formula = cbind(l, u) ~ grp, data = miceData, model = "po", dist = "loglogistic") Estimate Exp(Est) Std.Error z-value p log_alpha 6.603 737.2000 0.07747 85.240 0.000000 log_beta 1.001 2.7200 0.38280 2.614 0.008943 grpge -1.172 0.3097 0.47130 -2.487 0.012880 final llk = -80.30575 Iterations = 10 > > ## Comparing loglikelihoods > logReg_fit$deviance/(-2) - ic_fit$llk [1] 2.643219e-12
請注意,
grp
每個模型中的效果是相同的,最終的對數似然僅因數值誤差而有所不同。基線參數(即邏輯回歸的截距和 log_age,區間刪失模型的 alpha 和 beta)是不同的參數化,因此它們不相等。所以你有它:使用邏輯回歸相當於用對數邏輯基線分佈擬合比例賠率。如果您可以擬合此參數模型,則邏輯回歸是非常合理的。我確實警告說,對於區間刪失數據,由於難以評估模型擬合,半參數模型通常受到青睞,但如果我真的認為沒有完全參數模型的位置,我不會將它們包含在
icenReg
.