Voisinage de la revue de la BNU "rbnu" dans la cartographie
(octobre 2023)

<figure><img src="image_227.png" /></figure>

Nous constatons que les sites les plus proches de celui de la revue de la **BNU** varient selon les périodes observées.

Pour le mois d'octobre 2022, les deux sites les plus proches sont ceux de la revue *Patrimoine du Sud* et des *Presses universitaires de Lyon*, notés respectivement **"pds"** et **"pul"** dans la cartographie. Cette proximité pourrait s'expliquer par plusieurs caractéristiques communes. D'une part, *Patrimoine du Sud* traite de thématiques liées aux arts et aux humanités, tout comme la revue de la BNU. D'autre part, les *Presses universitaires de Lyon* abordent principalement des sujets en histoire, une discipline également partagée avec la BNU. En outre, ces trois sites ont été mis en ligne la même année, ce qui peut renforcer leur proximité dans l'espace de représentation.

En revanche, pour la période d'octobre 2023, le site le plus proche de celui de la BNU est celui de la revue *Les Nouvelles de l'Estampe* (notée **"estampe"**). Cette revue traite de thématiques similaires à celles de *Patrimoine du Sud*, en particulier dans le champ des arts et de l'archéologie, ce qui pourrait expliquer son rapprochement avec la BNU dans cette nouvelle configuration.

La revue Hommes & Migrations
Voisinage de la revue de la Hommes & Migration "hommesmigration" dans la cartographie
(octobre 2022)

<figure><img src="image_228.png" /></figure>

Pour la revue **Hommes & Migrations**, les sites les plus proches identifiés sont ceux de la
*Revue Européenne des Migrations Internationales*, de la revue e-Migrinter, ainsi que de
*Éducation et sociétés plurilingues*. Ces revues partagent un intérêt commun pour les
thématiques liées aux **relations internationales** et aux **migrations**.

Elles présentent également des similitudes sur le plan disciplinaire, en s'inscrivant
majoritairement dans les champs des **sciences politiques**, de l'**administration publique**,
du **développement**, ainsi que des **sciences sociales** avec une approche interdisciplinaire.

Concernant leur date de mise en ligne sur la plateforme, la plupart de ces revues ont été
publiées autour de l'année **2015**, à l'exception de la *Revue Européenne des Migrations Internationales*, disponible depuis **2004**. Cette proximité temporelle pourrait également
contribuer à leur regroupement dans l'espace de représentation.
Voisinage de la revue de la Hommes & Migration "hommesmigration" dans la cartographie (octobre 2023)

<figure><img src="image_229.png" /></figure>

Dans la continuité des observations faites pour **Hommes & Migrations**, les données de la période d'octobre **2023** confirment la proximité avec les sites de la *Revue Européenne des Migrations Internationales*, *e-Migrinter* et *Éducation et sociétés plurilingues*. À ces revues s'ajoutent deux nouveaux sites : ceux de *Cahiers de l'Urmis* et de *La revue Appartenance et Altérité*. Ces deux dernières publications s'inscrivent également dans les champs thématiques des **migrations** et des **relations interethniques**, renforçant la cohérence du groupe observé. Il est par ailleurs intéressant de noter le lien éditorial entre ces deux revues : *Cahiers de l'Urmis* a en effet redéfini sa ligne éditoriale en **2021** pour donner naissance à *La revue Appartenance et Altérité*

La maison d'édition de l'université Grenoble-Alpes

En ce qui concerne la maison d'édition de l'Université Grenoble Alpes, l'analyse des représentations montre une évolution notable entre les périodes d'octobre 2022 et 2023. En 2022, le site le plus proche est celui des Éditions des Maisons des Sciences de l'Homme Associées, spécialisées dans des disciplines telles que l'histoire, l'archéologie, l'anthropologie et la géographie.

En 2023, nous observons de nouveaux sites voisins, parmi eux, on trouve la revue Genesis, dédiée à la critique génétique des textes, qui s'intéresse aux processus de création dans la littérature, les arts et les sciences. À cela s'ajoute la revue Écrire l'histoire, positionnée dans le champ de la recherche historique, ainsi que la revue Humanitaire, qui propose un espace de réflexion et de débat autour des enjeux contemporains de l'action humanitaire, tant en France qu'à l'international.
Voisinage de UGA éditions "ugaeditions" dans la cartographie
(octobre 2022)

<figure><img src="image_230.png" /></figure>

Voisinage de UGA éditions "ugaeditions" dans la cartographie
(octobre 2023)

<figure><img src="image_231.png" /></figure>

4.4 Vers une cartographie plus fine

La réduction à deux dimensions entraîne souvent une perte d'information. Pour mieux préserver la structure des données, une piste que nous proposons est d'utiliser une
représentation sous forme de graphe au lieu d'une représentation de nuage de points, en
utilisant l'algorithme du Mapper.

Mapper est une technique qui combine **réduction de dimension, clustering et graphes** afin d'obtenir une vision plus globale des données. Il est principalement utilisé pour:

* Visualiser la forme des données sous un certain angle,

* Détecter des clusters et des structures topologiques complexes que les méthodes classiques ne parviennent pas toujours à identifier,

* Sélectionner les variables les plus discriminantes et améliorer l'interprétabilité des modèles.

Avec cette représentation nous allons mieux conserver la représentation spatiale. Pour ce faire nous utilisons la module python Keppler Mapper pour construire ces nouvelles cartographies.

Pour l'instant, voici les structures observées pour les deux périodes 2022 et 2023.

<figure><img src="image_232.png" /><figcaption>Cartographie octobre 2022</figcaption></figure>

<figure><img src="image_233.png" /></figure>

Les nœuds correspondent à des groupes de sites proches dans l'espace des représentations, les arêtes quant à elles sont formées lorsqu'il y a un site dans deux nœuds car oui il est tout à fait possible d'avoir des sites dans deux nœuds, c'est sites généralement partagent des caractéristiques avec les deux groupes et peut être vu comme des connecteurs.

Ces premières analyses révèlent des groupes de sites centraux qui ne partagent pas des thématiques similaires liées à des nœuds dans les périphéries qui sont plus liées les aux autres. Les noeuds contiennent généralement des sites homogènes en terme de plateformes, par exemple la cartographie d'octobre 2023 contient une zone avec des noeuds jaunes, ces noeuds contienent que des sites de la plateforme hypothèses qui sont bien isolé du reste de sites de Journals et Books qui eux sont plus liés dans le graphe à droite. On constate la même chose pour la cartographie d'octobre 2022. Nous allons analyser ces groupes de sites plus en détails et faire une recherche paramétrique pour trouver les paramètres qui conservent le mieux la topologie des représentations des sites d'OpenEdition.
## 4.5 Synthèse

L'analyse des sessions de navigation sur la plateforme OpenEdition a permis d'identifier plusieurs profils de comportements utilisateurs pour les périodes d'octobre 2022 et octobre 2023. En octobre 2022, six profils ont été dégagés, contre cinq en octobre 2023, avec une fusion des profils complexes (profils 5 et 6 de octobre 2022) en un unique profil pour octobre 2023.

Parmi ces profils, deux se démarquent nettement par leur fréquence :

**Profil n°2** : sessions linéaires couvrant un espace restreint de la cartographie, sans retours ni transitions complexes.

**Profil n°1** : sessions récursives, caractérisées par des retours fréquents sur les mêmes sites.

Ces deux profils dominent largement dans les trois études de cas analysées. Le **profil n°3**, associant linéarité initiale et exploration progressive (avec quelques retours et éloignements modérés dans l'espace de représentation), est présent de manière moins marquée, mais légèrement plus fréquent pour la revue *Hommes & Migrations* en 2023. Les sessions les plus complexes, impliquant des navigations longues, non linéaires et dispersées dans la cartographie, restent marginales sur les deux périodes.

Parallèlement à cette analyse comportementale, des représentations vectorielles des sites éditeurs ont été construites à l'aide de l'algorithme Word2Vec, modélisant la proximité sémantique des sites selon leur co-occurrence dans les sessions de navigation. Ces représentations ont ensuite été projetées en deux dimensions via l'algorithme UMAP, permettant une première visualisation de la cartographie des sites pour chaque période.

En complément de l'analyse comportementale, une cartographie des sites éditeurs a été construite à partir de représentations vectorielles (Word2Vec + UMAP), révélant des dynamiques de voisinage entre les périodes 2022 et 2023.

Les résultats montrent une **évolution du voisinage** pour la revue de la BNU, dont les sites proches changent d'une période à l'autre, malgré une cohérence thématique. La revue **Hommes & Migrations**, en revanche, présente un **voisinage stable**, centré sur les thématiques migratoires, avec un léger enrichissement en 2023. Enfin, les **éditions de l'Université Grenoble Alpes** affichent un **voisinage instable**, passant d'un ancrage disciplinaire en sciences humaines en 2022 à une plus grande hétérogénéité thématique en 2023.

Dans une perspective d'amélioration de la préservation de la structure globale des données, une représentation topologique sous forme de graphe est en cours d'expérimentation à l'aide de la méthode Mapper. Les premiers résultats suggèrent l'émergence de groupes de sites cohérents, notamment en fonction des plateformes (Hypothèses, Journals, Books). Cette approche offre des pistes prometteuses pour explorer plus finement les continuités thématiques et structurelles entre les sites, et laisse entrevoir des possibilités d'optimisation paramétrique afin d'affiner la qualité des cartographies produites.
## 5. Conclusion

Ce rapport présente une exploration des comportements de navigation des utilisateurs sur la plateforme OpenEdition, à travers l'analyse conjointe des sessions de consultation et des caractéristiques des sites visités, pour les périodes d'octobre 2022 et octobre 2023. L'étude met en évidence une diversité de profils d'usage, identifiés à partir des séquences de clics, et révèle des préférences différenciées selon les langues, les pays de publication, les disciplines ou encore les plateformes. Si certains groupes se distinguent par une forte homogénéité linguistique ou géographique (par exemple, des groupes orientés vers des contenus en espagnol, portugais ou italien), d'autres présentent une diversité thématique plus marquée.

L'analyse des sessions a permis de dégager des comportements de navigation contrastés, allant de parcours linéaires simples à des explorations plus complexes avec retours fréquents. Deux profils dominants se dégagent : les sessions linéaires, concentrées sur un périmètre restreint, et les sessions récursives, marquées par des visites répétées aux mêmes sites. Ces profils, largement majoritaires, traduisent des logiques de consultation relativement stables au fil du temps. L'étude des transitions entre plateformes révèle également l'importance centrale de Journals, avec de nombreuses transitions depuis d'autres plateformes vers celle-ci, tandis que Search reste relativement isolée.

Sur le plan éditorial, la modélisation vectorielle des sites à l'aide de Word2Vec et UMAP a permis de produire des cartographies illustrant la proximité sémantique entre sites web éditeurs. Ces cartographies révèlent des dynamiques de voisinage stables pour certaines revues, comme *Hommes & Migrations*, et plus instables pour d'autres, comme les éditions de l'Université Grenoble Alpes. L'intégration d'une approche topologique, via la méthode Mapper, ouvre de nouvelles perspectives pour mieux comprendre la structure latente des représentations des sites.

Malgré la richesse des observations, une partie des résultats demeure encore exploratoire. Certaines catégorisations de sessions, bien que quantitativement dominantes, n'ont pas révélé de cohérence interprétable à ce stade. Des analyses complémentaires seront donc nécessaires pour affiner les profils identifiés et valider les hypothèses formulées. Néanmoins, la convergence entre les profils comportementaux et les caractéristiques éditoriales des ressources suggère que les usages observés ne sont pas aléatoires, mais répondent à des logiques d'intérêt documentaires structurées, partiellement lisibles à travers les métadonnées disponibles.

Toutefois, cette approche centrée sur les traces de navigation – principalement les logs – présente des limites inhérentes. Si ces données permettent de reconstituer des parcours et d'inférer certains intérêts ou préférences, elles ne suffisent pas, à elles seules, à rendre compte des intentions des utilisateurs, ni de la profondeur des contenus consultés. La granularité des métadonnées reste parfois insuffisante pour saisir la complexité des usages, notamment en ce qui concerne les orientations méthodologiques et épistémologiques sous-jacentes aux ressources explorées.

C'est pourquoi une étape essentielle consistera à enrichir cette analyse en combinant les approches comportementales déjà mises en place avec une étude fine du contenu textuel des documents consultés. En intégrant cette dimension sémantique, il deviendrait possible
d'aller au-delà de la simple cartographie des parcours pour mieux comprendre ce à quoi les
utilisateurs accèdent réellement, en particulier en ce qui concerne la diversité des cadres
théoriques, des méthodologies scientifiques et des traditions intellectuelles représentées
dans les textes.

Cette perspective s'inscrit dans la question centrale de nos recherches : dans quelle mesure les parcours de navigation sur une bibliothèque numérique ouverte comme OpenEdition permettent-ils aux utilisateurs d'accéder à une pluralité méthodologique et épistémologique ? Autrement dit, les usages observés reflètent-ils une forme de diversité dans les manières de faire de la science, ancrées dans différentes cultures, disciplines et traditions académiques ? L'objectif est ainsi de mieux cerner si, et comment, la plateforme favorise la circulation entre des épistémologies multiples, ou si au contraire certains parcours tendent à se refermer sur des cadres homogènes. Cette démarche ouvre la voie à une analyse plus qualitative, fondée sur le contenu même des ressources, et pose les bases pour une classification plus fine et plus significative des profils utilisateurs
Références

[1] Castellano, Giovanna, Fanelli A., M., & Torsello, Maria Alessandra. (2007). Log data preparation for mining usage patterns. Disponible à : https://api.semanticscholar.org/CorpusID:59904251

[2] Srivastava, Jaideep, Cooley, Robert, Deshpande, Mukund, & Tan, Pang-Ning. (2000). Web usage mining: discovery and applications of usage patterns from Web data. SIGKDD Explor. Newsl., 1(2), 12–23. DOI: 10.1145/846183.846188. Disponible à : https://doi.org/10.1145/846183.846188

[3] Srivastava, Mitali, Garg, Rakhi, & Mishra, Pramod Kumar. (2015). Analysis of Data Extraction and Data Cleaning in Web Usage Mining. ICARCSET '15. Disponible à : https://api.semanticscholar.org/CorpusID:14013196

[4] Cooley, Robert, Mobasher, Bamshad, & Srivastava, Jaideep. (1999). Data Preparation for Mining World Wide Web Browsing Patterns. Knowledge and Information Systems, 1, 5–32. Disponible à : https://api.semanticscholar.org/CorpusID:262943672

[5] Sadagopan, Narayanan, & Li, Jie. (2008). Characterizing typical and atypical user sessions in clickstreams. Proceedings of the 17th International Conference on World Wide Web (WWW '08), 885–894. DOI: 10.1145/1367497.1367617. Disponible à : https://doi.org/10.1145/1367497.1367617

[6] Dell, Robert F., Román, Pablo E., & Velásquez, Juan D.. (2008). Web User Session Reconstruction Using Integer Programming. Proceedings of the 2008 IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology (WI-IAT '08), 385–388. DOI: 10.1109/WIIAT.2008.181. Disponible à : https://doi.org/10.1109/WIIAT.2008.181

[7] Doran, Derek, et Gokhale, Swapna S. (2011). "Web robot detection techniques: overview and limitations." Data Mining and Knowledge Discovery, 22(1), 183–210. DOI: 10.1007/s10618-010-0180-z.

[8] Iliou, Christos, Kostoulas, Theodoros, Tsikrika, Theodora, Katos, Vasilis, Vrochidis, Stefanos, et Kompatsiaris, Yiannis. (2019). "Towards a framework for detecting advanced Web bots." Dans Proceedings of the 14th International Conference on Availability, Reliability and Security (ARES '19), pp. 18. New York, NY, USA: Association for Computing Machinery. DOI: 10.1145/3339252.3339267.

[9] Tan, Pang-Ning, et Kumar, Vipin. (2004). "Discovery of Web Robot Sessions Based on Their Navigational Patterns." Dans Intelligent Technologies for Information Analysis, pp. 193–222. Berlin, Heidelberg: Springer Berlin Heidelberg. DOI: 10.1007/978-3-662-07952-2_9.
[10] Stevanovic, Dusan, An, Aijun, et Vlajic, Natalija. (2012). "Feature evaluation for web crawler detection with data mining techniques." *Expert Systems with Applications*, **39**(10), 8707–8717. DOI: https://doi.org/10.1016/j.eswa.2012.01.210.

[11] Doran, Derek, et Gokhale, Swapna S. (2016). "An integrated method for real time and offline web robot detection." *Expert Systems: Journal of Knowledge Engineering*, **33**(6), 592–606. DOI: 10.1111/exsy.12184.

[12] Suchacka, Grażyna, Cabri, Alberto, Rovetta, Stefano, et Masulli, Francesco. (2021). "Efficient on-the-fly Web bot detection." *Knowledge-Based Systems*, **223**, 107074. URL: https://api.semanticscholar.org/CorpusID:234795960.

[13] Hosseini, Nafiseh, Fakhar, Fatemeh, Kiani, Behzad, et Eslami, Saeid. (2019). "Enhancing the security of patients’ portals and websites by detecting malicious web crawlers using machine learning techniques." *International Journal of Medical Informatics*, **132**, 103976. DOI: 10.1016/j.ijmedinf.2019.103976. URL: https://www.sciencedirect.com/science/article/pii/S1386505619303454.

[14] Lagopoulos, Athanasios, et Tsoumakas, Grigorios. (2020). "Content-aware web robot detection." *Applied Intelligence*, **50**(11), 4017–4028. DOI: 10.1007/s10489-020-01754-9. URL: https://doi.org/10.1007/s10489-020-01754-9.

[15] Jagat, Rikhi Ram, Sisodia, Dilip Singh, et Singh, Pradeep. (2024). "Exploiting web content semantic features to detect web robots from weblogs." *Journal of Network and Computer Applications*, **230**, 103975. DOI: 10.1016/j.jnca.2024.103975. URL: https://www.sciencedirect.com/science/article/pii/S1084804524001528.

[16] Alam, Shafiq, Dobbie, G., Koh, Yun Sing, et Riddle, Patricia J. (2014). "Web bots detection using Particle Swarm Optimization based clustering." *2014 IEEE Congress on Evolutionary Computation (CEC)*, 2955–2962. URL: https://api.semanticscholar.org/CorpusID:37390866.

[17] Zabihimayvan, Mahdieh, Sadeghi, Reza, Rude, H. Nathan, et Doran, Derek. (2017). "A soft computing approach for benign and malicious web robot detection." *Expert Systems with Applications*, **87**, 129–140. DOI: 10.1016/j.eswa.2017.06.004. URL: https://www.sciencedirect.com/science/article/pii/S0957417417304116.

[18] Rovetta, Stefano, Suchacka, Grażyna, et Masulli, Francesco. (2020). "Bot recognition in a Web store: An approach based on unsupervised learning." *Journal of Network and Computer Applications*, **157**, 102577. DOI: 10.1016/j.jnca.2020.102577. URL: https://www.sciencedirect.com/science/article/pii/S1084804520300515.

[19] Jagat, Rikhi Ram, Sisodia, Dilip Singh, et Singh, Pradeep. (2023). "Web-S4AE: a semi-supervised stacked sparse autoencoder model for web robot detection."
*Neural Computing and Applications*, **35**(24), 17883-17898. DOI:
[10.1007/s00521-023-08668-w](https://doi.org/10.1007/s00521-023-08668-w). URL:
[https://doi.org/10.1007/s00521-023-08668-w](https://doi.org/10.1007/s00521-023-08668-w).

[20] Iliou, Christos, Kostoulas, Theodoros, Tsikrika, Theodora, Katos, Vasilios, Vrochidis, Stefanos, et Kompatsiaris, Ioannis. (2022). "Web Bot Detection Evasion Using Deep Reinforcement Learning." *Proceedings of the 17th International Conference on Availability, Reliability and Security (ARES '22)*, article 15, 10 pages. DOI: [10.1145/3538969.3538994](https://doi.org/10.1145/3538969.3538994). URL: [https://doi.org/10.1145/3538969.3538994](https://doi.org/10.1145/3538969.3538994).

[21] Gao, Yang, Feng, Zunlei, Wang, Xiaoyang, Song, Mingli, Wang, Xingen, Wang, Xinyu, et Chen, Chun. (2023). "Reinforcement learning based web crawler detection for diversity and dynamics." *Neurocomputing*, **520**, 115-128. DOI: [10.1016/j.neucom.2022.11.059](https://doi.org/10.1016/j.neucom.2022.11.059). URL: [https://www.sciencedirect.com/science/article/pii/S0925231222014473](https://www.sciencedirect.com/science/article/pii/S0925231222014473).

[22] Aggarwal, C.C. (2016). Neighborhood-Based Collaborative Filtering. In: Recommender Systems. Springer, Cham. [https://doi.org/10.1007/978-3-319-29659-3_2](https://doi.org/10.1007/978-3-319-29659-3_2).

[23] Aggarwal, C.C. (2016). Model-Based Collaborative Filtering. In: Recommender Systems. Springer, Cham. [https://doi.org/10.1007/978-3-319-29659-3_3](https://doi.org/10.1007/978-3-319-29659-3_3).

[24] Roy, D., Dutta, M. A systematic review and research perspective on recommender systems. *J Big Data* **9**, 59 (2022). [https://doi.org/10.1186/s40537-022-00592-5](https://doi.org/10.1186/s40537-022-00592-5).

[25] Falini, A. (2022). A review on the selection criteria for the truncated SVD in Data Science applications. *Journal of Computational Mathematics and Data Science*, **5**, 100064. [https://doi.org/10.1016/j.jcmds.2022.100064](https://doi.org/10.1016/j.jcmds.2022.100064).

[26] Masseglia, F., Teisseire, M., & Poncelet, P. (2004). Extraction de motifs séquentiels. Problèmes et méthodes. Revue des Sciences et Technologies de l'Information - Série ISI : Ingénierie des Systèmes d'Information, 9(3/4), 183-210. [https://doi.org/10.3166/isi.9.3-4.183-210](https://doi.org/10.3166/isi.9.3-4.183-210).

[27] Jamshed, A., Mallick, B., & Bharti, R. K. (2024). A Systematic Review on Sequential Pattern Mining—Types, Algorithms and Applications. Wireless Personal Communications, 138(4), 2371-2405. [https://doi.org/10.1007/s11277-024-11605-2](https://doi.org/10.1007/s11277-024-11605-2).

[28] Bayrem Kaabachi et Simon Dumas Primbault. *A Topological Data Analysis of Navigation Paths within Digital Libraries*. In Proceedings of the Workshop on Computational Humanities Research, 2023. Disponible en ligne :
[https://apisemanticscholar.org/CorpusID:265428951](https://apiidis.org/corpusID:265428951).

[29] Alfredo Milani, Giulio Biondi et Valentina Franzoni. *User to Vector: Encoding User Behavior From Co-Occurrence of Observations*. IEEE Access, vol. 12, pp. 156020-156037, 2024. DOI: 10.1109/ACCESS.2024.3485553
[30] Tomas Mikolov, Kai Chen, Greg Corrado et Jeffrey Dean. *Efficient Estimation of Word Representations in Vector Space*. arXiv preprint, arXiv:1301.3781, 2013. Disponible en ligne : https://arxiv.org/abs/1301.3781

[31] Leland McInnes, John Healy et James Melville. UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction. arXiv preprint, arXiv:1802.03426, 2020. Disponible en ligne : https://arxiv.org/abs/1802.03426

[32] Martin Ester, Hans-Peter Kriegel, Jörg Sander et Xiaowei Xu. A density-based algorithm for discovering clusters in large spatial databases with noise. In Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD'96), pages 226–231, Portland, Oregon, 1996. AAAI Press.
Annexe A

<figure><img src="image_234.png" /></figure>
# Annexe B

Les méthodes classiques de décomposition en valeurs singulières ne sont pas adaptées à ce type de données en raison de la grande taille et de la nature creuse de la matrice. Nous utiliserons donc une décomposition singulière tronquée [TruncatedSVD] [25], qui est plus efficace en termes de calcul et mieux adaptée à notre problème.

Pour visualiser la contribution de chaque vecteur singulier (chaque facteur latent qui décrit la session) nous nous ramenons au diagramme de Pareto ci-dessous :

<figure><img src="image_235.png" /></figure>

Nous observons que le premier vecteur singulier capture une grande partie de la variance des données : **83,6% pour l'année 2022 et 78,3% pour 2023**. Ce résultat est attendu, car la matrice est creuse.

Notre objectif est de réduire la dimensionnalité des données tout en minimisant la perte d'information. Puisque **TruncatedSVD** entraîne une perte d'information, nous devons sélectionner un nombre optimal de dimensions à conserver. Pour cela, nous reconstruisons une approximation de la matrice initiale en ne gardant que les composantes associées aux valeurs singulières les plus élevées.

Nous ajustons ce nombre en traçant une **courbe d'erreur**, qui mesure la différence entre la matrice d'origine et sa version reconstruite avec un nombre donné de facteurs latents. La sélection du seuil optimal repose sur le **critère du coude** (Elbow Method).

Les figures ci-dessous montrent l'évolution de l'erreur en fonction du nombre de vecteurs ajoutés. Cependant, elles ne présentent pas de coude bien défini, ce qui complique la sélection du nombre optimal de composantes. Nous avons donc adopté un critère alternatif : choisir le plus petit nombre de composantes garantissant un taux d'erreur inférieur ou égal à 20%. Les figures indiquent qu'environ 32 composantes sont
nécessaires pour atteindre ce seuil, ce qui nous semble un compromis raisonnable compte tenu de la nature de nos données.

<figure><img src="image_236.png" /></figure>

Nous utilisons l'**algorithme d'espérance-maximisation**, qui modélise les sessions comme une **mixture de distributions normales**, où chaque session appartient à une partition avec une certaine probabilité.

Les données contiennent des valeurs extrêmes qui vont avoir un mauvais impact sur la qualité du partitionnement nous allons donc utiliser l'algorithme [Isolation Forest](https://www.cs.umass.edu/~kellison/ISOLATION FOREST.html) pour détecter ces valeurs et les retirer avant le partitionnement. Ces sessions seront incluses dans les analyses sous le nom de **"Groupe Spe"** pour groupe spécial vu qu'il représente des sessions avec une représentation atypique. Nous pensons que ces sessions représentent un nombre de clics énormes sur une grande diversité d'éditeurs. Une analyse plus fine est nécessaire pour confirmer notre hypothèse.

Pour déterminer le nombre optimal de partitions, nous procédons comme suit :

* Pour chaque valeur de k (nombre de partitions), nous exécutons l'algorithme 10 fois.

* Nous évaluons la qualité du partitionnement à l'aide des critères AIC (Akaike Information Criterion) en moyennant celui-ci sur les 10 exécutions réalisées.

Le critère d'information d'Akaike (AIC) est un outil statistique utilisé pour comparer différents modèles afin de déterminer lequel décrit le mieux un ensemble de données, tout en évitant une complexité excessive.
L'AIC repose sur l'idée qu'un bon modèle doit trouver un équilibre entre **qualité d'ajustement** (comment bien s'adapter aux données) et **simplicité** (éviter d'utiliser trop de paramètres inutiles). En ajoutant des paramètres à un modèle, on peut améliorer son ajustement, mais cela risque de conduire à un surajustement, où le modèle devient trop spécifique aux données et perd sa capacité à généraliser.

La figure ci-dessous montre l'évolution du critère AIC en fonction du nombre de partitions. Plus le score est bas, mieux le modèle est d'après le critère.

<figure><img src="image_237.png" /></figure>

L'AIC ne dit pas si un modèle est "bon" en soi ; il compare simplement les modèles entre eux. Nous allons donc à nouveau utiliser le critère du coude pour déterminer le meilleure nombre de partitions.

L'année 2022 ne montre pas un coude bien définie mais l'année 2023 semble avoir un coude à 5 partitions. Pour cette raison et pour un souci de normalisation nous allons donc partitionner nos données en 5 groupes.
# Annexe C

## Formalisme pour le partitionnement en chaînes de Markov

Ce lien présente la modélisation utilisée pour la tâche de partitionnement des comportements de transition, fondée sur une approche par chaînes de Markov et mélanges de modèles: [lien](#)

Soit $s = (e_1, ..., e_T)$ une séquence de taille T générée par un processus Markovien d'ordre 1, on peut calculer la probabilité que cette séquence soit générée par un processus Markovien h avec la formule:

$$p(e_1, ..., e_T) = p(e_1) \prod_{t=1}^{T-1} p(e_t|e_{t+1})$$

On dit que c'est une chaîne de Markov d'ordre 1 car la probabilité de passage d'un état à un autre (un élément de séquence à un autre) dépend uniquement de l'état précédent et non pas des autres états qui précédent. Ce qui représente une hypothèse forte car on peut avoir des dépendances lointaines dans le temps (expliquer le passage d'un élément à un autre en se basant sur les deux éléments qui le précédent).

Sachant que nous avons plusieurs chaînes de markov candidates $h = 1, ..., H$ pour générer cette séquence on peut calculer sa probabilité d'apparition en utilisant la formule:

$$p(s|h) = p(e_1, ..., e_T|h) = p(e_1|h) \prod_{t=1}^{T-1} p(e_t|e_{t+1}, h)$$

Par la suite nous allons noter la ième séquence s dans le jeu de donnée par $s^i$. On note n le nombre d'échantillons (le nombre de sessions). Nous détaillons par la suite les formules de mise à jour, et nous allons faire l'hypothèse que les sessions sont toutes indépendantes et identiquement distribuées pour faire les calculs.

### Initialisation

La première étape consiste à générer aléatoirement des processus Markovien d'ordre 1, pour cela il faut générer un état de départ et une matrice de transition pour chaque processus de manière aléatoire. La dimension de l'état de départ est égale au nombre d'éléments possible dans toutes les séquences soit le cardinal de l'ensemble E (dans notre cas l'ensemble E c'est l'ensemble des plateformes), la matrice de transition est une matrice carrée de dimension $|E| \times |E|$. Nous notons la liste de tous les paramètres par $\theta$.

### Espérance

Dans cette étape nous allons calculer la probabilité conditionnelle d'une chaîne "h" sachant une séquence $s^i$ et la liste de paramètres $\theta$. Cela correspond à l'espérance que la chaîne
"h" soit la celle qui a généré la séquence "i" (combien de fois la chaîne "h" est attribuée à une séquence "s"?)

$$ \mathbb{E}[\mathbb{1}(h^i = h)] = p(h|s^i, \theta) $$

$$ p(h|s^i, \theta) = \frac{p(h, s^i|\theta)}{p(s^i|\theta)} $$

$$ p(h|s^i, \theta) = \frac{p(h, s^i|\theta)}{\sum_h p(s^i, h|\theta)} $$

$$ p(h|s^i, \theta) = \frac{p(h)p(s_1^i|h) \prod_{t=2}^{T} p(s_t^i|s_{t-1}^i, h)}{\sum_h p(h)p(s_1^i|h) \prod_{t=2}^{T} p(s_t^i|s_{t-1}^i, h)} $$

Avec $s_j^i$ représentant l'élément à l'emplacement "j" dans la séquence "i", et $\mathbb{1}$ la fonction indicatrice tel que:

$$ \mathbb{1}(h^n = h) = \begin{cases} 1 & si : h^n = h \\ 0 & si : h^n \neq h \end{cases} $$

## Maximization

Dans cette étape nous essayon de maximiser la vraisemblance des données, des séquences et des chaînes en se basant sur le paramètre $\theta$ (qui correspond à tous les paramètres).

Nous essayons de maximiser la fonction $f(\theta)$. Nous avons donc la formule suivante:

$$ f(\theta) = \mathbb{E}[\log(p(s^1, \dots, s^n, h^1, \dots, h^n|\theta))] $$

$$ f(\theta) = \mathbb{E}[\log(\prod_{i} p(s^i, h|\theta))] $$

$$ f(\theta) = \mathbb{E}[\sum_{i} \log(p(s^i, h|\theta))] $$

$$ f(\theta) = \sum_{i} \mathbb{E}[\log(p(s^i, h|\theta))] $$

$$ f(\theta) = \sum_{i} \sum_{h} p(h|s^i, \theta) \log(p(s^i, h|\theta)) $$

$$ f(\theta) = \sum_{i,h} p(h|s^i, \theta) \log(p(h)p(e_1^i|h)) \prod_{t=1}^{T-1} p(e_{t+1}^i|e_t^i, h) $$

$$ f(\theta) = \sum_{i,h} p(h|s^i, \theta)(\log(p(h) + \log(p(e_1^i|h))) + \sum_{t=1}^{T-1} \log(p(e_{t+1}^i|e_t^i, h))) $$
$$f(\theta) = \sum_{i,h} p(h|s^i, \theta)(\log(p(h) + \log(p(e_1^i|h))) + \sum_{t=1}^{T-1} \log(p(e_{t+1}^i|e_t^i, h)))$$

Avec $e_t^i$ est l'élément "t" associés à la séquence $s^i$, et $T$ la taille de la séquence $s^i$ (Pour des soucis de notations nous allons garder $T$ mais on peut bien avoir différentes tailles pour les sessions)

Pour maximiser la vraisemblance il faut maximiser les trois paramètres:

* $p(h)$ : Correspond à la probabilité d'obtenir la chaîne "h". (la proportion de la chaîne h dans le mélange)

* $p(e_1^i|h)$ : Correspond à la probabilité de l'état de départ de la séquence "i" en utilisant la chaîne "h". (la probabilité de l'état de départ pour une chaîne donnée)

* $p(e_t^i|e_{t+1}^i, h)$ : Correspond à la probabilité de transition d'un état à un autre pour une séquence "i" et une chaîne "h". (Les probabilités de transitions pour la matrice de la chaîne h)

Formule de mise à jour pour $\theta_h = p(h)$:

On cherche un $\theta_h$ qui maximise la vraisemblance des données:

$$\hat{\theta}_h = \operatorname{argmax}_{\theta_h} f(\theta)$$

On introduit un [multiplicateur Lagrangien](https://en.wikipedia.org/wiki/Lagrangian) avec comme contrainte:

$$\sum_h \theta_h = \sum_h p(h) = 1$$

Il faut que $\theta_h$ corresponde à une distribution de probabilité. On définit le Lagrangien par:

$$\mathcal{L}(\theta_h, \lambda) = f(\theta) - \lambda(\sum_h \theta_h - 1)$$

Avec $\lambda$ le multiplicateur de Lagrange pour la contrainte imposant une distribution de probabilité sur les chaînes. Pour trouver un optimum on pose:

$$\frac{\delta \mathcal{L}}{\delta \theta_h} = \frac{\delta \mathcal{L}}{\delta \lambda} = 0$$

Nous obtenons:

$$\frac{\delta \mathcal{L}}{\delta \theta_h} = \frac{\delta}{\delta \theta_h} \sum_{i,h} p(h|s^i, \theta) \log(p(h)) - \lambda \theta_h = 0$$

$$\frac{\delta \mathcal{L}}{\delta \theta_h} = \frac{\delta}{\delta \theta_h} \sum_{i,h} p(h|s^i, \theta) \log(\theta_h) - \lambda \theta_h = 0$$
$$ \frac{\delta \mathcal{L}}{\delta \theta_h} = \sum_i \frac{p(h|s^i, \theta)}{\theta_h} - \lambda = 0 $$

(Car tout ce qui ne dépend pas de “h” est une constante est donc va avoir une dérivée nulle)

On obtient:

$$ \lambda = \frac{\sum_i p(h|s^i, \theta)}{\hat{\theta}_h} $$

$$ \hat{\theta}_h = \frac{\sum_i p(h|s^i, \theta)}{\lambda} $$

Il faut trouver la valeur du paramètre $\lambda$, Nous avons mis comme contrainte:

$$ \sum_h \theta_h = 1 $$

En utilisant la formule de $\theta_h$ et en sommant par h on obtient:

$$ \sum_h \theta_h = \sum_h \frac{\sum_i p(h|s^i, \theta)}{\lambda} $$

$$ \sum_h \theta_h = \frac{1}{\lambda} \sum_h \sum_i p(h|s^i, \theta) $$

$$ 1 = \frac{1}{\lambda} \sum_h \sum_i p(h|s^i, \theta) $$

$$ \lambda = \sum_{i,h} p(h|s^i, \theta) $$

Nous obtenons une nouvelle estimation de $\theta_h$:

$$ \hat{\theta}_h = \frac{\sum_i p(h|s^i, \theta)}{\sum_{i,h} p(h|s^i, \theta)} $$

Formule de mise à jour de $\pi_{k|h} = p(k|h)$ (correspond à $p(e_1^i|h)$):

De même nous introduisons un multiplicateur Lagrangien avec la contrainte:

$$ \sum_h \pi_{k|h} = 1 $$

Nous avons donc:
$$
\begin{align*}
\frac{\delta \mathcal{L}}{\delta \pi_{k|h}} &= \frac{\delta}{\delta \pi_{k|h}} \sum_i p(h|s^i, \theta) \log(\pi_{k|h}) \mathbb{1}(e_1^i = k) - \lambda \pi_{k|h} = 0 \\
\frac{\delta \mathcal{L}}{\delta \pi_{k|h}} &= \sum_i \frac{p(h|s^i, \theta) \mathbb{1}(e_1^i = k)}{\pi_{k|h}} - \lambda = 0
\end{align*}
$$

On obtient donc $\lambda$ et $\pi_{k|h}$:

$$
\lambda = \sum_i \frac{p(h|s^i, \theta)\mathbb{1}(e_1^i = k)}{\hat{\pi}_{k|h}} \qquad \hat{\pi}_{k|h} = \sum_i \frac{p(h|s^i, \theta)\mathbb{1}(e_1^i = k)}{\lambda}
$$

Nous allons appliquer le même procédé que pour $\theta_h$ pour trouver la valeur de $\lambda$. On obtient
au final:

$$
\lambda = \sum_i p(h|s^i, \theta)
$$

On déduit donc que :

$$
\hat{\pi}_{k|h} = \frac{\sum_i p(h|s^i, \theta) \mathbb{1}(e_1^i = k)}{\sum_i p(h|s^i, \theta)}
$$

Formule de mise à jour pour $p(e_{t+1}^i | e_t^i, h) = a_{j|k,h}$

Dans une matrice de transition la somme des probabilités dans une ligne doit être égale à 1.
Nous rajoutons cette contrainte lors de la recherche de l'optimum.

$$
\mathcal{L}(\theta, \lambda) = f(\theta) - \lambda(\sum_j a_{j|k,h} - 1)
$$

$$
\frac{\delta \mathcal{L}}{\delta a_{j|k,h}} = \frac{\delta}{\delta a_{j|k,h}} \sum_i p(h|s^i, \theta) \sum_{t=1}^{T-1} \mathbb{1}(s_{t+1}^i = j, s_t^i = k) \log(a_{j|k,h}) - \lambda a_{j|k,h} = 0
$$

$$
\frac{\delta \mathcal{L}}{\delta a_{j|k,h}} = \sum_i p(h|s^i, \theta) \sum_{t=1}^{T-1} \frac{\mathbb{1}(s_{t+1}^i = j, s_t^i = k)}{a_{j|k,h}} - \lambda = 0
$$

On déduit que :

$$
\lambda = \frac{\sum_i p(h|s^i, \theta) \sum_{t=1}^{T-1} \mathbb{1}(s_{t+1}^i = j, s_t^i = k)}{\hat{a}_{j|k,h}} \qquad \hat{a}_{j|k,h} = \frac{\sum_i p(h|s^i, \theta) \sum_{t=1}^{T-1} \mathbb{1}(s_{t+1}^i = j, s_t^i = k)}{\lambda}
$$
En sommant $\hat{a}_{j|i,h}$ sur $j$ on obtient:

$$ 
\begin{aligned}
\sum_j \hat{a}_{j|i,h} &= \sum_j \frac{\sum_i p(h|s_i, \theta) \sum_{t=1}^{T-1} \mathbb{1}(s_{t+1}^i = j, s_t^i = i)}{\lambda} \\
1 &= \sum_j \frac{\sum_i p(h|s^i, \theta) \sum_{t=1}^{T-1} \mathbb{1}(s_{t+1}^i = j, s_t^i = k)}{\lambda}
\end{aligned}
$$

On déduit $\lambda$:

$$ 
\begin{aligned}
\lambda &= \sum_j \sum_i p(h|s^i, \theta) \sum_{t=1}^{T-1} \mathbb{1}(s_{t+1}^i = j, s_t^i = k) \\
\lambda &= \sum_i p(h|s^i, \theta) \sum_{t=1}^{T-1} \sum_j \mathbb{1}(s_{t+1}^i = j, s_t^i = k)
\end{aligned}
$$

Puisque nous sommons sur $j$ la condition $s_{t+1}^i = j$ va être toujours valable il reste donc à vérifier $s_t^i = k$

$$ \lambda = \sum_i p(h|s^i, \theta) \sum_{t=1}^{T-1} \mathbb{1}(s_t^i = k) $$

Nous obtenons donc la formule de mise à jour de $a_{j|k,h}$

$$ \hat{a}_{j|k,h} = \frac{\sum_i p(h|s^i, \theta) \sum_{t=1}^{T-1} \mathbb{1}(s_{t+1}^i = j, s_t^i = k)}{\sum_i p(h|s^i, \theta) \sum_{t=1}^{T-1} \mathbb{1}(s_t^i = k)} $$