Metodi statistici per dati in cui è noto solo un valore minimo / massimo


29

Esiste un ramo di statistiche che si occupa di dati per i quali non sono noti valori esatti , ma per ogni individuo conosciamo un limite massimo o minimo al valore ?

Sospetto che il mio problema derivi in ​​gran parte dal fatto che sto lottando per articolarlo in termini statistici, ma spero che un esempio possa aiutare a chiarire:

Supponiamo che ci siano due popolazioni collegate e tali che, ad un certo punto, i membri di A possano "passare" in B , ma non è possibile il contrario. I tempi della transizione sono variabili, ma non casuali. Ad esempio, A potrebbe essere "individui senza prole" e B "individui con almeno una prole". Sono interessato all'età in cui si verifica questa progressione, ma ho solo dati trasversali. Per ogni individuo, posso scoprire se appartengono ad A o B . Conosco anche l'età di questi individui. Per ogni individuo nella popolazione AB A B A B A B AABABABABA, So che l'età alla transizione sarà maggiore della loro età attuale. Allo stesso modo, per i membri di B , so che l'età alla transizione era MENO DELLA loro età attuale. Ma non conosco i valori esatti.

Supponiamo che io abbia qualche altro fattore che voglio confrontare con l'età della transizione. Ad esempio, voglio sapere se la sottospecie di un individuo o le dimensioni del corpo influenzano l'età della prima prole. Ho sicuramente alcune informazioni utili che dovrebbero informare quelle domande: in media, degli individui in A , gli individui più anziani avranno una transizione successiva. Ma l'informazione è imperfetta , in particolare per le persone più giovani. E viceversa per la popolazione B .

Esistono metodi consolidati per gestire questo tipo di dati ? Non ho necessariamente bisogno di un metodo completo su come eseguire tale analisi, solo alcuni termini di ricerca o risorse utili per iniziare nel posto giusto!

Avvertenze: sto assumendo la semplificazione del presupposto che la transizione da a è istantanea. Sono anche pronto ad assumere che la maggior parte degli individui ad un certo punto passerà a , supponendo che vivano abbastanza a lungo. E mi rendo conto che i dati longitutinali sarebbero molto utili, ma presumo che non siano disponibili in questo caso.B BABB

Mi scuso se questo è un duplicato, come ho detto, parte del mio problema è che non so cosa dovrei cercare. Per lo stesso motivo, aggiungi altri tag se appropriato.

Set di dati campione: Ssp indica una delle due sottospecie, o . La prole indica che non vi è prole ( ) o almeno una prole ( )Y A BXYAB

 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

Modifica: set di dati di esempio modificato in quanto non molto rappresentativo


2
Questa è una situazione interessante Potete fornire i vostri dati?
gung - Ripristina Monica

1
Non sarei in grado di pubblicare l'intero set di dati ma potrei fornire un set di esempi.
user2390246

Risposte:


26

Questo è indicato come dati sullo stato corrente . Ottieni una vista in sezione trasversale dei dati e, per quanto riguarda la risposta, tutto ciò che sai è che all'età osservata di ciascun soggetto, l'evento (nel tuo caso: passaggio da A a B) è avvenuto o meno. Questo è un caso speciale di censura a intervalli .

Per definirlo formalmente, lascia che sia l'ora (non osservata) del vero evento per il soggetto . Lascia a il tempo di ispezione per il soggetto (nel tuo caso: età all'ispezione). Se , i dati vengono censurati correttamente . Altrimenti, i dati vengono lasciati censurati . Siamo interessati di modellare la distribuzione di . Per i modelli di regressione, siamo interessati a modellare come che la distribuzione cambia con una serie di covariate . i C i i C i < T i T XTiiCiiCi<TiTX

Per analizzarlo utilizzando i metodi di censura a intervalli, si desidera inserire i dati nel formato di censura a intervalli generali. Cioè, per ogni soggetto, abbiamo l'intervallo , che rappresenta l'intervallo in cui sappiamo che è contenuto. Quindi se il soggetto viene censurato correttamente al momento dell'ispezione , scriveremmo . Se viene lasciato censurato in , lo rappresenteremmo come .T i i c i ( c i , ) c i ( 0 , c i )(li,ri)Tiici(ci,)ci(0,ci)

Spina senza vergogna: se vuoi usare modelli di regressione per analizzare i tuoi dati, questo può essere fatto in R usando icenReg (sono l'autore). In effetti, in una domanda simile sui dati di stato attuali , l'OP ha creato una bella demo dell'uso di icenReg . Comincia mostrando che ignorare la parte censurante e usare la regressione logistica porta a distorsioni (nota importante: si riferisce all'utilizzo della regressione logistica senza adattarsi all'età . Maggiori informazioni su questo in seguito.)

Un altro ottimo pacchetto è interval, che contiene test statistici log-rank, tra gli altri strumenti.

MODIFICARE:

@EdM ha suggerito di utilizzare la regressione logistica per rispondere al problema. Ne sono stato ingiustamente sprezzante, dicendo che dovresti preoccuparti della forma funzionale del tempo. Mentre sostengo l'affermazione che dovresti preoccuparti della forma funzionale del tempo, mi sono reso conto che c'era una trasformazione molto ragionevole che porta a uno stimatore parametrico ragionevole.

In particolare, se utilizziamo log (tempo) come covariata nel nostro modello con regressione logistica, finiamo con un modello di probabilità proporzionale con una linea di base log-logistica.

Per vedere questo, prima considera che il modello di regressione delle quote proporzionali è definito come

Odds(t|X,β)=eXTβOddso(t)

dove è la probabilità base di sopravvivenza al momento . Si noti che gli effetti di regressione sono gli stessi della regressione logistica. Quindi tutto ciò che dobbiamo fare ora è mostrare che la distribuzione di base è log-logistica.tOddso(t)t

Consideriamo ora una regressione logistica con log (Time) come una covariata. Abbiamo quindi

P(Y=1|T=t)=exp(β0+β1log(t))1+exp(β0+β1log(t))

Con un po 'di lavoro, puoi vederlo come il CDF di un modello log-logistico (con una trasformazione non lineare dei parametri).

R dimostrazione che gli accoppiamenti sono equivalenti:

> 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

Si noti che l'effetto di grpè lo stesso in ciascun modello e la probabilità di log finale differisce solo per errore numerico. I parametri di base (ovvero intercetta e log_age per la regressione logistica, alfa e beta per il modello con intervallo censurato) sono parametrizzazioni diverse, quindi non sono uguali.

Quindi il gioco è fatto: usare la regressione logistica equivale ad adattare le quote proporzionali con una distribuzione di base log-logistica. Se stai bene adattando questo modello parametrico, la regressione logistica è abbastanza ragionevole. Presto attenzione che con i dati censurati per intervallo, i modelli semi-parametrici sono in genere favoriti a causa della difficoltà di valutare l'adattamento del modello, ma se davvero pensassi che non ci fosse spazio per i modelli completamente parametrici non li avrei inclusi icenReg.


Questo sembra molto utile. Daremo un'occhiata alle risorse che indichi e giocherò con il pacchetto icenReg. Sto cercando di capire perché la regressione logistica è meno adatta - il suggerimento di @EdM appare in superficie come se dovesse funzionare. Il pregiudizio sorge perché l '"evento" - qui, con la prole - potrebbe avere un effetto sulla sopravvivenza? Quindi, se diminuisce la sopravvivenza, troveremmo che tra gli individui di una determinata età, quelli che non si sono riprodotti saranno sovrarappresentati?
user2390246

1
@ user2390246: è possibile utilizzare la regressione logistica per i dati sullo stato corrente. Ma poi devi fare molto lavoro per ottenere la forma funzionale dell'età, e l'interazione con altre variabili, corretta. Questo è molto banale. Con i modelli basati sulla sopravvivenza, puoi usare una linea di base semi-parametrica ( ic_spin icenReg) e non preoccuparti affatto di ciò. Inoltre, guardando le curve di sopravvivenza per i due gruppi si risponde correttamente alla domanda. Cercare di ricreare ciò dall'adattamento logistico potrebbe essere fatto, ma ancora una volta, molto più lavoro rispetto all'utilizzo di modelli di sopravvivenza.
Cliff AB,

Sono d'accordo con @CliffAB su questo. Ho avuto un'esitazione nel raccomandare la regressione logistica in particolare a causa della difficoltà di ottenere la giusta forma funzionale per la dipendenza dall'età. Non ho avuto alcuna esperienza con l'analisi dei dati sullo stato corrente; non dover capire che la forma della dipendenza dall'età è un grande vantaggio di quella tecnica. Terrò comunque la mia risposta in modo che coloro che in seguito esamineranno questa discussione capiranno come è andata a finire.
EdM

Mi sembra che il tuo commento qui sia il nocciolo della questione. Sarebbe utile se tu potessi svilupparlo nella tua risposta. Ad esempio, se è possibile utilizzare i dati di esempio del PO per costruire un modello LR e un modello di sopravvivenza censurato a intervalli, e mostrare come quest'ultimo risponde più facilmente alla domanda di ricerca del PO.
gung - Ripristina Monica

1
@gung: in realtà, ho preso una posizione più morbida sulla regressione logistica. Ho modificato la mia risposta per riflettere questo.
Cliff AB

4

f(x)F(x)xiif(xi)yi1F(yi)ziF(zi)(yi,zi]F(zi)F(yi)


1
f(x)F(yi)F(yi+)

4

Questo problema sembra che potrebbe essere gestito bene dalla regressione logistica.

Hai due stati, A e B, e vuoi esaminare la probabilità che un determinato individuo sia passato irreversibilmente dallo stato A allo stato B. Una variabile predittiva fondamentale sarebbe l'età al momento dell'osservazione. L'altro fattore o fattori di interesse sarebbero ulteriori variabili predittive.

Il modello logistico utilizzerà quindi le osservazioni effettive dello stato, dell'età e di altri fattori A / B per stimare la probabilità di trovarsi nello stato B in funzione di tali predittori. L'età in cui quella probabilità supera 0,5 potrebbe essere utilizzata come stima del tempo di transizione e quindi si esaminerebbero le influenze degli altri fattori su quel tempo di transizione previsto.

Aggiunto in risposta alla discussione:

Come con qualsiasi modello lineare, è necessario assicurarsi che i predittori vengano trasformati in modo tale da avere una relazione lineare con la variabile di risultato, in questo caso le probabilità del log della probabilità di spostarsi nello stato B. Ciò non è necessariamente un problema banale. La risposta di @CliffAB mostra come utilizzare una trasformazione del log della variabile age.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.