Wie kann ich den Zeitpunkt abschätzen, zu dem 50% einer Binomialvariablen übergegangen sind?

8

Ich habe die folgenden Daten, die den Binärzustand von vier Subjekten zu vier Zeiten darstellen. Beachten Sie, dass es nur möglich ist, dass jedes Subjekt , nicht aber 1 0 übergeht :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))

Ich kann es mit einer logistischen Regression modellieren:

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 ***

Erstens, wie kann ich wiederholte Messungen an derselben Person innerhalb des Modells berücksichtigen?

Zweitens, wie kann ich mit Unsicherheit den Tag abschätzen, an dem die Hälfte der Probanden den Übergang von vollzogen hat?01

David LeBauer
quelle
1
Es scheint, dass es eine starke Abhängigkeit in diesen Daten gibt: Ist es nämlich der Fall, dass wenn obs = 1 für Subjekt am Tag t ist, dann obs = 1 für Subjekt i am Tag s immer dann, wenn s t ist ? Wenn dem so ist, haben Sie wirklich nur vier Datenwerte - einen für jedes Thema - und einer davon ist rechts zensiert. itisst
whuber
@whuber Sie haben Recht mit der Abhängigkeit (zumindest in der vorliegenden Analyse innerhalb eines Jahres); Die Daten geben an, ob vor dem Beobachtungsdatum für jeden der vier Wiederholungsbäume ein "Knospenausbruch" aufgetreten ist oder nicht. Aber ich bin mir nicht sicher, was Sie mit einem der rechts zensierten Datenwerte meinen?
David LeBauer
1
Hier eine Zusammenfassung: Thema 2 wechselte im Intervall [1,8]; das heißt 2 -> [1,8]. Auch 3 -> [8,16], 4 -> [16,24] und 1 -> [24, unendlich]. Letzteres bedeutet, dass Subjekt 1 24 Tage lang ohne Übergang beobachtet wurde; Es ist der zensierte Wert. Sie können dies als Überlebensanalyseproblem einrahmen und entsprechend analysieren. Diese Abhängigkeit bedeutet übrigens, dass die p-Werte in der logistischen Regression irreführend niedrig sind.
whuber
@whuber danke für die Einsicht, aber bedeutet dies, dass mein Ansatz grundlegend fehlerhaft ist, da ich nicht daran interessiert bin, p-Werte zu schätzen? Außerdem wird in einigen Wochen keine der Daten richtig zensiert. Ich entwickle gerade die Analyse, bevor der Datensatz vollständig ist. Ich habe die Testdaten so geändert, dass keiner der Probanden richtig zensiert wird.
David LeBauer
3
@DWin, @David Dies ist keine wiederholte Messsituation . Das Datenformat lässt es nur so aussehen. Die Messung für jedes Subjekt besteht aus einem einzelnen Intervall, in dem ein Übergang beobachtet wurde.
whuber

Antworten:

3

Wie aus den Kommentaren zur Frage hervorgeht, bestehen die Daten nur aus vier Beobachtungen der Zeit bis zum Knospenausbruch. (Es wäre ein Fehler, sie so zu analysieren, als wären sie 16 unabhängige Werte.) Sie bestehen eher aus Zeitintervallen als aus genauen Zeiten:

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

Es gibt verschiedene Ansätze. Eine ansprechende, sehr allgemeine ist es, diese Intervalle beim Wort zu nehmen: Die wahre Zeit des Knospenausbruchs kann alles innerhalb jedes Intervalls sein. Wir werden daher dazu gebracht, "Unsicherheit" in zwei getrennten Formen darzustellen: Stichprobenunsicherheit (wir haben dieses Jahr eine vermutlich repräsentative Stichprobe der Arten) und Beobachtungsunsicherheit (die sich in den Intervallen widerspiegelt).

Die Stichprobenunsicherheit wird mit bekannten statistischen Techniken behandelt: Wir werden gebeten, den Median zu schätzen, und wir können dies abhängig von statistischen Annahmen auf verschiedene Arten tun, und wir können Konfidenzintervalle für die Schätzung bereitstellen. Nehmen wir zur Vereinfachung an, dass die Zeit bis zum Knospenausbruch symmetrisch verteilt ist. Da es (vermutlich) nicht negativ ist, impliziert dies eine Varianz und legt nahe, dass der Mittelwert von nur vier Beobachtungen ungefähr normalverteilt sein kann. Darüber hinaus impliziert Symmetrie, dass wir den Mittelwert als Ersatz für den Median verwenden können (der in der ursprünglichen Frage gesucht wird). Dies gibt uns Zugang zu Standard-, einfachen Schätz- und Konfidenzintervallmethoden.

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

Mean=[10.25,18].

Dies stellt ein ganzes Intervall von Schätzungen dar: ein geeignetes Ergebnis einer Berechnung mit Intervalleingaben!

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.8674ist noch kleiner. Durch Maximieren und Minimieren des ucl unter allen möglichen Wertekombinationen, die mit den Beobachtungen übereinstimmen, finden wir (zum Beispiel), dass

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

( Dies ist ein Zahlenintervall, das ein Intervall mit ucl-Wert darstellt, kein Konfidenzintervall!) und für die untere Konfidenzgrenze

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

00

In Worten könnten wir das sagen

"Diese Beobachtungen stimmen mit Werten überein, die, wenn sie genau gemessen worden wären , zu einer oberen 2,5% -Konfidenzgrenze des Medians von bis zu 39,3 Tagen führen könnten, jedoch nicht höher. Sie stimmen mit Werten überein (die von den ersten abweichen könnten). das würde zu einer unteren Konfidenzgrenze von 2,5% von nur 0 führen. "

Was man daraus machen soll, ist eine Frage der individuellen Betrachtung und hängt von der Anwendung ab. Wenn man einigermaßen sicher sein möchte, dass ein Knospenausbruch vor 40 Tagen auftritt, gibt dieses Ergebnis eine gewisse Befriedigung ( abhängig von den Annahmen über die Verteilung des Knospenausbruchs und der Unabhängigkeit der Beobachtungen ). Wenn man den Knospenausbruch auf den nächsten Tag abschätzen möchte, werden deutlich mehr Daten benötigt. Unter anderen Umständen kann diese statistische Schlussfolgerung in Bezug auf Intervallwert-Konfidenzgrenzen frustrierend sein. Zum Beispiel, wie sicher können wir das Austrieb tritt in 50% der Proben vor 30 Tagen sein? Es ist schwer zu sagen, weil die Antworten Intervalle sein werden.


Es gibt andere Möglichkeiten, um dieses Problem zu lösen. Ich bevorzuge besonders die Verwendung von Maximum-Likelihood-Methoden. (Um sie hier anzuwenden, müssten wir mehr darüber wissen, wie die Intervallschnittpunkte festgelegt wurden. Es ist wichtig, ob sie unabhängig von den Daten bestimmt wurden oder nicht.) Die vorliegende Frage scheint eine gute Gelegenheit zu sein, intervallbasierte Methoden einzuführen, weil Sie scheinen nicht bekannt zu sein, obwohl sie in bestimmten Disziplinen (Risikobewertung und Analyse von Algorithmen) von einigen Menschen nachdrücklich befürwortet wurden.

whuber
quelle
Vielen Dank für Ihre Antwort. Die Stichprobentermine wurden unabhängig von den Daten ausgewählt (ungefähr alle 1-2 Wochen, als ich die Gelegenheit hatte, dort rauszukommen.
David LeBauer
Ich dachte mir das auch, David, aber mir fiel auch ein, dass Ihre Fähigkeit, Beobachtungen zu machen, mit den Wetterbedingungen und anderen Faktoren zusammenhängen könnte, die selbst die Zeit des Knospenausbruchs beeinflussen könnten. Obwohl der Prozess der Auswahl der Probenahmedaten als unabhängig vom Prozess des Knospenausbruchs angesehen wurde, könnten die beiden dennoch eine starke statistische Abhängigkeit aufweisen.
whuber
2
Entschuldigung, ich habe falsch gesprochen. Meine Stichprobentermine waren im letzten Herbst weniger streng. Im Frühjahr lagen alle Daten im Abstand von 10 Tagen, mit Ausnahme der Beobachtungen der ersten Sekunde mit dt = 13, aber es gab keine Änderungen zwischen diesen Beobachtungen. Im Herbst war es jedoch von Oktober bis November ziemlich regnerisch. Sowohl die Blattalterung als auch die Probenahmeintervalle waren wetterabhängig. (Ich weiß, dass die Blattalterung vom Wetter aus der Biologie abhängt, diese Informationen sind nicht in den Daten enthalten).
David LeBauer
1

Hier ist ein einfacher Ansatz, der keine logistische Regression verwendet, sondern versucht, die obigen Vorschläge zu verwenden. Bei der Berechnung der zusammenfassenden Statistiken wird möglicherweise naiv davon ausgegangen, dass das Datum normal verteilt ist.

Bitte entschuldigen Sie den uneleganten Code

  1. Schreiben Sie eine Funktion, um den Tag des Knospenbruchs für jede Person zu schätzen: Verwenden Sie den Tag des Jahres auf halbem Weg zwischen der letzten Beobachtung von 0 und der ersten Beobachtung von 1 für jede Person.

    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. Berechnen Sie die zusammenfassende Statistik

    #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
quelle
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))

Ergebnis (wiederholt):

    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 

Somit beträgt eine Annäherung mit einem 95% -Konfidenzintervall dieses Medians 16 (5 - 28).

EDIT: Siehe Whubers Kommentar zur Einschränkung dieser Methode, wenn die Anzahl der Beobachtungen gering ist (einschließlich n = 4 selbst).

GaBorgulya
quelle
@ GaBorgulya Ich denke du hast einen Tippfehler; Median (95% CI) = 16 (5,28)
David LeBauer
Mit einer ML-Anpassung einer angemessenen Verteilungsform an die Intervalldaten, gefolgt von einer Schätzung des Medians der Verteilung, sollten Sie es besser machen.
whuber
@whuber Die "vernünftige Verteilung" ist die Schlüsselfrage selbst.
GaBorgulya
1
Genau. Mir fällt ein, dass es nichtparametrische Ansätze wie Kernel-Smooths geben muss, die mit intervallwertigen Daten arbeiten.
whuber
4
1/24
0

Sie können ein diskretes Zeitrisikomodell verwenden, das mit der logistischen Regression übereinstimmt (unter Verwendung eines Personendatensatzes). Siehe Angewandte Longitudinal Datenanalyse - Software und Buchkapitel 10-12.

Allison diskutiert auch

Ihr Datensatz ist jedoch winzig.

B_Miner
quelle
1
Vielen Dank für Ihre Antwort; Obwohl der Beispieldatensatz winzig ist, hat der reale Datensatz 100 Probanden, die an 6 Daten gemessen wurden
David LeBauer
-1

Unter der Annahme, dass Sie mehr Daten derselben Struktur haben, können Sie die versicherungsmathematische Methode (Lebenstabelle) verwenden , um das mediane Überleben abzuschätzen.

GaBorgulya
quelle
1
Gute Idee! - Aber könnten Sie vielleicht erklären, wie Sie CIs für den Median aus einer Lebenstabelle erhalten?
whuber