Le but de ce DM est de vérifier que vous avez compris les principales étapes à suivre lorsque l’on analyse un jeu de données.

Pour cela, vous appliquerez la démarche de statistiques descriptives vue en cours aux divers jeux de données proposés:

À chaque étape, vous justifierez que ce que vous calculez ou affichez a bien du sens. Le cas échéant, si le jeu de données ne satisfait pas les hypothèses attendues, vous essayerez de vous restreindre à un sous-ensemble du jeu de données en justifiant vos choix. Si vous avez l’impression qu’il y a plusieurs régimes (successifs ou supperposés), vous séparerez les deux régimes et les analyserez séparément.

On rappelle les différentes fonctions de base de R qui pourront vous êtres utiles: str, summary, mean, diff, sort, var, sd, plot, plot.ts, hist, boxplot.

Récupération des jeux de données et première visualisation

Nous vérifions le type de nos données.

str(data)
##  num [1:2000] 0.608 0.777 0.84 0.84 0.84 ...

Nous pouvons bien voir que notre jeu de donnée est un ensemble de nombres. Il y en a 2000 et les premières valeurs semblent relativement proches les unes des autres.

Regardons si ces données sont structurées “dans le temps” (à dire vrai, on n’a pas d’information sur la date à laquelle la mesure a été prise mais dans le doute on considèrera que les données correspondent à une séries de mesures successives).

plot.ts(data)

On distingue clairement deux phases. L’une concernant les mesures de 1 à environ 50 où le régime est transitoire, il évolue très rapidement au début puis plus faiblement, la seconde d’environ 50 à la fin où le régime est stationnaire autour de 0,98.

Je vais donc décomposer mon ensemble de données en deux, la première phase de régime transitoire, et la seconde phase de régime stationnaire.

Première phase : régime transitoire

Observons plus en détail les données de l’intervalle [0:50].

X1=data[1:50]
plot.ts(X1)

On voit que les temps du caches sont progressivement croissants de façon assez régulière. On peut cependant observer des temps très petits au début nous questionnant sur l’état du cache au moment de l’expérience.

Deuxième phase : régime stationnaire

On affiche les données pour avoir une aperçu de la variation des temps du cache pour cette phase.

X2=data[51:2000]
plot.ts(X2)

Le mode de cet ensemble de données est la classe [0.988:0.989]

hist(X2)

summary(X2)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.9652  0.9844  0.9880  0.9857  0.9889  0.9901

Nous pouvons constater que 25% des données de la phase stationnaires sont inférieures à 0.986s, 50% inférieures à 0.9885s et 75% à 0.989s. On voit clairement que les valeurs de la médiane et la moyenne sont proches, on peut déduire que les temps deviennent uniformes.

boxplot(X2, horizontal = TRUE)

Voici en image la représentation des données rendues par la fonction summary. On peut voir qu’il y a quelques abérrences dans notre ensemble de données.

sqrt(mean(X2*X2)-mean(X2)*mean(X2))
## [1] 0.005067437

On calcule l’écart type (indicateur de dispersions des données) de notre phase stationnaire. On voit que nous obtenons une valeur très faible de : 0.005067437. Par conséquent, nous pouvons déduire que l’écart de nos valeur par rapport à la moyenne est faible ce qui confirme l’uniformité des valeurs.