Quelles stratégies d'optimisation mémoire sont employées lors de l'analyse de milliers de variables simultanées ?

Optimisation In-Memory & Réduction de Dimensionnalité

Le traitement de données massives sur un serveur CAS Cloud Analytic ServicesMoteur d'exécution in-memory de SAS Viya. Il assure le traitement massivement parallèle (MPP) et distribué des données pour optimiser les performances analytiques et le passage à l'échelle. nécessite des optimisations algorithmiques pointues. L'action gère cela à travers plusieurs axes. Premièrement, elle utilise l'algorithme de projection aléatoire XYZ, contrôlé par le paramètre numProjections, pour projeter les données dans un espace de dimension inférieure et identifier des candidats en mesurant les proximités (limitées par le seuil maxDistance). Deuxièmement, si le nombre de valeurs distinctes dépasse le seuil défini par distinctCountLimit, l'algorithme s'appuie sur le paramètre misraGries pour estimer la distribution des fréquences sans saturer la mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
RAM. Enfin, pour le stockage des résultats dans la table casOut, il est possible d'activer une compression avancée en définissant le paramètre memoryFormat sur la valeur DVR (Duplicate Value Reduction).

Exemples pour l'action detectInteractions

Détection basique et aveugle des interactions

On lance l'action avec les paramètres minimaux requis pour chercher des paires de variables fortement corrélées avec la modalité 'Oui' de notre cible.

Analyse ciblée avec ajustement de la métrique et filtrage

Une approche plus professionnelle : on restreint les variables d'entrée via %%inputs%%, on utilise la médiane (%%MEDIAN%%) pour éviter de biaiser le score par des valeurs extrêmes, et on filtre les probabilités de corrélation trop faibles.