gpReg
Description
L'action gpReg (pour Gaussian Process RegressionLa régression par processus gaussien est une méthode bayésienne non paramétrique modélisant la distribution des fonctions pour fournir des prédictions continues assorties d'une mesure d'incertitude.) permet d'entraîner un modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). de régression par processus gaussien. C'est un outil très puissant pour modéliser des relations non linéaires complexes sans devoir spécifier une forme fonctionnelle rigide à l'avance. Magie de l'aléatoire (contrôlée, bien sûr) ! D'après la , cette action apprend un modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). de régression à l'aide des processus gaussiens, offrant ainsi une flexibilité remarquable pour capturer la structure sous-jacente des données.
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| table | Spécifie la table d'entrée contenant les données d'apprentissage. Ce paramètre est obligatoire selon la . |
| target | Spécifie la variable cible (dépendante) pour l'analyse. Ce paramètre est obligatoire. |
| inputs | Liste des variables d'entrée (indépendantes) à utiliser dans le modèle. Fortement recommandé de ne pas l'oublier ! |
| kernel | Définit le type de fonction noyau pour les distributions gaussiennes (LINEAR, MATERN32, MATERN52, PERIODIC, RBF). Le défaut est RBF d'après la . |
| nInducingPoints | Spécifie le nombre de points d'induction utilisés pour l'approximation (défaut: 100). Très utile pour ne pas faire exploser la RAM avec de gros jeux de données. |
| autoRelevanceDetermination | Active la détermination automatique de pertinence (ARD) pour ajuster dynamiquement l'importance des variables d'entrée dans le noyau (défaut: FALSE). |
| output | Définit la table de sortie où sauvegarder les observations scorées. |
| saveState | Permet de sauvegarder l'état du modèle analytique (astore) pour de futurs scorings sans avoir à tout ré-entraîner. |
| nloOpts | Options d'optimisation avancées pour les experts (choix de l'algorithme ADAM ou SGD, tolérances et hyperparamètres). |
Préparation des données
Création de données de test (Sinusoïde bruitée)
Générons quelques données synthétiques pour illustrer notre processus gaussien. Un peu de sinus, un peu de bruit, et le tour est joué !
| 1 | DATA mycas.sin_data; DO x = -5 to 5 BY 0.1; y = sin(x) + rand('NORMAL', 0, 0.2); OUTPUT; END; RUN; |
Exemples d'utilisation
Entraînement basique d'un modèle de régression par processus gaussien
Un exemple minimaliste pour entraîner un modèle sur nos données générées en utilisant le noyau RBF par défaut. Simple et efficace.
| 1 | PROC CAS; nonParametricBayes.gpReg / TABLE={name="sin_data"} inputs={"x"} target="y" OUTPUT={casOut={name="gp_predictions", replace=true}, copyVars={"x", "y"}}; RUN; QUIT; |
Résultat Attendu :
Régression GP avec ARD, sauvegarde du modèle et optimisation avancée
Ici, on sort l'artillerie lourde. On utilise la détermination automatique de pertinence (ARD), on modifie le noyau, on fixe le nombre de points d'induction, et on sauvegarde l'état du modèle analytique pour le réutiliser plus tard. Le tout en une seule ligne compacte pour tester vos réflexes visuels.
| 1 | PROC CAS; nonParametricBayes.gpReg / TABLE={name="sin_data"} inputs={"x"} target="y" kernel="MATERN52" autoRelevanceDetermination=true nInducingPoints=50 nloOpts={algorithm="ADAM", optmlOpt={maxIters=50}} outInducingPoints={name="out_ind", replace=true} saveState={name="gp_astore", replace=true} OUTPUT={casOut={name="gp_scored", replace=true}, copyVars="ALL"}; RUN; QUIT; |