J'ai effectué l'appariement du score de prospérité (dans R en utilisant le package R "Matchit"). J'ai utilisé la méthode d'appariement "le plus proche voisin". Après l'appariement, j'ai comparé le traitement et le groupe témoin en fonction de leur variable de résultat. Pour cette comparaison, j'ai utilisé le test t. J'ai découvert qu'après chaque procédure d'appariement, les résultats du test t changeaient. Pour tester mon hypothèse selon laquelle ce changement de résultats était dû à la sélection aléatoire des scores de propension (qui sont utilisés pour l'appariement du plus proche voisin), j'ai défini le générateur de nombres aléatoires sur une graine spécifique et j'ai effectué la procédure d'appariement plusieurs fois. En réglant le RNG, les résultats ne diffèrent plus.
- Confronté à des résultats différents après chaque procédure d'appariement: comment puis-je décider quelle solution d'appariement j'utiliser pour une analyse plus approfondie? Est-ce une méthode valable pour effectuer plusieurs fois la prodecure d'appariement (disons 10'000) et rapporter la médiane des valeurs p et t des résultats que j'obtiens des différents tests t?
Réponses:
Cela se produit lorsque vous avez (au moins) deux personnes qui ont le même score de propension. MatchIt en sélectionne au hasard un à inclure dans l'ensemble correspondant. Ma recommandation serait de sélectionner un ensemble correspondant et d'effectuer votre analyse avec. Je suis d'accord que d'essayer d'autres méthodes de conditionnement telles que la correspondance complète et IPW serait une bonne idée. Vous pouvez rapporter les résultats de diverses analyses dans une section d'analyse de sensibilité.
Edit : C'est probablement la mauvaise réponse. Voir la réponse de Viktor pour ce qui est probablement la cause réelle.
la source
set.seed()
avant la correspondance.Il s'agit d'un comportement standard du package MatchIt. Il mélange les observations avant l'appariement, c'est-à-dire qu'il sélectionne au hasard l'ordre d'appariement pour les observations traitées. Vous pouvez utiliser la
set.seed()
fonction pour corriger les résultats. Par exemple, appelezset.seed(100)
avant d'appelermatchit()
. Différents arguments deset.seed()
correspondront à différentes correspondances.la source
C'est une question très intéressante. La première explication que je peux suggérer est que votre étude est assez petite et donc que peu de différences correspondantes ont un impact. Plus généralement, l'appariement du plus proche voisin n'est pas très précis. Le mathing de l'étrier est plus fiable, et les différences que vous signalez diminueraient ou disparaîtraient peut-être (comme avec l'utilisation de la pondération de traitement à probabilité inverse). Enfin, je ne sais pas si vous avez utilisé le test t pour comparer les différences de base (ce qui est inapproprié, car cela devrait être fait en calculant les différences normalisées), ou pour des tests d'hypothèse (auquel cas un test apparié devrait être utilisé). Dans tous les cas, l'approche de rapport typique consiste simplement à rapporter les résultats d'une seule procédure d'appariement, à condition qu'elle soit correctement effectuée (par exemple avec l'appariement à l'étrier).
la source