Ich arbeite derzeit an einer Metaanalyse von Überlebensdaten in mehreren klinischen Studien.
Um dies zu tun, habe ich Code aus einer veröffentlichten Analyse mit der gleichen Methodik. Wenn ich diesen Code mit den Daten der veröffentlichten Analyse ausführe, kann ich die Ergebnisse nicht replizieren. Tatsächlich stimmen die Ergebnisse nicht mit irgendeiner vernünftigen Schätzung überein.
Der Code selbst (ohne die Daten) sollte korrekt sein, da er direkt von den Autoren stammt. Ich gehe davon aus, dass das Problem mit Anfangswerten oder zu tun hat Parameter, wie die Sampling ausgeführt wird, aber nach dem Spielen mit vielen Anfangswerte, die Länge von Burn in, Ausdünnung, etc ... Ich habe keine aussagekräftigen Ergebnisse erhalten.
Ich würde mich über Vorschläge freuen, wie man das ausführt (Anfangswerte, etc ...), damit es richtig läuft. Wenn es Probleme im Code gibt oder wenn die Daten so eingerichtet sind, dass sie nicht mit dem Code übereinstimmen, wäre es hilfreich, dies zu wissen.
Als Nebenbemerkung mache ich die Analysen mit R2WinBUGs, obwohl ich habe habe die gleichen Probleme mit WinBUGs allein.
Ein wenig zusätzlichen Hintergrund für die Methode:
Das funktioniert, indem wir den Unterschied in Form und Maßstab schätzen Parameter einer umparametrisierten Weibull - Verteilung zwischen Behandlungen in mehreren Studien mit zufälligen Effekten.
Die Weibull-Distribution wird so umparametriert, dass das Log der Hazard-Rate ist a + b * log (t) wobei a ein Skalierungsparameter und b ist a Formparameter. Daraus können Sie die Wahrscheinlichkeit berechnen Funktion einer bestimmten Anzahl von Fehlern aus einer gegebenen Anzahl von Patienten über ein Intervall.
Leider ist der Artikel öffentlich, aber wenn Sie hier zugreifen können ist der Link: Ссылка
Eine kurze Zusammenfassung der in das Modell eingegebenen Variablen:
NT: Anzahl der separaten Behandlungen enthalten.
N: Anzahl der Zeilen im Hauptdatensatz. NS: Anzahl der Studien
s: Studie, dass die Datenzeile entspricht (das ist 1: 6 nummeriert)
r: Anzahl der Patienten, die das Intervall für diese Behandlung / Studie nicht einhalten
n: Anzahl der Risikopatienten zu Beginn des Intervalls dafür Behandlung / Studie
t: Behandlung, der diese Datenzeile entspricht (nummeriert 1: 3)
b: Gibt an, welche Behandlung die Baseline ist, mit der andere verglichen werden (für jede Zeile auf 1 setzen).
bs: Behandlung, die der Kontrollarm dieser Studie ist
bt: Behandlung, die der Forschungsarm dieser Studie ist
WinBUGS-Code (einschließlich Daten):
%Vor%Letztendlich konnte ich das Modell nicht ordnungsgemäß in WinBUGS ausführen. Allerdings war ich in der Lage, das Modell auf STAN zu portieren und eine sehr enge Übereinstimmung zu erzielen. Siehe unten für den STAN-Code:
%Vor%Beachten Sie, dass aufgrund von Unterschieden zwischen STAN / BUGS Verwirrung über Genauigkeit / Varianz es verwirren kann, was für Daten einzugeben ist. Für R und Prec2 habe ich geladen:
%Vor%Einige Vorschläge für Sie, die hoffentlich hilfreich sein werden:
Ich denke, Ihre Frage könnte besser in Ссылка beantwortet werden; Wenn Sie die Frage dorthin verschieben möchten, sollten Sie sie jedoch neu schreiben, anstatt einen Code-Dump zu veröffentlichen.
WinBUGS ist mehrere Jahre alt, und seit dem letzten Update sind es acht Jahre! Ich denke, du solltest es vergessen, weil es mehrere bessere Alternativen gibt.
Sie können praktisch den gleichen Code in Jags oder Stan , in der beide über rJags in R verwendet werden können und RStan . Stan ist besonders wichtig, weil es HCMC verwendet, das in vielen Situationen konvergiert, die WinBUGS nicht hat.
Ich denke, Sie sollten das einfache Buch lesen: Bayessche Datenanalyse 2e > von John K. Kruschke in der Lage sein, die Bayessche Datenanalyse selbst zu verstehen und durchzuführen.
Tags und Links survival-analysis bayesian winbugs r2winbugs winbugs14