Exploration de données archéologiques en

Datation de Cachets Hittites

Résumé Exploration avec R d'un corpus de 118 cachets hittites déctrits par 12 variables plus 160 codant présence / absence de hiéroglyphes. AFCM, arbre de décision, CAH. L'objectif est d'étudier la faisabilité de la prévision de la datation de ces cachets à partir de leur descriptif

Introduction

La civilisation hittite s'est développée à partir du XVIIème siècle av. J.-C. sur un vieux fond anatolien lorsqu'une dynastie rassemble sous son autorité la mosaïque de petits états d'Anatolie centrale, installe sa capitale à Hattusa et cherche à pousser son extension jusqu'en Babylonie. Entre 1650 et 1180 av. J.-C. les rois de Hattusa ont dirigé un royaume qui s'étendait sur les plateaux de l'Anatolie centrale et, à plusieurs reprise, jusqu'au nord de la Syrie. Aux côtés de l'Égypte ou de l'Assyrie/Babylonie, les Hittites appartenaient aux grands empires du Proche-Orient. Les Hittites rivalisèrent avec l'Égypte pour la possession de la Syrie: la bataille de Qadesh (vers 1285) entre Muwatalli II et Ramsès II aboutit au statu quo. C'est dans les ruines de leur capitale, Hattusa, qu'ont été découverts des milliers de textes cunéiformes qui constituent une mine d'informations pour reconstruire l'histoire de la deuxième moitié du IIème millénaire av. J.-C.

Les données (Strupler, 2016) proviennent d'un corpus d'objets archéologiques datés de la période du Bronze récent (1650-1180 av. J.-C.) et découverts dans la capitale de l'Empire hittite, Hattusa, en Anatolie centrale. Il s'agit de la description de cachets qui ont appartenu aux fonctionnaires et aux princes du royaume. Les cachets gravés en creux du nom, des titres et d'emblèmes servent à sceller des objets pour en attester l'authenticité et en contrôler l'ouverture. Chaque cachet est unique, identifiable par sa légende et son iconographie. Le corpus est constitué des cachets non royaux et circulaires découverts dans la capitale.

Tous les cachets circulaires ont été réalisés selon le même modèle avec une plage centrale et des bordures circulaires. La plage centrale se compose d'une inscription en louvite hiéroglyphique mentionnant le nom puis éventuellement le titre du propriétaire accompagné de divers motifs. Les bordures circulaires, simples ou concentriques peuvent être garnies de hiéroglyphes, de représentations humaines ou bien de motifs décoratifs. Seul un échantillon du corpus (118 individus) a été sélectionné et compilé. Les objets archéologiques, lorsqu'ils sont découverts dans un contexte dit "fermé" peuvent être datés à l'aide des autres objets associés ou bien, par exemple, grâce à une datation radiocarbone. On peut ordonner chronologiquement les objets qui ne sont pas datés par leur contexte de découvertes en les comparant aux objets dont on connait la datation à l'aide d'une typologie. Parmi les cachets du corpus, un premier groupe représente les sceaux appartenant à la période de l'Ancien royaume hittite (16ème-15ème siècle av. J.-C.), un groupe intermédiaire correspond au début de l'Empire hittite (14ème siècle av. J.-C.), un troisième groupe correspond à la fin de l'Empire hittite (13ème siècle av. J.-C.). Enfin un dernier groupe comprend les sceaux de datation inconnue.

La figure ci-dessus donne un exemple de la prise en compte de certaines observations recueillies lors de quatre campagnes de fouilles. Ce sceau G.57, à la surface convexe, possède une plage centrale délimitée par une ligne simple ainsi qu'une plage extérieure décorée de symboles. Les quatre hiéroglyphes du nom sont encadrés du titre (organisation "T-N-T"). Le propriétaire est un fonctionnaire (scribe).

L’objectif de ce travail exploratoire est d’étudié la capacité de datation des cachets à partir de quelques variables observées sur les cachets dont seuls 60 sont datés sur les 118. Sera-t-il possible de dater des 58 restants ? Et donc d’utiliser pas la suite ces informations pour mieux dater les différentes strates des fouilles. Un modèle simple d'arbre de décision est estimé sur ces données

Une première étape de préparation des données a permis d’extraire un nombre réduit de variables en regroupant « au mieux » les caractéristiques de certaines modalités. Par souci de simplification, des variables (hiéroglyphe, hiéroglyphe titre, symbole) ont été traduites en variables dichotomiques de présence / absence de 106 hiéroglyphes et symboles parmi ceux identifiables. Les cachets sont finalement décrits par les variables du tableau ci-dessous:

Libellé Ensemble de valeurs
Label Identifiant du cachet
Mission Origine, lieu et date de la découverte. Cette variable n’est pas utilisée.
orgaH Organisation: Atyp, Centre, Doubl, Quinc, OrTNT
nbPlExt Nombre de plages extérieures: 0 à 2
Deco Type de décor de la plage extérieure : DecNo, Ornem, HierSym, Figur, Anim
delCentre Délimitation: Aucune, Ligne, FrisRec, FrisTor
Datation DatInc, 16-15e, 14e, 13e
diamExt ext1, ext2, ext3 (classes d’effectifs égaux)
diamInt int1, int2, int3 (classes d’effectifs égaux)
Titre TitrNo, TitrInc, Prince, Fonct (fonctionnaire ou scribe)
nbHier Nombre de hiéroglyphes 1 à 9
nbSymb Nombre de symboles de 1 à 9
Surface Plate, Convexe, Etage (étagée)

A ces variables s’ajoutent les 160 de présences / absence des symboles ou hiéroglyphes identifiés.

Référence

Strupler N. (2016). "Dater d'après le cachet" Une approche méthodologique pour les cachets circulaires hittites, J. Patrier, P. Quenet, P. Butterlin Milles et une empreintes. Un Alsacien en Orient. Mélanges en l'honneur du 65e anniversaire de Dominique Beyer, 2016, 978-2-503-54926-2. <hal-01485166>

Aidez-vous des résultats et figures pour répondre aux questions:

Q Quelle est la population concernée et l’échantillon étudié.

Lecture des données

Les données sont dans le fichier cachet.dat chargé dans le même répertoire avec ce calepin.


In [ ]:
cachetsModif <- read.table("Cachets.dat")

Vérifier la bonne lecture des données.


In [ ]:
summary(cachetsModif[,1:13])

D'autres variables n(ont pas été prises en compte.

Q Que représente la figure ci-dessous? Commenter.


In [ ]:
par(mfrow=c(1,2))
options(repr.plot.width=5, repr.plot.height=4)
boxplot(cachetsModif$Dm.ext.num, main="Dimension extérieure")
abline(h=mean(cachetsModif$Dm.ext.num),col="red")
boxplot(cachetsModif$Dm.int.num, main="Dimension intérieure")
abline(h=mean(cachetsModif$Dm.int.num),col="red")

Q Que représente la figure ci-dessous. Commenter.


In [ ]:
par(mfrow=c(1,2))
options(repr.plot.width=8, repr.plot.height=3)
barplot(table(cachetsModif$Surface), main="Surface")
barplot(table(cachetsModif$Datation), main= "Datation")

Q Quel est le tableau ci-dessous ? En quoi est-ce important de ne pas intégrer le responsable de la fouille dans les analyses.


In [ ]:
table(cachetsModif$Mission,cachetsModif$Datation)

Q Que représente la figure ci-dessous? Qu’en déduire ?


In [ ]:
options(repr.plot.width=4, repr.plot.height=4)
mosaicplot(table(cachetsModif$Datation,cachetsModif$diamInt), main="")

Q Pourquoi les variables de dimensions intérieures et extérieures ont-elles été transformées en variables qualitatives? Comment sont généralement choisies les bornes des classes?

Dans tout ce qui suit, les cachets de date inconnue sont supprimés ou mis en supplémentaire. Sous ensemble des données pour lesquelles les dates sont connues.


In [ ]:
cachDat=cachetsModif[cachetsModif[,7]!="DatInc",3:13]
summary(cachDat)

Q Quel est l’effet des commandes suivantes sur le data.frame cahDat ? En quoi est-ce important avant de faire une analyse factorielle des correspondances ?


In [ ]:
cachDat[as.integer(cachDat$nbHier)>=7,"nbHier"]=7
cachDat[as.integer(cachDat$nbHier)<=2,"nbHier"]=2
cachDat[cachDat$orgaH=="Centre","orgaH"]="Atyp"
cachDat[cachDat$Deco=="Figur","Deco"]="Ornem"
cachDat$delCentre=factor(cachDat$delCentre,levels=c(levels(cachDat$delCentre),"Frise"))
cachDat[cachDat$delCentre=="FrisTor","delCentre"]="Frise"
cachDat[cachDat$delCentre=="FrisRec","delCentre"]="Frise"
cachDat[as.integer(cachDat$nbSym)>=3,"nbSym"]=3
cachDat=droplevels(cachDat)

# Transformation des types en facteurs
cachDat<- as.data.frame(lapply(cachDat, as.factor))
summary(cachDat)

Analyse factorielle des correspondances multiple (AFCM)

Q La commande de la librairie FactoMineR ci-dessous est exécutée. De quelle matrice calcule-t-elle l’analyse des correspondances? Quelles sont ses dimensions? Quelle est la signification du paramètre quali.sup et pourquoi 5?


In [ ]:
library(FactoMineR)
afcm=MCA(cachDat, quali.sup =5, graph= F)
options(repr.plot.width=8, repr.plot.height=8)
plot(afcm,invisible ="ind", habillage="quali",title="")

Q Que représente la figure ci-dessus? Que signifient les légendes sur chacun des axes? Quelles sont les caractéristiques majeures des cachets des différentes périodes?

Q Quelle AFC, quelle analyse en composantes principales donneraient les résultats de la figure ci-dessous? Quelle décomposition en valeurs singulières?

Q Que dire sur l’objectif de discrimination des périodes?


In [ ]:
plot(afcm, choix="ind", invisible = "var", habillage="quali",col.ind=as.factor(cachDat$Datation),title="")

Q Expliquer que sont chacun des tableaux ci-dessous.


In [ ]:
summary(afcm)

Classification non supervisée

Q Qu’est-ce que les commandes ci-dessous exécutent ? Sur quelle matrice ? Quel est le graphe produit? Quelle décision en déduire (justifier)?


In [ ]:
res.hcpc <- HCPC(afcm, graph=F)
options(repr.plot.width=6, repr.plot.height=4)
plot(res.hcpc,choice="bar",title="")

Q Quel est le graphe ci-dessous? Comment les rectangles colorés sont-ils construits ?


In [ ]:
options(repr.plot.width=6, repr.plot.height=6)
plot(res.hcpc,choice="tree",tree.barplot=F,main="")

Q Qu’est ce que la table ci-dessous ? Interpréter.


In [ ]:
table(res.hcpc$data.clust$clust, cachDat[,5])

Classification supervisée

Une utilisation élémentaire d’un algorithme d’apprentissage (arbre binaire de décision permet de construire un arbre simple mais efficace pour prévoir la Datation. Ce modèle est facile à appliquer aux cachets dont la datation est inconnue.

Q Comment interpréter cet arbre ?


In [ ]:
library(rpart)
tree=rpart(Datation~.,data=cachDat)
library(partykit)
plot(as.party(tree))

Les étapes précédentes montrent une association assez nette entre les caractéristiques relevées des cachets et leur datation au point d’en déduire une règle simple de prévision de cette datation. Le même type d’approche est maintenant mise en œuvre en considérant les identifications de symboles ou hiéroglyphes spécifique.


In [ ]:
# table des symboles et hiéroglyphes pour les cachets datés
hierSymb=cachetsModif[cachetsModif[,7]!="DatInc",c(7,17:176)]
dim(hierSymb)

Les données initiales concernent la présence / absence de 160 hiérogliphes ou symboles, c’est trop au regard du nombre de cachets datés. Les commandes ci-dessous réduisent le nombre de colonnes ou symboles considérés à ceux présents au moins quatre fois dans la base.


In [ ]:
selec=as.vector(lapply(lapply(hierSymb,as.integer),sum)>4)
HierSymbSel=hierSymb[,selec]
dim(HierSymbSel)

Q Que devient la dimension de la matrice dont il faut faire la SVD pour obtenir l’AFC de ces variables?


In [ ]:
HierSymbSel=as.data.frame(lapply(HierSymbSel, as.factor))
HierSymbSel=droplevels(HierSymbSel)
summary(HierSymbSel)

In [ ]:
afcm.symb=MCA(HierSymbSel,quali.sup =1, graph= F)
plot(afcm.symb, choix="ind", habillage="quali", invisible="ind",title="")

Q Le graphe obtenu est rendu assez illisible à cause des libellés trop longs. Que dire de la discriminaiton des dates à partir des seuls symboles et hiéroglyphes en considérant le graphe ci-dessous.


In [ ]:
plot(afcm.symb, choix="ind", habillage="quali", invisible="var",title="",col.ind=as.factor(cachDat$Datation))

In [ ]:
options(repr.plot.width=8, repr.plot.height=5)
treeS=rpart(Datation~.,data=HierSymbSel)
plot(as.party(treeS))

Q Comme précédemment, un arbre binaire de décision est ajusté sur ces données. Que dire de sa capacité à discriminer les trois périodes ? De son interprétabilité (1 pour présence, 0, pour absence) ?