Académique Documents
Professionnel Documents
Culture Documents
txt
Projet d’Analyse de Données
Par :
Dro Kieu DÉLI
Malo LE RESTE
Étudiants en Master 1 Data Science
Introduction ............................................................................................................................................. 4
Conclusion ..............................................................................................................................................14
Bibliographie .........................................................................................................................................15
Annexes ....................................................................................................................................................16
Introduction
Selon J-P. Fénelon : « L’analyse des données est un ensemble de techniques pour
découvrir la structure, éventuellement compliquée, d’un tableau de nombres à
plusieurs dimensions et de traduire par une structure plus simple et qui la résume
au mieux. Cette structure peut le plus souvent, être représentée graphiquement »
[1].
L’objectif est de ce projet est de confronter les acquis théoriques à une application
industrielle de l’analyse de données. Une évaluation suivra la fourniture du présent
document.
Notre démarche s’inscrit dans le plan défini pour la tenue de cet exercice. Nous
effectuons dans un premier temps des descriptions univariées et bivariée du
tableau où nous retrouverons respectivement des résultats descriptifs individuels
et deux-à-deux des variables. Nous terminons notre travail par une analyse
multivariée selon la méthode dite « analyse en composantes principales » (ACP)
sous le langage R.
1 Fichier présent sur l’espace numérique des auditeurs du cours d’Analyse de Données (X1MS010)
Nous nous intéresserons ici aux variables quantitatives, celles-ci concernent les
compositions minérales des eaux, précisément la concentration (en mg/L) des
minéraux que nous interpréterons avec une mise en relation des variables
qualitatives.
iv. Ces résultats peuvent être mis en visualisation par des boites à
moustaches comme suit :
Le pH moyen des eaux est de 7. Dans le détail, celui des eaux gazeuses est de 6,2
(légèrement acide) contre 7,3 (légèrement neutre) pour les eaux plates.
On peut noter :
• une forte corrélation positive (supérieure à 0.85) pour les couples K/Na,
K/HCO3, Na/HCO3 et Ca/SO4 ;
• une corrélation négative moyenne (entre -0.24 et -0.43) pour les couples
Cl/pH, K/pH et HCO3/pH.
Il faut signifier que la corrélation n’entraine pas une relation de causalité entre les
variables, il peut exister un facteur qui influe les concentrations de chaque couple.
2. Description multivariée
Elle retourne un tableau nommé de type resPCA (voir annexe) qui regroupe tous
les résultats de l’ACP.
Utilisation
Nous effectuons une ACP normée. Les données ont été prétraitées (suppression
des valeurs manquantes, et des variables textuelles).
Outre les graphiques, présentés dans l’interprétation, elle affiche des informations
dans l’interpréteur.
2.1.3. Comparaison
Les deux fonctions présentes des résultats similaires pour l’ACP.
Notre approche est cependant plus intéressante en ce sens qu’elle propose une
plus grande maniabilité d’édition pour rajouter des actions supplémentaires.
Conclusion
L’objectif de notre étude était d’effectuer une étude des données du fichier
EauxFM.txt à l’aide d’analyses univariée, bivariée et multivariée.
Nous avons utilisé l’ACP pour l’analyse multivariée en utilisant une fonction
disponible dans l’environnement du langage et une seconde que nous avons écrite.
Les résultats des deux ACP ont concordé.
Ce projet nous a permis d’allier théorie et pratique dans le cours d’analyse de
données. Une voie de développement serait de proposer une interface graphique
qui utilise notre programme pour effectuer des ACP ou encore déduire des
interprétations à partir des résultats obtenus.
Bibliographie
[1] Fenelon, J.P., (1981). Qu’est-ce que l’analyse des données ? Lefonen.
Annexes
Le décalage dans la numérotation est du au fait que les programmes ont été rajoutés après la génération du
PDF, c’était un moyen efficace de garder une bonne mise en forme (indentation et couleurs).
Une documentation détaillée des fonctions est fournie dans l’archive du projet.
FONCTION PERSONNELLE
# PCA function
PCA = function(X, naxes=NULL, scaled=TRUE, choose.dim=TRUE) {
vnames = names(X)
# scaling the matrix X
Xmeans = colMeans(X)
Z = t(t(X) - Xmeans)
Zstd = sqrt(colMeans(Z**2))
if (scaled) Z = t(t(Z) / Zstd)
# computing cov or cor matrix
if (scaled) S = cor(Z)
else S = cov(Z)
# computing eigen values and vectors
eigenZ = eigen(S)
l = eigenZ$values
a = eigenZ$vectors
# computing u
Q = diag(dim(X)[2])
u = Q %*% a
# principal components
F = function(k) as.matrix(Z) %*% u[,k]
# var coords
G = function(k) t(sqrt(l[k]) * t(u[,k]))
# applyNew function for new observations
applyNew = function(x, s=FALSE, k=NULL, v=NULL) {
if (!s) {
x = t(t(x) - Xmeans)
if (scaled) x = t(t(x) / Zstd)
}
if (is.null(k)) k = 1:naxes
if (is.null(v))
return(as.matrix(x) %*% u[,k])
else
return(as.matrix(x) %*% u[v,k])
}
# return results
return(resPCA(
X=X,
Z=Z,
naxes=naxes,
l=l,
pctInertia=l*100/length(l),
a=a,
u=u,
F=F,
G=G,
individuals=list(coords=coords, quality=iqlt, contribution=ictr),
variables=list(coords=varCoords, quality=vqlt, contribution=vctr, names=vnames),
applyNew=applyNew
))
}
APPLICATION DE LA
FONCTION SUR EauxFM.txt
# Data import
eauxfm = read.table(file="EauxFM.txt", sep="\t", header=TRUE)
eauxfm$Nature = as.factor(eauxfm$Nature)
eauxfm$Pays = as.factor(eauxfm$Pays)
View(eauxfm)
# Univariate description
boxplot(eauxfm$PH)
# Omit NA observations
na.count = function(x) {
return(sum(is.na(x)))
}
na_count = na.count(eauxfm)
cat("NA count:", na_count, "\n")
eauxfm_no_na = na.omit(eauxfm)
dim(eauxfm_no_na)
# Omit NA isn't a viable solutions, too many NA, losing too many observations if we simply discard them all
# Plotting results
pcaVarPlot(pca)
pcaIndPlot(pca)
pcaIndPlot(pca, ind_labels=new_eauxfm_no_na[new_eauxfm_no_na$Pays == "France", "Nom"])