Je dois créer une permutation aléatoire d'un ensemble de données comportant plus de 3 millions de lignes.Permutation aléatoire des lignes d'un grand ensemble de données
J'ai essayé d'utiliser PROC PLAN, basé sur cet exemple: http://support.sas.com/kb/23/977.html Selon cet article, ayant n = (nombre de lignes)! permet la sélection aléatoire d'une permutation. Malheureusement pour un ensemble de cette taille, c'est 4,3 * 10^19668676 permutations. Évidemment, je rencontre un peu un problème de mémoire ici.
J'ai également trouvé un exemple utilisant PROC IML, mais il semble que mon entreprise ne dispose pas du logiciel de licence/logiciel nécessaire pour l'utiliser.
Quelqu'un peut-il me fournir un bon moyen de mélanger cet ensemble de données?
Si vous avez un moyen de donner à chaque ligne de données un index unique, vous pouvez utiliser le [shuffle Fisher-Yates] (https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle) pour générer indexes aux données. Je suppose que vous ne voulez qu'une petite quantité de permutations plutôt que toutes. –
Vous dites permutation aléatoire? Pouvez-vous fournir plus d'informations? Une partie de moi veut dire PROC SURVEYSELECT avec SRS, mais pas certain à coup sûr. – Reeza
Droit - en quoi la 'permutation aléatoire' est-elle différente de 'échantillon aléatoire [sans remplacement]'? – Joe