Statistics and Machine Learning Toolbox

Analyser et modéliser des données à l'aide de statistiques et du Machine Learning

 

Statistics and Machine Learning Toolbox™ offre des fonctions et des applications pour décrire, analyser et modéliser des données. Vous pouvez utiliser des statistiques descriptives, des visualisations et le clustering pour l’analyse exploratoire des données, les ajustements de loi de probabilité, la génération des nombres aléatoires pour les simulations Monte-Carlo et pour réaliser des tests d’hypothèse. Les algorithmes de régression et de classification vous permettent de déduire des comportements à partir des données et de construire des modèles prédictifs soit de manière interactive, en utilisant les applications Classification Learner et Regression Learners, soit de manière programmatique, en utilisant AutoML.

Pour l’analyse de données multidimensionnelles et l'extraction de caractéristiques, la toolbox propose l’analyse en composantes principales (ACP), la régularisation, la réduction de la dimension et des méthodes de sélection de variables pertinentes qui vous permettent d’identifier les variables qui offrent les meilleures capacités de prédiction.

La toolbox comprend des algorithmes de Machine Learning supervisés, semi-supervisés et non supervisés, notamment les machines à vecteurs de support (SVM), le boosting, les k-means et autres méthodes de clustering. Vous pouvez utiliser des techniques d'interprétabilité, comme des tracés de dépendance partielle et la méthode de LIME, et générer automatiquement du code C/C++ pour un déploiement embarqué. De nombreux algorithmes de la toolbox peuvent être appliqués à des jeux de données trop volumineux pour être stockés en mémoire.

En savoir plus :

Analyse exploratoire

Explorez les données de manière interactive à l'aide de graphiques statistiques. Identifiez des modèles et des caractéristiques avec le clustering.

Visualisations

Explorez visuellement les données avec des tracés de probabilité, des boîtes à moustaches (box plot), des histogrammes, des diagrammes quantile-quantile et des graphiques avancés d'analyse multivariée, tels que des dendrogrammes, des diagrammes de double projection (biplot) et des graphiques d'Andrews.

Utilisez un scatter plot multidimensionnel pour explorer les relations entre les variables.

Statistiques descriptives

Décrivez et comprenez rapidement vos jeux de données potentiellement importants à l’aide de quelques caractéristiques très pertinentes.

Explorez les données à l'aide de moyennes et de variances groupées.

Analyse de clusters

Découvrez des modèles en groupant des données à l'aide des k-means, des k-medoids, du DBSCAN (Density-Based Spatial Clustering of Applications with Noise), du clustering hiérarchique et spectral, des mélanges gaussiens et des chaînes de Markov cachées.

Application d'un DBSCAN à deux groupes concentriques.

Extraction de caractéristiques et réduction de dimension

Transformez des données brutes en caractéristiques plus adaptées au Machine Learning. Explorez et créez de nouvelles caractéristiques itérativement, et sélectionnez celles qui optimisent vos performances.

Extraction de caractéristiques

Réaliser l'extraction de caractéristiques à partir de données en utilisant des techniques d'apprentissage non supervisé telles que le filtrage de données creuses (sparse) et l'analyse en composantes indépendantes (ICA) avec reconstruction. Vous pouvez aussi utiliser des techniques spécialisées pour extraire des caractéristiques à partir d'images, de signaux, de texte et de données numériques.

Extraction de caractéristiques à partir de signaux transmis par des appareils mobiles. 

Sélection de variables pertinentes

Identifiez automatiquement le sous-ensemble des variables qui propose les meilleures capacités de prédiction pour la modélisation de données. Les méthodes de sélection de variables comprennent la régression stepwise, la sélection séquentielle, la régularisation ainsi que des méthodes ensemblistes.

L'analyse NCA permet de sélectionner les variables qui préservent au mieux la précision du modèle.

Transformation de variables et réduction de dimension

Réduisez la dimension de vos données en transformant les variables (non catégorielles) existantes en de nouvelles variables prédictives dans lesquelles les variables les moins pertinentes peuvent être ignorées. Les méthodes de transformation comprennent l'analyse en composantes principales (ACP), l’analyse factorielle et la factorisation par matrices non négatives (Non-negative Matrix Factorization ou « NMF »).

L'ACP peut projeter orthogonalement des vecteurs de grande dimension sur un système de coordonnées de moindre dimension tout en préservant le maximum d'information.

Machine Learning

Créez des modèles de classification et de régression à l'aide d'applications interactives ou de Machine Learning automatisé (AutoML). Sélectionnez des variables, identifiez le meilleur modèle et ajustez les hyperparamètres, le tout automatiquement.

Apprentissage, validation et optimisation de modèles prédictifs

Comparez plusieurs algorithmes de Machine Learning, sélectionnez des variables, ajustez les hyperparamètres et évaluez les performances de nombreux algorithmes de classification et de régression parmi les plus utilisés. Créez et optimisez automatiquement des modèles prédictifs à l'aide d'applications interactives et améliorez progressivement des modèles avec des données en streaming.

Interprétabilité des modèles

Améliorez l'interprétabilité des modèles de Machine Learning de type black-box en appliquant des méthodes d'interprétabilité établies, comme les méthodes PDP (Partial Dependance Plots), ICE (Individual Conditional Expectation) et des explications locales interprétables par modèle agnostique (méthode de LIME).

LIME construit des approximations simples de modèles complexes dans un espace local.

Machine Learning automatisé (AutoML)

Améliorez les performances des modèles en ajustant les hyperparamètres, en sélectionnant les variables et les modèles, en traitant les déséquilibres des jeux de données à l'aide de matrices de coût, le tout automatiquement.

Optimisation efficace des hyperparamètres avec l'optimisation bayésienne.

Régression et ANOVA

Modélisez une variable de réponse continue comme une fonction d'un ou plusieurs prédicteurs en utilisant la régression linéaire ou non linéaire, des modèles à effets mixtes, des modèles linéaires généralisés et la régression non paramétrique. Attribuez une variance aux différentes sources à l'aide d'ANOVA.

Régression linéaire et non linéaire

Modélisez le comportement des systèmes complexes à plusieurs prédicteurs ou variables réponse en choisissant parmi de nombreux algorithmes de régression linéaire et non linéaire. Ajustez les modèles hiérarchiques ou multi-niveaux, les modèles linéaires et non linéaires, et les modèles linéaires généralisés à effets mixtes avec des effets aléatoires croisés et/ou imbriqués pour effectuer des analyses longitudinales ou de panels, des mesures répétées et des modélisations de croissance.

Ajustez des modèles de manière interactive avec l'application Regression Learner.

Régression non paramétrique

Générez un ajustement précis sans modèle spécifié décrivant la relation entre les prédicteurs et la réponse, en utilisant des machines à vecteurs de support (SVM), des forêts aléatoires, des processus et des noyaux gaussiens.

 Identifiez les valeurs aberrantes ou extrêmes à l'aide de la régression quantile.

Analyse de la variance (ANOVA)

Attribuez la variance d’un échantillon à différentes sources et déterminez si la variation survient dans ou entre les différents groupes de population (variance inter ou intra). Utilisez des ANOVA à un facteur, deux facteurs, N facteurs, multivariées ou non paramétriques ainsi que des analyses de covariance (ANOCOVA) et des analyses de variance à mesures répétées (RANOVA).

Testez les groupes avec l'ANOVA.

Lois de probabilité et tests d'hypothèse

Ajustez les distributions aux données. Analysez si les différences d’échantillon à échantillon sont significatives ou si elles sont cohérentes avec la variation de données. Générez des nombres aléatoires à partir de différentes distributions.

Lois de probabilité

Ajustez des lois continues ou discrètes, utilisez des graphiques statistiques pour évaluer la qualité de l’ajustement, et calculez les fonctions de densité de probabilité et les fonctions de distribution cumulée de plus de 40 distributions.

Ajustez des lois de probabilité à l'aide de l'application Distribution Fitter.

Génération de nombres aléatoires

Générez des séries numériques pseudo-aléatoires et quasi-aléatoires à partir d'une loi de probabilité ajustée ou construite.

Générez des nombres aléatoires de manière interactive.

Tests d’hypothèse

Effectuez des tests t, des tests de distribution (Chi², Jarque-Bera, Lilliefors et Kolmogorov-Smirnov) et des tests non paramétriques pour un échantillon, des échantillons appariés ou des échantillons indépendants. Testez l'autocorrélation et le caractère aléatoire, et comparez les distributions (test de Kolmogorov-Smirnov à deux échantillons).

Région de rejet dans un test t unilatéral.

Statistiques industrielles

Analysez statistiquement les effets et les tendances de vos données. Appliquez des techniques de statistiques industrielles telles que les plans d'expériences et le contrôle des processus statistiques.

Plan d’expériences (DOE)

Définissez, analysez et visualisez un plan d'expériences personnalisé. Créez et testez des plans pratiques relatifs à la manière de manipuler les données d’entrées en tandem pour générer des informations par rapport à leurs effets sur les données de sorties.

Appliquez un plan de Box-Behnken pour générer des surfaces de réponse d'ordres plus élevés.

Contrôle des processus statistiques (SPC)

Surveillez et améliorez des produits ou des processus en évaluant la variabilité du processus. Créez des diagrammes de contrôle, estimez la capacité du processus et effectuez des études de répétabilité et de reproductibilité.

Surveillance de processus de fabrication à l'aide de diagrammes de contrôle.

Analyse de fiabilité et de survie

Visualisez et analysez les données de probabilité d'une panne, avec ou sans censure, en exécutant des modèles de risques proportionnels de la régression de Cox, et ajustez les distributions. Calculez les risques empiriques, la survie, des fonctions de distribution cumulée et des estimations de densité de noyau.

Données de défaillance en tant qu'exemple de valeurs « censurées ».

Big data, parallélisation et Cloud Computing

Utilisez des techniques statistiques et de Machine Learning avec les données massives ou hors mémoire (out-of-memory). Accélérez les calculs statistiques et l'apprentissage de modèles de Machine Learning en les parallélisant sur des instances de clusters et de cloud.

Analyser les big data avec des tall arrays

Utilisez les tall arrays et des tables avec de nombreux algorithmes de classification, de régression et de clustering pour entraîner vos modèles sur des jeux de données qui ne peuvent tenir en mémoire sans modifier votre code.

Accélérez les calculs avec Parallel Computing Toolbox ou MATLAB Parallel Server.

Cloud et calcul distribué

Utilisez des instances de cloud pour accélérer les calculs statistiques et de Machine Learning. Exécutez le workflow complet de Machine Learning dans MATLAB Online™.

Effectuez des calculs sur les instances de cloud Amazon ou Azure.

Déploiement, génération de code et intégration dans Simulink

Déployez vos modèles ou vos fonctions statistiques et de Machine Learning sur des systèmes embarqués, accélérez des calculs informatiques complexes à l'aide de code C, et intégrez-les aux systèmes de l'entreprise et aux modèles Simulink.

Génération de code

Générez du code C ou C++ portable et lisible pour l'inférence des algorithmes de classification et de régression, les statistiques descriptives et les lois de probabilité avec MATLAB Coder™. Générez le code C/C++ des algorithmes de prédiction avec une précision réduite à l'aide de Fixed Point Designer™, et mettez à jour les paramètres des modèles déployés sans regénérer le code de la prédiction.

Deux chemins pour le déploiement : générer du code C ou compiler du code MATLAB.

Intégration avec Simulink

Intégrez des modèles de Machine Learning avec des modèles Simulink pour le déploiement sur du hardware embarqué ou à des fins de simulation, de vérification et de validation de systèmes.

Intégrer avec des applications et des systèmes d'entreprise

Déployez vos modèles statistiques et de Machine Learning en tant qu’applications autonomes, MapReduce ou Spark™, ou bien en tant qu'applications web, ou encore en tant que add-ins Microsoft® Excel® avec MATLAB Compiler™. Créez des bibliothèques partagées C/C++, des Microsoft .NET assemblies, des classes Java® et des packages Python® avec MATLAB Compiler SDK™.

Utilisez MATLAB Compiler pour intégrer un modèle de classification de la qualité de l'air.

Nouveautés

AutoML

Sélectionnez automatiquement le meilleur modèle et les hyperparamètres associés pour la régression (fitrauto)

Interprétabilité

Obtenez des explications locales interprétables par modèle agnostique (méthode de LIME)

Blocs SVM Prediction

Simulez et générez du code pour des modèles SVM dans Simulink

Apprentissage incrémental

Entrainer de manière incrémentale des modèles de régression linéaire et de classification binaire

Apprentissage semi-supervisé

Extrapolez des étiquettes de classe partielles à l'ensemble des données en utilisant des graphes et des modèles auto-entraînés (fitsemigraph, fitsemiself)

Génération de code

Générez du code C/C++ simple précision à des fins de prédictions

Performance

Accélérez l'apprentissage de modèles SVM

Consultez les notes de version pour en savoir plus sur ces fonctionnalités et les fonctions correspondantes.

Machine Learning Onramp

Une introduction interactive aux méthodes pratiques de Machine Learning pour résoudre des problèmes de classification.