Université Joseph Fourier Département Licence Sciences & Technologie Rapport de Stage _________________________________________________ ANALYSE CLADISTIQUE POUR LA CLASSIFICATION DES GALAXIES BUDLOO Ashkwin Rishi Laboratoire d'accueil: IPAG (Institut Planétologie et Astrophysique de Grenoble) Rue de la Piscine, Domaine Universitaire Directeur du laboratoire : M. DESERT François-Xavier Responsable du stage: M. FRAIX-BURNET Didier Licence PHYSIQUE-1ère année-Physique, Mécanique et Math Année universitaire : 2014-2015 04/07/2015 Sommaire Remerciements……………………………………………………………….….….3 Introduction et déroulement du stage….………………………………………....…4 Explication de la classification cladistique……………………………………..…..5 Nomenclature…………………………………………………………………...…..5 Protocole de l’échantillonnage…………………………………………………...…6 Protocole de l'analyse…………………………………………………………...…..7 Comparaison des arbres…………………………………………………….….…....7 Observations……………………………………………………………….....……..8 Exemples de fonctions que j'ai écrites………………………………………………9 Ce que j'ai appris…………………………………………………….……………..10 Conclusion………………………………………………………………………….10 04/07/2015 2/10 Remerciements Mme Claire Rist qui a cherché avec ses collègues, la possibilité de recruter un stagiaire. M Didier Fraix-Burnet qui m'a accepté pour le stage et qui m'a aidé beaucoup où j'avais des difficultés dans le stage. Morgan Schmitz, un autre stagiaire de M2, qui m'a aidé avec des difficultés aussi. Le DLST qui a permis d'effectuer ce stage. 04/07/2015 3/10 Introduction La cladistique est une nouvelle méthode proposée pour la classification des galaxies. La classification morphologique est utilisée normalement, mais elle n'est pas très rigoureuse. M. Fraix Burnet a longtemps proposé la cladistique pour faire la classification en regroupant les galaxies partageant une même histoire. Cette méthode s'inspire aussi de la biologie où on classe les différents espèces, spécimens, et autres êtres vivants. On n'est maintenant pas certain de la viabilité de cette méthode et c'est pour cela qu'on a mené une simulation de cette méthode avec des données de plusieurs galaxies. On dispose de 4000 galaxies dont les données peuvent être exploitées (les données sont viables). Cependant ce nombre de galaxies est trop élevé pour être analysé directement. Cela aurait pris beaucoup trop de temps et de ressources informatiques. Pour des raisons de validité statistique aussi on préfère alors échantillonner, et voir si les résultats sont cohérents sur tous les échantillons représentatifs de la distribution. Déroulement du stage Premiers trois jours : Se familiariser avec le langage R. Première semaine : Faire les échantillons à 200, créer les séries, et analyse des arbres. Deuxième semaine : Créer plusieurs autres séries pour comprendre l'influence des paramètres. Troisième semaine : Écrire les fichiers pdf, modifications des fonctions pour les adapter aux nouveaux problèmes. Dernière semaine : Analyses d'arbres plus rigoureuses, écriture de fichiers pdf plus complètes. Tout au long du stage : 04/07/2015 Assister aux séminaires, soutenance de stages, recherches, etc. 4/10 La classification cladistique en détail Un arbre est un schéma montrant les changements nécessaires de caractéristiques entre des individus (humains, animaux, ou autres, mais dans notre cas, des galaxies) pour passer d'un individu à l'autre. Plusieurs arbres existent pour montrer ces changements, mais on cherche l'arbre le plus simple, c'est à dire, celui qui présente le moins de changements sur ses branches, car on imagine que le modèle de l'évolution selon l'arbre le plus simple est plus facile de se produire. (La probabilité que ce soit cet arbre qui modélise l'évolution est plus élevée que pour les autres arbres, car il y a moins des changements qui doivent entrer en jeu). On dit que cet arbre est le plus parcimonieux. Tous les arbres qu'on a dessiné doivent présenter un individu en particulier (le même pour tous les arbres) tout en haut, et on dit qu'on a enraciné les arbres. Ceci permet de mieux comparer des arbres entre eux. En effet si les arbres pour un même paramètre se ressemblent et qu'ils sont bien résolus, c.a.d, pas plus de 2 branches partant d'un nœud, alors on peut identifier des groupes de par la valeur du paramètre prise par les individus et la proximité des individus dans l'arbre. La nomenclature CAT4cw : La grande matrice contenant tous les détails des 4000 galaxies. CAT4cwnXXXZ : Où XXX=200 ou 500, Z=a-j. Les échantillons contenant XXX galaxies. CAT4cwp0YYnXXXZ : La matrice tronquée de l'échantillon ayant seulement les valeurs de la série YY. CAT4cwp0YYnXXXZ.nex : La matrice précédente écrite dans un fichier nexus. tree4cwp0YYnXXXZ : Objet R contenant l'arbre après l'analyse du fichier nexus et avec consensus à 70 %. CAT4cwp0YYnXXX.pdf : Les fichiers pdf contenant les arbres des 10 échantillons par paramètre, un paramètre par page. DistrCAT4cwnXXX.pdf : Les fichiers pdf montrant la distribution des échantillons de taille XXX. 04/07/2015 5/10 L'échantillonnage On découpe la plage des valeurs prises par les paramètres en 32, et on s'assure que des individus soient choisis dans chaque intervalle. De cette façon, l'échantillon est plus représentatif de la distribution. On relance plusieurs fois le script R qui fait l'échantillon et montre la distribution de l'échantillon par rapport à celle de l'ensemble complet, et on sauvegarde seulement 10 des échantillons qui sont suffisamment représentatifs de l'ensemble. Au début on a fait des échantillons de 200 galaxies, et après on a fait des échantillons de 500, dans le but d'expérimenter avec des petits échantillons qui prennent moins de temps pour les calculs, et ensuite de passer de plus en plus à de grands échantillons. Une série d'échantillons comprend les matrices des échantillons avec seuls les paramètres physiques qui sont indicatifs de la série. Par exemple si on attribue la série 3b à l'analyse selon les paramètres mue, logre et hbeta, la matrice de l'échantillon pour la série 3b contiendra uniquement les valeurs de mue, logre et hbeta. Ceci permet de voir si certains jeux de paramètres sont mieux que d'autres pour classifier les galaxies.La fonction WriteCodedNexus est utilisée pour écrire les fichiers qui contient les matrices des échantillons avec leurs quantités physiques. Ces fichiers sont analysés après sur le serveur. Distribution des échantillons à 200, comparée à celle de la population totale 04/07/2015 6/10 L'Analyse On a utilisé le logiciel de programmation statistique R pour manipuler et traiter certaines données. J'ai écrit des scripts (fonctions) qu'on a ensuite utilisé pour par exemple afficher plusieurs arbres afin de faire des comparaisons, ou pour sauvegarder les arbres dans des fichiers pdf. L'analyse pour trouver l'arbre le plus simple s'est faite sur les serveurs qui sont plus puissants que les terminaux, et l'avantage aussi est qu'on n'a pas besoin de laisser les terminaux allumés pour que le calcul continue. Pour gagner du temps, le programme cherche l'arbre le plus simple en utilisant une méthode numérique: il déforme un espace de phases en attribuant des pondérations à chaque déformation. A chaque fois qu'il trouve un minimum, il déforme à nouveau l'espace des phases avec des nouvelles pondérations jusqu'à trouver un autre minimum. Le procédé est répété à un nombre d'itérations que l'on souhaite (typiquement de 100 à 1000 itérations). On peut modifier le pourcentage de l'espace que l'on souhaite déformer aussi. Mais malgré tout cela, on n'est jamais sûr d'avoir l'arbre le plus parcimonieux. On peut répéter le procédé et choisir l'arbre le plus simple de tous manuellement. Un consensus des arbres robustes à 70 % est écrit dans un fichier nexus (100 % serait beaucoup trop stricte et on aurait eu très peu ou aucun arbre). Ces fichiers nexus sont lus avec une fonction appelée read.nexus qui forme partie de la librairie ape installé sur l'ordinateur. Comparaison des arbres La comparaison se fait de visu. Sur les graphiques d'arbres d'une série par paramètre, on voit si le regroupement des galaxies dans les arbres sont pareils. Par exemple on pourrait observer que les galaxies ayant de petites valeurs de luminosité se retrouvent groupées dans l'arbre. Cela a été le cas des fois, mais il s'est révélé plus tard que les arbres n'étaient pas assez fouillés, et cela explique les nombreuses anomalies qu'on a eues (certaines arbres, semblablement bien résolus, étaient en contradiction avec les autres). C'était le cas aussi avec les graphiques des arbres de chaque échantillon selon les différents paramètres. Certains paramètres qui sont liés présentaient quelques fois des relations contraires à ce qu'on doit s'attendre. 04/07/2015 7/10 Les arbres des 10 échantillons à 200 galaxies pour le paramètre logre Observations Plus on augmente la fouille dans certaines séries, pour trouver l'arbre le plus parcimonieux (l'arbre le plus simple), l'arbre qu'on obtient est très peu résolu. Cela peut indiquer que les paramètres choisis ne fournissent pas assez d'informations pour pouvoir grouper les galaxies. Plus on augmente la population de l'échantillon aussi, les arbres sont très mal résolus. 04/07/2015 8/10 Exemples de fonctions R que j'ai écrites analarbrePara3=function(p,para,n,s="") { layout(matrix(c(1,1,1,1,1,2,3,4,5,6,7,8,9,10,11),3,5,byrow=T),widths=c(1,1,1,1,1),heights=c(1,10, 10)) op=par(mar=c(1,1,1,1)) plot(5,col="white",xaxt="n",bty="n",main=colnames(CAT4cw[para]),cex.sub=3) for (k in c('a','b','c','d','e','f','g','h','i','j')) { data<- get(paste("CAT4cwn",n,k,sep="")) tree<- get(paste("tree4cwp0",p,"n",n,k,s,sep="")) plot.phylo(tree,show.tip.label=F) tiplabels(pch=21,cex=2*((datatreeorder(tree,data)[,para])-min(datatreeorder(tree,data)[,para]))/ (max(datatreeorder(tree,data)[,para])-min(datatreeorder(tree,data)[,para]))) title(paste("tree4cwp0",p,"n",n,k,s,sep="")) } par(op) } ecrirepdfserie=function(serie,n) { pdf(paste("/user/homedir/budlooa/Documents/Graphiques3/CAT4cwp0",serie,"n",n,".pdf",sep="") ) for (t in 1:10) { analarbrePara3(serie,t,n) z=2 while(is.element(paste("tree4cwp0",serie,"n",n,"a",z,sep=""),ls(globalenv()))==T) { analarbrePara3(serie,t,n,z) z=z+1 } } dev.off() } La fonction analarbrePara3 affiche les graphiques des arbres d'une série pour un certain paramètre, et ecrirepdfserie sauvegarde les graphiques dans un fichier pdf en lui donnant un nom précis (selon la nomenclature). 04/07/2015 9/10 Ce que j'ai appris Avant je croyais que les galaxies étaient simplement des collections d'objets célestes situés plus ou moins proches l'un de l'autre, et que l'arrangement de leurs constituants était purement aléatoire, mais maintenant j'ai su que des formes spirales, elliptiques, etc sont très communes, et c'est ce que constitue la classification morphologique. La forme d'une galaxie n'est pas assez pour décrire son histoire. Il faut prendre en compte d'autres paramètres physiques comme la luminosité, la masse, la taille, et autres. On peut identifier des groupes de galaxies en regroupant les galaxies nécessitant très peu de changements pour passer de l'un à l'autre, et aussi en s'aidant de la valeur des variables. Le R est un langage de programmation qui est nouveau pour moi, et j'ai appris à m'en servir plutôt bien. Ce sera un avantage si je dois faire d'autres simulations ou représentations statistiques dans le futur. J'ai appris à utiliser des nouvelles commandes Unix. J'ai découvert l'environnement de travail du stage. Conclusion La classification morphologique était une première étape pour classifier les galaxies, mais aujourd'hui on a besoin d'une méthode plus rigoureuse qui marchera avec toutes les galaxies, car certaines galaxies ne peuvent pas être classifiées morphologiquement puisque la forme dépend de la bande d'onde électromagnétique dans laquelle on regarde. Comme tout travail de recherche, cela nécessitera temps et patience, et de la chance aussi. On a compris certaines de nos erreurs et d'autres analyses seront faites par M. Didier FRAIX-BURNET pour voir si cela mène à ses attentes. Ce que j'en pense c'est que la classification cladistique est bien applicable aux galaxies comme elles évoluent, et elle marchera avec les galaxies comme elle a marché avec les espèces vivantes et les autres objets auxquels elle est déjà appliquée. 04/07/2015 10/10