Métodos estatísticos para dados em que apenas um valor mínimo / máximo é conhecido


29

Existe um ramo da estatística que lida com dados cujos valores exatos não são conhecidos , mas para cada indivíduo sabemos um limite máximo ou mínimo associado ao valor ?

Suspeito que meu problema decorra em grande parte do fato de estar lutando para articulá-lo em termos estatísticos, mas espero que um exemplo ajude a esclarecer:

Digamos que haja duas populações conectadas e B de tal forma que, em algum momento, os membros de A possam "fazer a transição" para B , mas o inverso não é possível. O tempo da transição é variável, mas não aleatório. Por exemplo, A pode ser "indivíduos sem filhos" e B "indivíduos com pelo menos um filho". Estou interessado na idade em que essa progressão ocorre, mas só tenho dados transversais. Para qualquer indivíduo, eu posso descobrir se eles pertencem a A ou B . Eu também sei a idade desses indivíduos. Para cada indivíduo da população AABABABABA, Sei que a idade da transição será maior que a idade atual. Da mesma forma, para os membros de , eu sei que a idade de transição era MENOR DO que a idade atual. Mas não sei os valores exatos.B

Digamos que tenho outro fator que quero comparar com a idade da transição. Por exemplo, quero saber se a subespécie ou o tamanho do corpo de um indivíduo afeta a idade do primeiro filho. Definitivamente, tenho algumas informações úteis que devem informar essas questões: em média, os indivíduos em , os idosos terão uma transição posterior. Mas a informação é imperfeita , principalmente para indivíduos mais jovens. E vice-versa para a população B .UMAB

Existem métodos estabelecidos para lidar com esse tipo de dados ? Eu não preciso necessariamente de um método completo de como realizar essa análise, apenas alguns termos de pesquisa ou recursos úteis para começar no lugar certo!

Advertências: Estou assumindo que a transição de para B é instantânea. Também estou preparado para presumir que a maioria das pessoas progredirá em algum momento para B , supondo que elas vivam o suficiente. E percebo que os dados longitudinais seriam muito úteis, mas suponho que eles não estejam disponíveis neste caso.UMABB

Desculpas se isso é uma cópia, como eu disse, parte do meu problema é que eu não sei o que devo procurar. Pelo mesmo motivo, adicione outras tags, se apropriado.

Conjunto de dados de amostra: SspI indica uma de duas subespécies, ou Y . A prole indica que não há prole ( A ) ou pelo menos uma prole ( B )XYUMAB

 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

Editar: exemplo de conjunto de dados alterado porque não era muito representativo


2
Esta é uma situação interessante. Você pode fornecer seus dados?
gung - Restabelece Monica

1
Eu não seria capaz de postar o conjunto de dados completo, mas poderia dar um exemplo.
usuário2390246

Respostas:


26

Isso é conhecido como dados de status atual . Você obtém uma visão transversal dos dados e, em relação à resposta, tudo o que sabe é que, na idade observada de cada sujeito, o evento (no seu caso: a transição de A para B) aconteceu ou não. Este é um caso especial de censura por intervalo .

Para defini-la formalmente, vamos ser o (não observada) hora do evento verdade por assunto i . Deixe C i o tempo de inspeção para o sujeito i (no seu caso: idade na inspeção). Se C i < T i , os dados são censurados à direita . Caso contrário, os dados são deixados censurados . Nós somos interessantes na modelagem da distribuição de t . Para modelos de regressão, estamos interessados ​​em modelar como essa distribuição muda com um conjunto de covariáveisTiiCiiCi<TiT .X

Para analisar isso usando métodos de censura por intervalo, você deseja colocar seus dados no formato geral de censura por intervalo. Ou seja, para cada assunto, temos o intervalo , que representa o intervalo em que sabemos T i para ser contido. Então, se sujeita i é direito censurado em tempo de inspeção c i , gostaríamos de escrever ( c i , ) . Se for deixado censurado em c i , nós o representaríamos como ( 0 , c i ) .(li,ri)Tiici(ci,)ci(0,ci)

Plugue descarado: se você deseja usar modelos de regressão para analisar seus dados, isso pode ser feito em R usando icenReg (eu sou o autor). De fato, em uma pergunta semelhante sobre os dados de status atuais , o OP apresentou uma boa demonstração do uso do icenReg . Ele começa mostrando que ignorar a parte da censura e usar a regressão logística leva ao viés (observação importante: ele está se referindo ao uso da regressão logística sem ajustar a idade . Mais sobre isso mais adiante).

Outro ótimo pacote é interval, que contém testes estatísticos de classificação de log, entre outras ferramentas.

EDITAR:

A @ Edm sugeriu o uso de regressão logística para responder ao problema. Eu injustamente desprezei isso, dizendo que você precisaria se preocupar com a forma funcional do tempo. Enquanto defendo a afirmação de que você deve se preocupar com a forma funcional do tempo, percebi que houve uma transformação muito razoável que leva a um estimador paramétrico razoável.

Em particular, se usarmos log (time) como covariável em nosso modelo com regressão logística, acabaremos com um modelo de chances proporcionais com uma linha de base logística.

Para ver isso, primeiro considere que o modelo de regressão de chances proporcional é definido como

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

em que são as chances de sobrevivência da linha de base no momento tOddso(t)t . Observe que os efeitos da regressão são os mesmos da regressão logística. Então, tudo o que precisamos fazer agora é mostrar que a distribuição da linha de base é logística.

Agora considere uma regressão logística com log (Time) como covariável. Temos então

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

Com um pouco de trabalho, você pode ver isso como o CDF de um modelo logístico (com uma transformação não linear dos parâmetros).

R demonstração de que os ajustes são equivalentes:

> 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

Observe que o efeito de grpé o mesmo em cada modelo e a probabilidade final de log difere apenas por erro numérico. Os parâmetros da linha de base (ou seja, interceptação e log_age para regressão logística, alfa e beta para o modelo com intervalo de censura) são parametrizações diferentes, portanto, não são iguais.

Então, é isso: usar a regressão logística é equivalente a ajustar as probabilidades proporcionais com uma distribuição da linha de base da logística. Se você concorda com o ajuste desse modelo paramétrico, a regressão logística é bastante razoável. Eu aviso que, com dados censurados por intervalo, os modelos semi-paramétricos geralmente são favorecidos devido à dificuldade de avaliar o ajuste do modelo, mas se eu realmente pensasse que não havia lugar para modelos totalmente paramétricos, eu não os incluiria icenReg.


Isso parece muito útil. Vou dar uma olhada nos recursos que você aponta e jogar com o pacote icenReg. Estou tentando entender por que a regressão logística é menos adequada - a sugestão do @EdM parece superficialmente como se devesse funcionar. O viés surge porque o "evento" - aqui, tendo filhos - pode ter um efeito na sobrevivência? Então, se diminuir a sobrevivência, descobriríamos que, entre indivíduos de uma determinada idade, aqueles que não se reproduziram estarão super-representados?
user2390246

1
@ user2390246: Você pode usar a regressão logística para dados de status atuais. Mas então você tem que fazer muito trabalho para obter a forma funcional da idade e a interação com outras variáveis, correta. Isso é muito não trivial. Com os modelos baseados em sobrevivência, você pode usar uma linha de base semi-paramétrica ( ic_spin icenReg) e não se preocupar com isso. Além disso, observar as curvas de sobrevivência dos dois grupos responde à sua pergunta corretamente. Tentar recriar isso a partir do ajuste logístico poderia ser feito, mas, novamente, muito mais trabalho do que usar modelos de sobrevivência.
Cliff AB

Eu concordo com o @CliffAB nisso. Hesitei em recomendar a regressão logística especificamente devido à dificuldade de obter a forma funcional correta para a dependência da idade. Eu não tive nenhuma experiência com análise de dados de status atual; não precisar descobrir que a forma da dependência da idade é uma grande vantagem dessa técnica. Manterei minha resposta, no entanto, para que aqueles que mais tarde examinem esse tópico entendam como isso aconteceu.
EdM

Parece-me que seu comentário aqui é o cerne da questão. Ajudaria se você pudesse desenvolver isso em sua resposta. Por exemplo, se você pudesse usar os dados de exemplo do OP para criar um modelo de RL e um modelo de sobrevivência com intervalo de censura, e mostrar como o último responde mais facilmente à pergunta de pesquisa do OP.
gung - Restabelece Monica

1
@ gung: na verdade, tomei uma posição mais suave sobre a regressão logística. Eu editei minha resposta para refletir isso.
Cliff AB

4

This is a case of censoring/coarse data. Assume you think that your data arises from a distribution with nicely behaved continuous (etc.) pdf f(x) e cdf F(x). A solução padrão para dados de eventos até o momento exatoxEu de um evento por assunto Eu é sabido que a contribuição da probabilidade é f(xEu). Se soubéssemos que o tempo era maior do queyEu (censura à direita), a contribuição da probabilidade é 1-F(yEu)sob o pressuposto de censura independente. Se sabemos que o tempo é menor quezEu (censura à esquerda), a contribuição da probabilidade é F(zEu). Finalmente, se o tempo cair em algum intervalo(yEu,zEu], a contribuição da probabilidade seria F(zEu)-F(yEu).


1
Não há necessidade de f(x)Continua. Ou mesmo bem comportado. Pode ser um modelo de sobrevivência discreto (para que o pdf seja indefinido e um pmf seja usado) e o restante do que você disse esteja correto, com um pequeno ajuste (substituaF(yEu) com F(yEu+).
Cliff AB

4

Esse problema parece que pode ser tratado bem por regressão logística.

Você tem dois estados, A e B, e deseja examinar a probabilidade de um indivíduo em particular ter mudado irreversivelmente do estado A para o estado B. Uma variável preditora fundamental seria a idade no momento da observação. O outro fator ou fatores de interesse seriam variáveis ​​preditivas adicionais.

Seu modelo logístico usaria as observações reais do estado A / B, idade e outros fatores para estimar a probabilidade de estar no estado B em função desses preditores. A idade em que essa probabilidade ultrapassa 0,5 poderia ser usada como estimativa do tempo de transição e você examinaria as influências dos outros fatores nesse tempo de transição previsto.

Adicionado em resposta à discussão:

Como em qualquer modelo linear, você precisa garantir que seus preditores sejam transformados de maneira que eles tenham uma relação linear com a variável de resultado, nesse caso as chances de logaritmo da probabilidade de passar para o estado B. Isso não é necessariamente um problema trivial. A resposta de @CliffAB mostra como uma transformação de log da variável age pode ser usada.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.