Como posso estimar o tempo em que 50% de uma variável binomial terá transitado?

8

Eu tenho os seguintes dados, representando o estado binário de quatro sujeitos quatro vezes, observe que só é possível para cada sujeito fazer a transição mas não 1 0 :0110

testdata <- data.frame(id = c(1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4),
                       day = c(1,1,1,1,8,8,8,8,16,16,16,16,24,24,24,24,32,32,32,32),
                       obs = c(0,0,0,0,0,1,0,0,0,1,1,0,0,1,1,1,1,1,1,1))

Eu posso modelá-lo com uma regressão logística:

testmodel <- glm(formula(obs~day, family=binomial), data=testdata)

> summary(testmodel)


Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -0.018890   0.148077  -0.128 0.899907    
day          0.032030   0.007555   4.240 0.000493 ***

Primeiro, como posso explicar medidas repetidas no mesmo indivíduo dentro do modelo?

Segundo, como posso estimar, com incerteza, o dia em que 1/2 dos sujeitos fará a transição de ?01

David LeBauer
fonte
1
Parece que há uma forte dependência nesses dados: ou seja, se obs = 1 para o sujeito no dia t então necessariamente obs = 1 para o sujeito i no dia s sempre que s t ? Nesse caso, você realmente tem apenas quatro valores de dados - um para cada sujeito - e um deles é censurado à direita. itisst
whuber
@whuber você está correto sobre a dependência (pelo menos na presente análise dentro de um ano); os dados representam se a brotação ocorreu ou não antes da data de observação para cada uma das quatro árvores replicadas. Mas não sei ao certo o que você quer dizer com os valores de dados sendo censurados à direita?
precisa saber é o seguinte
1
Aqui está um resumo: o sujeito 2 fez a transição no intervalo [1,8]; isto é, 2 -> [1,8]. Também 3 -> [8,16], 4 -> [16,24] e 1 -> [24, infinito]. Este último significa que o sujeito 1 foi observado por 24 dias sem transição; é o valor censurado. Você pode enquadrar isso como um problema de análise de sobrevivência e analisá-lo adequadamente. Aliás, essa dependência significa que os valores de p na regressão logística são enganosamente baixos.
whuber
@whuber, obrigado pela compreensão, mas isso significa que minha abordagem foi fundamentalmente falha, uma vez que não estou interessado em estimar valores-p? Além disso, nenhum dos dados será censurado à direita em algumas semanas; Estou apenas desenvolvendo a análise antes da conclusão do conjunto de dados. Alterei os dados do teste para que nenhum dos assuntos seja censurado corretamente.
precisa saber é o seguinte
3
@DWin, @David Esta não é uma situação de medição repetida. O formato dos dados apenas faz com que seja assim. A medida para cada sujeito consiste em um único intervalo durante o qual uma transição foi observada.
whuber

Respostas:

3

Como ficou evidente nos comentários à pergunta, os dados consistem em apenas quatro observações de tempo para o início da explosão. (Seria um erro analisá-los como se fossem 16 valores independentes.) Eles consistem em intervalos de tempo e não em tempo exato:

[1,8], [8,16], [16,24], [24,32]

Existem várias abordagens que se pode adotar. Um recurso atraente e altamente geral é levar em consideração esses intervalos: o tempo real de rompimento de botões pode ser qualquer coisa dentro de cada intervalo. Somos, assim, levados a representar a "incerteza" de duas formas distintas: incerteza de amostragem (temos uma amostra presumivelmente representativa das espécies este ano) e incerteza observacional (refletida pelos intervalos).

A incerteza de amostragem é tratada com técnicas estatísticas familiares: somos solicitados a estimar a mediana e podemos fazê-lo de várias maneiras, dependendo das suposições estatísticas, e podemos fornecer intervalos de confiança para a estimativa. Por uma questão de simplicidade, vamos supor que o tempo para brotar burst tenha uma distribuição simétrica. Por ser (presumivelmente) não-negativo, isso implica que há uma variação e também sugere que a média de apenas quatro observações pode ser aproximadamente normalmente distribuída. Além disso, a simetria implica que podemos usar a média como substituta da mediana (o que é procurado na pergunta original). Isso nos dá acesso a métodos padrão, simples, estimativas e intervalo de confiança.

(1+8+16+24)/410.25(8+16+24+32)18

Mean=[10.25,18].

Isso representa um intervalo inteiro de estimativas: um resultado apropriado de um cálculo com entradas de intervalo!

1αx=(x1,x2,x3,x4)ms

ucl(x,α)=x+tn1(α)s/n.

ucl((1,8,16,24),.025)28.0758ucl((8,11.676,16,24),.025)=25.8674ainda é menor. Ao maximizar e minimizar o ucl entre todas as combinações possíveis de valores consistentes com as observações, descobrimos (por exemplo) que

ucl(data,.025)=[25.8,39.3]

(é um intervalo de números que representa um ucl avaliado com intervalo , não um intervalo de confiança!) e, para o limite de confiança mais baixo,

lcl(data,.025)=[0,6.2].

00

Em palavras, podemos dizer que

"Essas observações são consistentes com valores que, se tivessem sido medidos com precisão , poderiam resultar em um limite superior de confiança de 2,5% da mediana tão alta quanto 39,3 dias, mas não mais alto. Eles são consistentes com valores (que podem diferir do primeiro) isso resultaria em um limite de confiança de 2,5% inferior a 0 ".

O que se deve fazer disso é uma questão de contemplação individual e depende da aplicação. Se alguém quiser ter certeza razoável de que o rebentamento de brotos ocorre antes de 40 dias, esse resultado dará alguma satisfação ( condicional às suposições sobre a distribuição do rebento de brotos e a independência das observações ). Se alguém quiser estimar o número de brotos até o dia mais próximo, são claramente necessários mais dados. Em outras circunstâncias, essa conclusão estatística em termos de limites de confiança com valor de intervalo pode ser frustrante. Por exemplo, quão confiantes podemos estar que a brotação ocorre em 50% das amostras antes de 30 dias? É difícil dizer, porque as respostas serão intervalos.


Existem outras maneiras de lidar com esse problema. Sou especialmente favorável ao uso de métodos de máxima verossimilhança. (Para aplicá-los aqui, precisaríamos saber mais sobre como os pontos de corte de intervalo foram estabelecidos. Importa se eles foram determinados independentemente dos dados ou não.) A presente pergunta parece ser uma boa oportunidade para introduzir métodos baseados em intervalos, porque elas não parecem ser bem conhecidas, embora em certas disciplinas (avaliação de riscos e análise de algoritmos) tenham sido calorosamente defendidas por algumas pessoas.

whuber
fonte
Obrigado pela sua resposta. As datas de amostragem foram escolhidos de forma independente dos dados (aproximadamente a cada 1-2 semanas, quando eu tive a chance de chegar lá.
David LeBauer
Imaginei o mesmo, David, mas também me ocorreu que sua capacidade de fazer observações poderia estar relacionada às condições climáticas e outros fatores que poderiam influenciar o tempo de rompimento dos botões. Portanto, embora o processo de escolha das datas de amostragem possa ter sido considerado independente do processo de brotamento, os dois ainda podem ter uma forte dependência
whuber
2
desculpe, eu falei mal. Minhas datas de amostragem foram menos rigorosas no outono passado; na primavera, todas as datas foram separadas por 10 dias, excluindo as observações do primeiro segundo com dt = 13, mas não houve alterações entre essas observações. No outono, no entanto, outubro-novembro foi bastante chuvoso; a senescência foliar e os intervalos de amostragem foram dependentes do clima. (Eu sei que a senescência das folhas depende do clima da biologia, essa informação não está nos dados).
David LeBauer 15/03/12
1

Aqui está uma abordagem simples que não usa regressão logística, mas tenta usar as sugestões acima. O cálculo das estatísticas de resumo pressupõe, talvez ingenuamente, que a data seja normalmente distribuída.

Perdoe código deselegante

  1. escreva uma função para estimar o dia de brotação de cada indivíduo: use o dia do ano a meio caminho entre a última observação de 0 e a primeira observação de 1 para cada indivíduo.

    budburst.day <- function(i){
       data.subset <- subset(testdata, subset =
                             id == i, 
                             na.rm = TRUE)
       y1 <- data.subset$day[max(which(data.subset$obs==0))]
       y2 <- data.subset$day[min(which(data.subset$obs==1))]
       y <- mean(c(y1, y2), na.rm = TRUE)
       if(is.na(y) | y<0 | y > 180) y <- NA
       return(y)
    }
    
  2. Calcular estatísticas resumidas

    #calculate mean
    mean(unlist(lapply(1:4, budburst.day)))
    [1] 16.125  
    
    #calculate SE = sd/sqrt(n)
    sd(unlist(lapply(1:4, budburst.day)))/2
    [1] 5.06777
    
David LeBauer
fonte
0

t1id=124<t1<32t1timedian(ti)

t = replicate(10000, median(sample(c(runif(1, 24, 32),  # id=1
                                     runif(1,  1,  8),  # id=2
                                     runif(1,  8, 16),  # id=3
                                     runif(1, 16, 24)), # id=4
                                   replace=TRUE)))
c(quantile(t, c(.025, .25, .5, .75, .975)), mean=mean(t), sd=sd(t))

Resultado (repetido):

    2.5%       25%       50%       75%     97.5%      mean        sd 
4.602999 11.428310 16.005289 20.549056 28.378774 16.085808  6.243129 
4.517058 11.717245 16.084075 20.898324 28.031452 16.201022  6.219094 

Assim, uma aproximação com intervalo de confiança de 95% dessa mediana é 16 (5 - 28).

EDIT: Veja o comentário do whuber sobre a limitação deste método quando o número de observações é pequeno (incluindo o próprio n = 4).

GaBorgulya
fonte
@GaBorgulya Eu acho que você tem um erro de digitação; mediana (IC95%) = 16 (5,28)
David LeBauer 20/04/11
Você faria melhor com um ajuste de ML de uma forma distributiva razoável aos dados do intervalo, seguido por uma estimativa da mediana da distribuição.
whuber
@whuber A "distribuição razoável" é a questão principal em si.
precisa saber é o seguinte
1
Concordo. Ocorre-me que deve haver abordagens não paramétricas, como o kernel smooths, que funcionam com dados com valor de intervalo.
whuber
4
1/24
0

Você pode usar um modelo discreto de risco de tempo adequado à regressão logística (usando um conjunto de dados de período por pessoa). Consulte Análise longitudinal de dados aplicada - software e capítulos 10-12 do livro .

Allison também discute

Seu conjunto de dados é minúsculo.

B_Miner
fonte
1
Obrigado pela sua resposta; Embora o exemplo de conjunto de dados é pequena, o conjunto de dados real tem 100 indivíduos medidos em 6 datas
David LeBauer
-1

Supondo que você tenha mais dados da mesma estrutura, poderá usar o método atuarial (tabela de vida) para estimar a sobrevida média.

GaBorgulya
fonte
1
Boa ideia! - Mas você poderia explicar como obter ICs para a mediana em uma tabela de vida?
whuber