J'espère mettre en commun les résultats d'un ensemble d'analyses assez basique effectué sur une multiplicité de données imputées (par exemple régression multiple, ANOVA). L'imputation multiple et les analyses ont été effectuées dans SPSS, mais SPSS ne fournit pas de résultats groupés pour quelques statistiques, y compris la valeur F, la matrice de covariance, le R au carré, etc.
J'ai fait quelques tentatives pour résoudre ce problème en m'aventurant dans R ou en essayant des macros disponibles et qui n'ont pas réussi à résoudre le problème (par exemple, en rencontrant des problèmes avec la mise en commun des statistiques pour plus de 5 imputations dans les souris, par exemple).
À ce stade, je voudrais essayer de les calculer à la main, en appliquant la règle de Rubin, en utilisant la sortie générée par SPSS. Cependant, je ne sais pas comment je peux dériver la variance intra-imputation ( ) en fonction de la sortie générée par SPSS.
J'apprécierais vraiment une instruction détaillée à ce sujet.
la source
Réponses:
Les règles de Rubin ne peuvent être appliquées qu'aux paramètres suivant une distribution normale. Pour les paramètres avec une distribution F ou Chi carré, un ensemble de formules différent est nécessaire:
Pour effectuer une ANOVA sur plusieurs jeux de données imputés, vous pouvez utiliser les micreadds du package R ( pdf ;
miceadds::mi.anova
).Mise à jour 1
Voici un exemple complet:
Exportez vos données de SPSS vers R. Dans Spss, enregistrez votre jeu de données au format .csv
Lisez dans votre jeu de données:
Supposons que la est votre variable dépendante et que vous avez deux facteursreading
Permet maintenant de les convertir en facteurs:
Convertissez votre ensemble de données en objet mids, là où nous supposons, que la première variable contient le numéro d'imputation (Imputation_ dans SPSS):
Vous pouvez maintenant effectuer une ANOVA:
Update 2 Voici une réponse à votre deuxième commentaire:
Ce que vous décrivez ici est un problème lié à l' importation / export de données entre SPSS et R. Vous pouvez essayer d'importer le
.sav
fichier directement dans R et il y a un tas de paquets dédiés pour cela:foreign
,rio
,gdata
,Hmisc
, etc. Je préfère le sens csv , mais c'est une question de goût et / ou dépend de la nature de votre problème. Vous devriez peut-être également consulter certains didacticiels sur YouTube ou d'autres sources sur Internet.Update 3 Voici une réponse à votre premier commentaire:
Oui, vous pouvez faire votre analyse dans SPSS et regrouper les valeurs F
miceadds
(veuillez noter que cet exemple est tiré de lamiceadds::micombine.F
page d'aide):la source
$<-.data.frame
*tmp*
Vous avez correctement noté l'estimateur groupé:
Où représente les résultats analytiques du ème ensemble de données imputé. Normalement, les résultats analytiques ont une distribution d'approximation normale à partir de laquelle nous tirons une inférence ou créons des limites de confiance. Cela se fait principalement en utilisant la valeur moyenne ( ) et son erreur standard. Les tests T, les régressions linéaires, les régressions logistiques et, fondamentalement, la plupart des analyses peuvent être résumés de manière adéquate en termes de cette valeur et de son erreur standard .Ui i Ui Ui se(Ui)
Les règles de Rubin utilisent la loi de la variance totale pour noter la variance comme la somme d'une variance d'imputation entre et à l'intérieur:
Le premier terme est la variance intra telle que où est la variance du résultat de l'analyse du ème ensemble de données complet ou imputé. Le dernier terme est la variance entre imputations: . Je n'ai jamais vraiment saisi la correction DF ici, mais c'est fondamentalement l'approche acceptée.E[var(U¯|Ui)=1m∑mi=1Vi Vi i var(E[U¯|Ui])=M+1M−1∑mi=1(Ui−U¯)2
Quoi qu'il en soit, étant donné que le nombre d'imputations recommandé est faible (Rubin suggère aussi peu que 5), il est généralement possible de calculer ce nombre en ajustant manuellement chaque analyse. Un exemple manuel est répertorié ci-dessous:
Donne la sortie suivante:
Ainsi, la variance intra est la moyenne des variances d'estimation ponctuelle spécifiques à l'imputation: 3,8 (moyenne de la deuxième colonne). La variance entre est la variance de 0,35 de la première colonne). En utilisant la correction DF, nous obtenons la variance 4.23. Cela correspond à la
pool
commande donnée dans lemice
package.qui montre le SE = 2,057 pour le coefficient du modèle, (variance = SE ** 2 = 4,23).
Je ne vois pas comment l'augmentation du nombre de jeux de données imputés crée un problème particulier. Si vous ne pouvez pas fournir un exemple de l'erreur, je ne sais pas comment être plus utile. Mais la combinaison manuelle est certaine de s'adapter à une variété de stratégies de modélisation.
Cet article examine d'autres façons dont la loi de la variance totale peut dériver d'autres estimations de la variance de l'estimation groupée. En particulier, les auteurs soulignent (à juste titre) que l'hypothèse nécessaire pour les règles de Rubin n'est pas la normalité des estimations ponctuelles mais quelque chose appelé la convivialité. Normalité WRT, la plupart des estimations ponctuelles provenant de modèles de régression ont une convergence rapide sous le théorème de la limite centrale, et le bootstrap peut vous le montrer.
la source
pool(fit)