mts

mtsTrain

##set_mts

Description

L'action mtsTrain utilise le système de Mahalanobis-TaguchiGemini said

Méthode de diagnostic multicritère utilisant une distance statistique pour identifier des anomalies et sélectionner les variables clés afin de distinguer les groupes normaux des anormaux.
(MTS) pour l'entraînement d'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). d'analyse prédictive et de réduction de dimension. Elle permet d'identifier les valeurs aberrantesObservations s'écartant significativement du reste des données. Elles peuvent résulter d'erreurs de mesure ou de phénomènes rares et influencent fortement les statistiques (moyenne, variance). à travers le calcul des distances de Mahalanobis. En gros, c'est un peu le videur impitoyable de votre table de données : il mesure précisément l'écart de chacun par rapport à la norme, et décide qui correspond au 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éférence et qui est 'hors-norme' .

Syntaxe Officielle
proc cas;
mts.mtsTrain /
corrType="PEARSON" | "ROBUST"
cov={caslib="chaine", name="nom_table", replace=TRUE|FALSE}
cutoffFrac=0.05
data={caslib="chaine", name="table_entree"}
display={names={"table1", "table2"}}
id="nom_variable"
inCov={caslib="chaine", name="table_entree_cov"}
inMean={caslib="chaine", name="table_entree_mean"}
input={"variable1", "variable2", ...}
mean={caslib="chaine", name="nom_table", replace=TRUE|FALSE}
outData={caslib="chaine", name="nom_table", replace=TRUE|FALSE}
outliers=0 | 1
outputTables={names={"table1", ...}}
saveState={caslib="chaine", name="nom_table", replace=TRUE|FALSE}
scoreInfo={caslib="chaine", name="nom_table", replace=TRUE|FALSE}
stat={caslib="chaine", name="nom_table", replace=TRUE|FALSE}
threshold=3.0;
run;

Paramètres Clés

Nom du paramètre Description
data Spécifie la table de données d'entrée (CASTable) contenant les données normales (saines) pour entraîner le modèle MTS. (Requis)
input Spécifie la liste des variables explicatives (numériques) à utiliser pour créer l'espace de référence. (Requis)
corrType Définit le type de corrélation à utiliser : 'PEARSON' (par défaut) ou 'ROBUST' (pour minimiser l'impact des données aberrantes).
cutoffFrac Spécifie la fraction de coupure pour la détection des valeurs aberrantes. Compris entre 0 et 1 (défaut : 0.05).
id Spécifie la variable d'identification unique pour les observations.
outliers Active (1) ou désactive (0) la détection optionnelle des valeurs aberrantes pendant l'entraînement.
threshold Seuil de la distance de Mahalanobis utilisé pour déterminer les valeurs aberrantes (défaut : 3).
saveState Spécifie la table de sortie où sera sauvegardé l'analytic store (astore) du modèle, réutilisable pour l'action mtsScore ultérieure.
cov / mean / outData / scoreInfo / stat Définit les différentes tables de sortie contenant respectivement la matrice de covariance, les moyennes, les distances générées, les informations de scoring et les statistiques sommaires.

Préparation des données

Création d'un jeu de données de référence

Nous générons une table simulant des processus normaux avec des variables corrélées, ainsi que quelques valeurs aléatoires pour tester le modèle.

1DATA casuser.mts_training; call streaminit(12345); DO id=1 to 1000; var1=rand('normal', 50, 5); var2=var1*1.2 + rand('normal', 0, 2); var3=rand('uniform', 10, 20); OUTPUT; END; RUN;

Exemples d'utilisation

Entraînement de base

Cet exemple entraîne un modèle MTS classique en utilisant l'algorithme de Pearson par défaut, et sauvegarde le modèle dans un analytic store.

1PROC CAS; mts.mtsTrain / DATA={name='mts_training', caslib='casuser'}, INPUT={'var1', 'var2', 'var3'}, saveState={name='mts_model_store', caslib='casuser', replace=true}; RUN;
Résultat Attendu :
Crée une table 'mts_model_store' dans la caslib 'casuser' qui contient le modèle entraîné de l'espace de Mahalanobis.
Entraînement avancé avec détection d'outliers et matrices en sortie

Un appel exhaustif utilisant la corrélation robuste, spécifiant des seuils stricts pour les valeurs aberrantes, et capturant les matrices de moyennes, covariances et statistiques.

1PROC CAS; mts.mtsTrain / DATA={name='mts_training', caslib='casuser'}, id='id', INPUT={'var1', 'var2', 'var3'}, corrType='ROBUST', outliers=1, cutoffFrac=0.1, threshold=2.5, outData={name='mts_out_data', caslib='casuser', replace=true}, cov={name='mts_out_cov', caslib='casuser', replace=true}, mean={name='mts_out_mean', caslib='casuser', replace=true}, stat={name='mts_out_stat', caslib='casuser', replace=true}, scoreInfo={name='mts_out_scoreinfo', caslib='casuser', replace=true}, saveState={name='mts_model_store_robust', caslib='casuser', replace=true}; RUN;
Résultat Attendu :
Exécute l'apprentissage robuste, détecte les anomalies (outliers) directement dans les données d'entraînement selon les seuils indiqués, et restitue de multiples tables de statistiques descriptives, matrices mathématiques, et l'analytic store final.