Ich habe Prospensity Score Matching durchgeführt (in R mit dem R-Paket "Matchit"). Ich habe die Matching-Methode "nächster Nachbar" verwendet. Nach dem Matching verglich ich die Behandlung und die Kontrollgruppe hinsichtlich ihrer Ergebnisvariablen. Für diesen Vergleich habe ich t-Test verwendet. Ich entdeckte, dass sich nach jedem Matching-Verfahren die Ergebnisse des T-Tests änderten. Um meine Annahme zu testen, dass diese Änderung der Ergebnisse auf eine zufällige Auswahl der Neigungsbewertungen zurückzuführen ist (die für das Matching des nächsten Nachbarn verwendet werden), habe ich den Zufallszahlengenerator auf einen bestimmten Startwert eingestellt und das Matching-Verfahren mehrmals durchgeführt. Durch das Einstellen des RNG unterschieden sich die Ergebnisse nicht mehr.
- Konfrontiert mit unterschiedlichen Ergebnissen nach jedem Matching-Verfahren: Wie entscheide ich, welche Matching-Lösung ich für die weitere Analyse verwende? Ist es eine gültige Methode, das Matching-Verfahren mehrmals durchzuführen (z. B. 10'000) und den Median der p- und t-Werte der Ergebnisse anzugeben, die ich aus den verschiedenen t-Tests erhalte?
Antworten:
Dies geschieht, wenn Sie (mindestens) zwei Personen haben, die den gleichen Neigungswert haben. MatchIt wählt zufällig eine aus, die in den übereinstimmenden Satz aufgenommen werden soll. Meine Empfehlung wäre, einen passenden Satz auszuwählen und Ihre Analyse damit durchzuführen. Ich bin damit einverstanden, dass es eine gute Idee wäre, andere Konditionierungsmethoden wie Full Matching und IPW auszuprobieren. Sie können die Ergebnisse verschiedener Analysen in einem Abschnitt zur Sensitivitätsanalyse melden.
Bearbeiten : Dies ist wahrscheinlich die falsche Antwort. Siehe Viktors Antwort für die wahrscheinliche eigentliche Ursache.
quelle
set.seed()
vor dem Abgleich anrufen .Dies ist ein Standardverhalten des MatchIt-Pakets. Es mischt die Beobachtungen vor dem Abgleich, dh es wählt zufällig die Reihenfolge des Abgleichs für die behandelten Beobachtungen aus. Sie können die
set.seed()
Funktion verwenden, um die Ergebnisse zu korrigieren.set.seed(100)
Rufen Sie zmatchit()
. B. an, bevor Sie anrufen . Unterschiedlicheset.seed()
Willensargumente entsprechen unterschiedlichen Übereinstimmungen.quelle
Dies ist eine sehr interessante Frage. Die erste Erklärung, die ich vorschlagen kann, ist, dass Ihre Studie recht klein ist und daher nur wenige übereinstimmende Unterschiede von Bedeutung sind. Im Allgemeinen ist die Übereinstimmung mit dem nächsten Nachbarn nicht sehr genau. Die Berechnung der Messschieber ist zuverlässiger, und möglicherweise würden die von Ihnen gemeldeten Unterschiede bei Verwendung verringert oder verschwinden (wie bei der Verwendung der inversen Wahrscheinlichkeitsbehandlungsgewichtung). Schließlich bin ich mir nicht sicher, ob Sie den t-Test zum Vergleichen von Basislinienunterschieden (was unangemessen ist, da dies zur Berechnung standardisierter Unterschiede erfolgen sollte) oder zum Testen von Hypothesen (in diesem Fall sollte ein gepaarter Test verwendet werden) verwendet haben. In jedem Fall besteht der typische Berichtsansatz einfach darin, die Ergebnisse eines einzelnen Matching-Verfahrens zu melden, sofern dies korrekt durchgeführt wird (z. B. mit Caliper Matching).
quelle