Analyse en Composantes Principales (ACP) PDF 2024

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Document Details

Faculté des Sciences et Techniques, Mohammedia

2024

Abdeljalil SETTAR

Tags

principal component analysis data analysis statistics mathematics

Summary

This document presents an analysis of data using Principal Component Analysis (PCA). It covers the motivations, data description, objectives, and practical applications of this statistical method in R. It appears to be part of a course or lecture notes for a postgraduate level statistics course.

Full Transcript

Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Analyse des données Analyse en Composantes Principales (ACP) Abdeljali...

Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Analyse des données Analyse en Composantes Principales (ACP) Abdeljalil SETTAR [email protected] Code Classroom : gyjlt3h Faculté des Sciences et Techniques, Mohammedia LST/SDID Session automne 2024 A.SETTAR (FSTM) Analyse des données Session automne 2024 1 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Plan du chapitre 1 Motivation 2 Présentation et déscription des données 3 Objectifs, problème et solution 4 Pratique de l’ACP (normée) Ajustement du nuage des individus Ajustement du nuage des variables 5 Application sous R A.SETTAR (FSTM) Analyse des données Session automne 2024 2 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl L’Analyse en Composantes Principales (ACP) est la méthode de base en statistique exploratoire multidimensionnelle (ou analyse des données) : Multidimensionnelle : l’analyse porte sur plusieurs variables (quantitatives). Exploratoire : descriptive (par opposition à inférentielle) A.SETTAR (FSTM) Analyse des données Session automne 2024 3 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl En ACP les données se présentent dans un tableau X à n lignes et p colonnes où : Chaque ligne représente un individu (profil individu). Chaque colonne représente une variable. Les variables sont quantitatives : la matrice X est constituée de valeurs numériques A.SETTAR (FSTM) Analyse des données Session automne 2024 4 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Un individu ei′ = (xi1 , xi2 ,... , xip ) est un vecteur (profil) de Rp. L’ensemble des vecteurs ei , i = 1,... , n constitue le nuage des individus. Une variable X j = (x1j , x2j ,...., xnj )′ de moyenne x j et de variance σj2 est un vecteur (profil) de Rn. L’ensemble des vecteurs X j , j = 1,... , p constitue le nuage des variables. On définit le profil individu moyen comme le centre de gravité du nuage des variables n   1X ′ g = x 1, x 2,... , x p ou xj = xj n i=1 i A.SETTAR (FSTM) Analyse des données Session automne 2024 5 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Objectifs L’objectif général de l’ACP est de mener une étude exploratoire aussi bien des individus que des variables. Les deux voies principales de cette exploration sont : Un bilan des ressemblances entre individus. Un bilan des liaisons entre variables. A.SETTAR (FSTM) Analyse des données Session automne 2024 6 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Problème - Solution Les nuages des individus et des variables ne sont pas visualisables ! On cherche à « réduire » le nombre p de variables en préservant au maximum la structure du nuage (la variabilité des données) , afin de le représenter le plus fidèlement possible. L’ACP vise à projeter les données dans un sous-espace approprié, de dimension plus faible (2 ou 3), préservant la topologie du nuage (les distances entre les individus et les corrélations entre variables). Autrement dit, on cherche à définir k nouvelles variables combinaisons linéaires des p variables initiales qui feront perdre le moins d’information possible. A.SETTAR (FSTM) Analyse des données Session automne 2024 7 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des individus Notion d’inertie La variabilité (dispersion) des données représente l’information (structure) ou l’inertie du nuage des individus par rapport à son centre de gravité mesurée par : n X p p 1X 2 xij − x j = X Ig = σj2 n i=1 j=1 i=1 Xj − Xj Par centrage-réduction des variables X j tel que Z j =. Dans σj ce cas : g =O Ig = p g ′ = (0, 0,... , 0) En effet, étant donné que V Z j = 1, on obtient :  p X Ig = V(Z j ) = p j=1 A.SETTAR (FSTM) Analyse des données Session automne 2024 8 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des individus Exemple Une étude sur des fournisseurs de matériel informatique a conduit à apprécier le service, la qualité et le prix de 4 fournisseurs. Un expert a noté les 4 entreprises avec des notes allants de -3 à 3. Les résultats sont consignés dans le tableau des données suivant : Ig = (1.5811)2 + (2.2361)2 + (1.2247)2 ≃ 9 A.SETTAR (FSTM) Analyse des données Session automne 2024 9 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des individus Après centrage-réduction des variables, on obtient : Ainsi on peut vérifier que : 1 2 3 Z =Z =Z =0 V(Z 1 ) = V(Z 2 ) = V(Z 3 ) = 1 Ig = 3 A.SETTAR (FSTM) Analyse des données Session automne 2024 10 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des individus Construction factorielle On appelle : Sous espace factoriel Fk ⊂ Rp : Le sous espace de projection du nuage des individus préservant au maximum son inertie Ig. Premier axe factoriel ∆1 : Le premier axe formant Fk et portant la plus grande part de l’inertie totale Ig. Première composante factorielle (principale) Y 1 : Le vecteur (variable) des coordonnées des individus selon le premier axe factoriel ∆1. A.SETTAR (FSTM) Analyse des données Session automne 2024 11 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des individus Recherche des axes factoriels Le premier axe ∆1 est la droite passant par g = O de direction normée u 1 : le vecteur propre (normé) de R associé à la plus grande valeur propre λ1. La part (en %) de l’inertie totale Ig portée par ∆1 est : λ1 × 100% λ1 + λ2 +... + λp On justifiera par la suite que : Ig = λ1 + λ2 +... + λp (1) (conservation de l’information !) A.SETTAR (FSTM) Analyse des données Session automne 2024 12 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des individus Recherche des axes factoriels La part (en %) de l’inertie totale Ig portée par ∆2 est : λ2 × 100% λ1 + λ2 +... + λp Le deuxieme axe ∆2 est la droite passant par g de direction u 2 orthogonale à u 1. Il s’agit du vecteur propre (normé) de R associé à la deuxième plus grande valeur propre λ2. A.SETTAR (FSTM) Analyse des données Session automne 2024 13 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des individus Exemple On calcule la matrice de corrélation des variables Z 1 , Z 2 , Z 3 puis on détermine ses vecteurs propore par une diagonalisation : A.SETTAR (FSTM) Analyse des données Session automne 2024 14 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des individus Exemple Calculons les parts d’inertie expliqués (portés) par chaque axe, notamment ∆1 : On vérifie d’après (1) que 2.255 + 0.745 + 0 = 3 = Ig. L’inertie (relative) captée par le premier axe ∆1 est λ1 = 2.255 2.255 répresentant une part de × 100% = 75.17% de l’inertie totale. 3 Le plan factoriel formé de ∆1 et ∆2 capte un cumul d’inertie de 75.17% + 24.83% = 100%. A.SETTAR (FSTM) Analyse des données Session automne 2024 15 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des individus Détermination des composantes principales Une part de l’information Zi = (zi1 , zi2 ,...., zip ) sur l’individu i est résumée sur l’axe ∆1 par yi1 , sa coordonnée sur ∆1. Le reste de l’information Zi = (zi1 , zi2 ,...., zip ) sur l’individu i est résumée sur l’axe ∆2 par yi2 , sa coordonnée sur ∆2. Les coordonnées (yi1 , yi2 ) est la projection du vecteur Zi sur le plan factoriel (∆1 , ∆2 ). On a : Y = ZU ⇔ Y k = Zuk ⇔ yi1 = Zi.u1 et yi2 = Zi.u2 A.SETTAR (FSTM) Analyse des données Session automne 2024 16 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des individus Le vecteur Y 1 = (y11 , y21 ,... , yn1 ) des projections de l’ensemble des individus forme une nouvelle variable dite la première composante (facteur) principale. Le vecteur Y 2 = (y12 , y22 ,... , yn2 ) des projections de l’ensemble des individus forme une nouvelle variable dite la première composante (facteur) principale. A.SETTAR (FSTM) Analyse des données Session automne 2024 17 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des individus Propriétés 1 Réduction des variables : chaque composante principale est une combinaison linéaire centrée des variables initiales (et donc une variable) : p Y k = uk1 Z 1 + uk2 Z 2 +... + ukp Z p = j X uk Z j j=1 2 Conservation et séparation de l’information : V(Y 1 ) = λ1 , V(Y 2 ) = λ2 et Cov (Y 1 , Y 2 ) = 0 3 Corrélation maximale : Chaque Y k est maximalement corrélée à toutes les variables Z j , j = 1,... , p et on a : p 1X 2 k j λk avec r (Y k , Z j ) = λk ukj p r (Y , Z ) = p j=1 p A.SETTAR (FSTM) Analyse des données Session automne 2024 18 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des individus Exemple Par exemple, Les coordonnées de E1 après projection sur le plan factoriel (∆1 , ∆2 ) est (−2.0017, 0.2445). 1 2 3 Y = Y = Y = 0. V(Y 1 ) = λ1 = 2.255, V(Y 2 ) = λ2 = 0.745 et V(Y 3 ) = λ3 = 0 A.SETTAR (FSTM) Analyse des données Session automne 2024 19 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des individus Projection du nuage des individus A.SETTAR (FSTM) Analyse des données Session automne 2024 20 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des individus Contribution d’un individu à la formation d’un axe factoriel A partir du tableau des composantes principales (slide 20), la contribution du i ème individu à la formation du k ème axe principale est donnée par : (yik )2 cik = nλk Par exemple, la contribution du 1 er individu à la formation du 2 ème axe 0.24452 factoriel est : c12 = × 100% = 2.01% 4 × 0.745 A.SETTAR (FSTM) Analyse des données Session automne 2024 21 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des individus Remarque La part d’inertie captée par le k ème axe factoriel est : n  1 X  k λk = V(Y ) = (yik )2 i=1 n Donc, chaque individu i contribue à la formation de cet axe par 1 k 2 (y ) , ce qui représente par rapport λk : n i 1 k 2 (y ) (y k )2 n i = i := cik λk nλk Les individus qui contribuent le plus à la formation de ∆k sont ceux les plus excentrés dans la direction de ∆k. (voir le tableaux des projections) A.SETTAR (FSTM) Analyse des données Session automne 2024 22 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des individus Qualité de représentation d’un individu par un axe factoriel A partir du tableau des composantes principales (slide 20), la qualité de représentation du i ème individu par le k ème axe est mesurée par : (yik )2 (yi1 )2 qik = = ||Yi ||2 (yi1 )2 + (yi2 )2 + (yi3 )2 +... + (yip )2 Par exemple, la qualité de représentation du 1 er individu par le 2 ème axe 0.24452 factoriel est : q12 = = 0.0147 −2.00172 + 0.24452 A.SETTAR (FSTM) Analyse des données Session automne 2024 23 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des individus Remarques La qualité de représentation du i ème individu par le k ème axe qik représente le "carré" du cosinus entre le vecteur projeté de l’individu i et le k eme axe factoriel. Les individus les mieux représentés sur ∆k sont ceux les plus éloignés du centre O (et donc un cos 2 proche de 1) déformant le moins possible le nuage des individus (voir le tableaux des projections). A.SETTAR (FSTM) Analyse des données Session automne 2024 24 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des individus Qualité de représentation d’un individu par le plan factoriel La qualité de représentation du i ème individu par le plan factoriel (Y 1 , Y 2 ) est additive : qi1,2 = qi1 + qi2 Par exemple, la qualité de représentation du 1er individu par le plan factoriel est : q11,2 = q11 + q12 = 0.9835 + 0.0147 = 1 A.SETTAR (FSTM) Analyse des données Session automne 2024 25 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des individus Etant donné que cos 2 (θ) mesure la qualité de représentation d’un individu par le plan factoriel, on remarque que : Figure – cos 2 (θ) = cos 2 (θ1 ) + cos 2 (θ2 ) A.SETTAR (FSTM) Analyse des données Session automne 2024 26 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des variables La visualisation du nuage des variables comme partie de Rn porte sur les corrélations entre elles. Une bonne projection de ce nuage sur un sous espace convenable préserve au maximum les corrélations entre les variables. A.SETTAR (FSTM) Analyse des données Session automne 2024 27 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des variables Projection du nuage des variables On montre que le sous espace factoriel de projection du nuage des variables de base (vk ) est le même que celui du nuage des individus 1 de base (uk ) à une norme près √ tel que : λk 1 vk = √ Y k (2) λk De même que, on montre que : 1 ek uk = √ Y (3) λk Il s’agit d’une dualité des projections du nuage des individus et du nuage des variables : la projection d’un individu est une combinaison linéaire des projections de toutes les variables et vice versa. A.SETTAR (FSTM) Analyse des données Session automne 2024 28 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des variables Projection du nuage des variables l’information Z j = (z1j , z2j ,... , znj )′ sur la variable Z j est résumée donc sur l’axe ∆1 par yej1 la coordonnée yej1 est la projection du vecteur Z j sur ∆1. On montre que : 1 ′ yej1 = √ Z j Y 1 (∗) n λk A.SETTAR (FSTM) Analyse des données Session automne 2024 29 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des variables Projection du nuage des variables A.SETTAR (FSTM) Analyse des données Session automne 2024 30 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des variables Dualité : formules de transition Les expression (2) et (3) entrainent deux expressions dites de transition : De l’espace des variables à l’espace des individus : p 1 e k = √1 X yik = Zi uk = √ Zi Y z j yek (4) λk λk j=1 i j De l’espace des individus à l’espace des variables : n 1 j′ 1 ′ 1 X j k yejk = Z vk = √ Z j Y k = √ z yi (5) n n λk n λk i=1 i A.SETTAR (FSTM) Analyse des données Session automne 2024 31 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des variables Contribution d’une variable à la formation d’un axe factoriel A partir du tableau des coordonnées factorielles des variables (slide 26), la contribution de la j eme variable à la formation du k eme axe principale est donnée par : (yejk )2 cejk = λk Par exemple, la contribution de la 3ème variable à la formation du premier (ye 1 )2 (0.7525)2 axe est ce31 = 3 = × 100% = 25.11% λ1 2.255 A.SETTAR (FSTM) Analyse des données Session automne 2024 32 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des variables Qualité de représentation d’une variable par un axe factoriel A partir du tableau des coordonnées factorielles des variables (slide 26), la qualité de représentation de la j ème variable par le k ème axe est mesurée par : qejk = (yejk )2 Par exemple, la qualité de représentation de la 3ème variable par le premier axe est qe31 = (ye31 )2 = (0.7525)2 = 0.5662 A.SETTAR (FSTM) Analyse des données Session automne 2024 33 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des variables Qualité de représentation d’une variable par le plan factoriel La qualité de représentation de la j ème variable par le plan factoriel (Y 1 , Y 2 ) est additive : qej1,2 = qej1 + qej2 Par exemple, la qualité de représentation de la 3ème variable par le plan factoriel est qe31,2 = qe31 + qe32 = 0.5662 + 0.4338 = 1 A.SETTAR (FSTM) Analyse des données Session automne 2024 34 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Ajustement du nuage des variables Interprétation A.SETTAR (FSTM) Analyse des données Session automne 2024 35 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Application sous R "Une agence bancaire est un point de contact important entre les clients et la banque. En plus de fournir des services bancaires traditionnels tels que les dépôts, les retraits et les prêts, les agences bancaires peuvent également jouer un rôle crucial dans la gestion des relations avec les clients et la promotion des produits et services bancaires. Dans le contexte actuel, la majorité des firmes importantes analyse la “data” et quel que soit le secteur (sport, économique, social...). Les banques gèrent des données importantes sur les clients, les transactions et les activités financières. La collecte, l’analyse et l’utilisation de ces données peuvent fournir de précieuses informations aux banques pour mieux comprendre les besoins de leurs clients, leurs comportements, améliorer leur expérience utilisateur, et à optimiser leurs opérations et leur rentabilité. Les banques utilisent ces données pour créer des modèles d’analyse prédictive qui leur permettent d’anticiper les besoins des clients et de développer des produits et des services personnalisés en conséquence." A.SETTAR (FSTM) Analyse des données Session automne 2024 36 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl On dispose d’une base de données concernant 37 client d’une banque choisis à partir de ses agences. L’objectif est de comprendre et expliquer en fonction de l’analyse de plusieurs variables les différences et les similitudes de clientèle dans ces agences. Les cinq variables d’analyse sont : − X 1 = "age" : l’âge du client. − X 2 = "anciennete mois" : l’ancienneté du client au niveau de l’agence. − X 3 = "mt rentabilite" : le montant de rentabilité du client. (l’ensemble des opérations débitrices du compte – à l’exception des mouvements exonérés comme la perception de l’échéance d’un crédit ou les mouvements entre les comptes d’une même entreprise) − X 4 = "mt epargne disponible" : le montant d’épargne disponible du client. − X 5 = "identifiant" : le nombre de client dans l’agence. A.SETTAR (FSTM) Analyse des données Session automne 2024 37 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl A.SETTAR (FSTM) Analyse des données Session automne 2024 38 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Centrage-réduction des données Figure – Les donées après centrage-réduction. A.SETTAR (FSTM) Analyse des données Session automne 2024 39 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Matrice de corrélation Figure – Matrice de corrélation. A.SETTAR (FSTM) Analyse des données Session automne 2024 40 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Vecteurs/Valeurs propres de la matrice de corrélation Figure – Valeurs propres (eigen$values) et vecteurs propores (eigen$vectors) de la matrice de corrélation. A.SETTAR (FSTM) Analyse des données Session automne 2024 41 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Les parts d’inertie par axes factoriels Figure – Les parts d’inertie par axes factoriels A.SETTAR (FSTM) Analyse des données Session automne 2024 42 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Les composantes prinicipales Figure – Les deux premières composantes prinicipales A.SETTAR (FSTM) Analyse des données Session automne 2024 43 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Contribution des individus... Figure – Contribution des individus par rapport aux deux premiers axes factoriels A.SETTAR (FSTM) Analyse des données Session automne 2024 44 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Qualité de représentation des individus Figure – Qualité de représentation des individus par chacun des deux premiers axes factoriels A.SETTAR (FSTM) Analyse des données Session automne 2024 45 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Qualité de représentation des individus Figure – Qualité de représentation des individus par le plan factoriel A.SETTAR (FSTM) Analyse des données Session automne 2024 46 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Représentation des variables A.SETTAR (FSTM) Figure – Représentation Analyse des donnéesdes variables Session automne 2024 47 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Contribution des variables... Figure – Contribution des variablesAnalyse A.SETTAR (FSTM) par des rapport données aux deux premiers axes factoriels Session automne 2024 48 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Qualité de représentation des variables A.SETTAR (FSTM) Analyse des données Session automne 2024 49 / 50 Motivation Présentation et déscription des données Objectifs, problème et solution Pratique de l’ACP (normée) Appl Qualité de représentation des variables Figure – Qualité de représentation des variables par les deux premiers axes factoriels A.SETTAR (FSTM) Analyse des données Session automne 2024 50 / 50

Use Quizgecko on...
Browser
Browser