Ma question est semblable à R: using predict() on new data with high dimensionality mais pour StataComment utiliser le modèle PCA pour prédire les scores sur les nouvelles données dans Stata?
Je veux lancer un modèle en composantes principales (pca) sur un sous-ensemble de données (le groupe témoin d'une expérience) pour extraire le premier composant. Ensuite, je souhaite réexécuter le modèle PCA sur un sous-ensemble de données distinct (le groupe de traitement d'une expérience) et obtenir également des scores pour ces données. Essentiellement, je veux utiliser un modèle pca exécuté sur dataset_1 pour prédire les scores dans un nouveau dataset_2. Dans R, on adapterait le modèle au groupe de contrôle seulement, alors on utiliserait la commande "predict" sur le modèle ajusté, avec l'ensemble de données complet dans l'argument "new data". Cela générerait des prédictions pour toutes les observations d'un modèle ajusté sur le groupe témoin seulement. Cependant, comment fait-on cela à Stata?
global xlist2a std_agreedisagree1_1_a std_revagreedisagree1_2_a std_revagreedisagree1_3_a std_agreedisagree1_4_a std_revagreedisagree1_10_a std_revagreedisagree1_5_a
pca $xlist2a
screeplot, yline(1)
rotate, clear
pca $xlist2a, com(3)
rotate, varimax blanks (.30)
predict pca5_p1b pca5_p2b pca5_p3b, score
Code fixe en fonction de la réponse de Nick:
global xlist2a std_agreedisagree1_1_a std_revagreedisagree1_2_a std_revagreedisagree1_3_a std_agreedisagree1_4_a std_revagreedisagree1_10_a std_revagreedisagree1_5_a
pca $xlist2a if zgroupa10==1
screeplot, yline(1)
rotate, clear
pca $xlist2a if zgroupa10==1, com(3)
rotate, varimax blanks (.30)
predict pca5_p1b pca5_p2b pca5_p3b, score
Les bonnes questions ici montrent ** quelques ** tentative de code. –
Merci, j'ai modifié la publication pour inclure le code. – emily004
Merci d'avoir ajouté du code, mais le code ci-dessus exécute 'pca' sur ** toutes ** les observations pour certaines variables et ensuite' predict' sur toutes les observations. Ce n'est pas ce que vous devriez faire, mais votre commentaire ci-dessous ma réponse implique que votre code réel appliqué l'approche nécessaire. –