Vous êtes sur la page 1sur 24

INTRODUCTION

Description des données


Exercice 2

UNIVERSITÉ GASTON BERGER DE SAINT-LOUIS

U.F.R Sciences Appliquées et Technologie

Section Mathématiques

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION
Description des données
Exercice 2

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION
Description des données
Exercice 2

RAPPORT DE PROJET LOGICIEL ET

APPLICATION

Djim BA from Dabaly

27 février 2023

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION
Description des données
Exercice 2

1 INTRODUCTION

2 Description des données

Petite introduction

Réponse aux de l'exercice


Identication des valeurs manquante
Correction des valeurs manquantes
2. Représenter de façon adéquate la répartition de classe de cabine
3.Representation de la répartition des prix selon le lieu
d'embarquement
4. Transformer la variable survie en factor oui et non
5. Répartition des tarif pour ceux ayant survécue et ceux n'ayant pas
survécue
6. Création d'un nouveau dataframe nommé titanicIB
7. Supprimer le ou les levels de la variable embarquement devenu inutil
8. Exportation du tableau de donnée titanic.csv

3 Exercice 2

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION
Description des données
Exercice 2

Bibliographie

cours Logiciel et Application du Pr Aliou Diop, enseignant

chercheur à l'UFR de Sciences Appliquées et de Technologie

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION
Description des données
Exercice 2

Introduction
Ce projet projet de logiciel et application qui nous a était donner comme
devoir, consiste a réaliser les diérentes questions posés. Le travaille
demander est scindé en deux exercices séparés et qui sont indépendant.
Ainsi, nous allons les traiter en deux étapes. ci-dessous, vous trouverez le
travaille demander.
Devoir Logiciel et ApplicationsM1 SDA Finance et StatistiqueFichier
(prenom.nom) à rendre au plus tard le dimanche 26 à 18h(Aucun retard
ne sera toléré)

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION
Description des données
Exercice 2

Exercice 1 :
Consigne : Vous allez travailler sur les données réelles des passagers du Titanic. Elles sont contenues
dans le chier titanic.csv . Ce tableau de données contient à 18hles informations suivantes :
survie : codée 1 pour Oui et 0 pour Non ;
classe : classe de leur cabine
sexe : codé F pour les femmes et M pour les hommes
age : l'âge en années
prix : prix du ticket
embarquement : lieu d'embarquement C pour Cherbourg, Q pour Queenstown et S pour
Southampton.
Questions :
1 Importer les données dans un data frame intitulé tit. Représenter de façon adéquate la répartition
des classes de cabines.
2 Représenter sur un même graphique les répartitions des prix selon le lieu d'embarquement.
3 Transformer la variable survie en un facteur de levels Oui et Non.
4 Représenter sur deux graphiques côte à côte la répartition des prix du ticket pour ceux ayant
survécus et pour ceux n'ayant pas survécus.
5 Créer un nouveau data frame intitulé titanicIB ne contenant que les individus ayant embarqués
sur les Îles Britanniques, c'est-à-dire à Southampton en Angleterre et à Queenstown en Irlande.
Supprimer le ou les level(s) de la variable embarquement devenu(s) inutile(s).
6 Exporter le tableau de données ainsi créer dans un chier nommer titanicIB.csv contenant les
noms des variables, ne contenant pas les noms des individus et dont le séparateur de colonnes est
le point-virgule.

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION
Description des données
Exercice 2

Exercice 2 :
Ecrire un programme qui calcule :
1 L'estimateur du maximum de vraisemblance de la moyenne d'une loi
normale d'écart type connu égal à 1.Même question pour la loi de
Poisson de paramètre m.
2 Même question pour une loi Gamma de paramètre p et q.

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION Petite introduction
Description des données Réponse aux de l'exercice
Exercice 2

Introduction de l'exo
Cette exercice consiste à répondre à des questions liée au donnée titanic.
Le jeu de données du Titanic, fait référence au naufrage du fameux
paquebot le Titanic en 1912, où il y eut beaucoup de noyés à cause du
nombre insusant de canots de sauvetage.

Il contient pour chaque passager les informations suivantes :


PassengerId : numéro unique de passage
Survived : 1,0 si le passager a survécu 0 sinon
Pclass : classe du passager
Name : nom du passager
Sex : sexe du passager
Age : âge du passager
SibSp : nombre de parents/épouses présents sur le HMS Titanic
Parch : nombre de parents / enfants
Ticket : numéro du ticket
Fare : montant du billet
Cabin : catégorie de la cabine
Embarked : port d'embarquement (C= Cherbourg, Q=Queentown, S = Southampton)

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION Petite introduction
Description des données Réponse aux de l'exercice
Exercice 2

Importation des donnée

Pour importer correctement un chier au format.csv dans R, il est nécessaire de connaître les caractères
utilisés pour séparer les colonnes et pour séparer les décimales.
Si votre chier .csv est au format européen ( colonnes séparées par un point-virgule et une virgule pour
séparer les décimales ), utilisez la fonction read.csv2() pour l'importer.
Si votre chier .csv utilise la virgule comme séparateur de colonnes et le point comme séparateur de
décimales, utilisez la fonction read.csv() pour l'importer
Dans notre notre cas, le chier.csv du jeu de donnée titanic utilise la virgule comme séparateur de
colonne donc on a utiliser la commande readc sv pour importer notre table de donnée.

Comme vous le remarque, ici faire l'importation, nous avons utiliser la commande readc sv qui prend
comme argument le chemin d'accès et le nom du jeu de donnée titanic. De plus, nous avons aecter au
donnée une variable nommer Tit que nous utiliserons pour la suite de l'exercice. Pour vérier que
l'importation des données s'est bien déroulée, j'utilise généralement l'un de ces fonctions view(Tit).

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION Petite introduction
Description des données Réponse aux de l'exercice
Exercice 2

Après visualisation, pour voir la structure interne du jeu de donnée, on utilise la fonction str() de R.

Cette fonction est très pratique, car elle permet de connaître :


le format des données : ici un data frame
les dimensions du jeu de données : ici 891 lignes (observations) et 12 colonnes (variables)
le nom des variables : PassengerId, Survived, Pclass, Name, Sex, Age, SibSp, Parch, Ticket, Fare, Cabin,
Embarked
le Type de ces variables : ici PassengerId, Survived, Pclass, Age, SibSp, Parch, Fare sont des variables
numérique et Name, Sex, Ticket, Cabin, Embarked sont des variables de type chaine de caractère
En n, nous avons aussi remarquer que notre table de donnée contient des valeurs manquantes.
Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION
INTRODUCTION Petite introduction
Description des données Réponse aux de l'exercice
Exercice 2

Une méthode simple pour explorer les données manquantes est d'utiliser la fonction summary()

Comme nous l'avons énoncé au paragraphe précèdent, notre jeu de donnée contient des valeurs
manquantes. Elle sont matérialiser par des NA ou par un espace vide.

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION Petite introduction
Description des données Réponse aux de l'exercice
Exercice 2

Pour mieux illustré ces valeurs nous utilisons La méthode is.null appliqué sur un DataFrame Tit permet
de retourner un tableau de booléens indiquant l'absence de données (True) ou la présence de données
(False. En outre, pour savoir les indices lignes et colonnes de chaque valeur manquante on utilise la
commande which(is.na(Tit),arr.ind=TRUE). vous trouverez ci-dessous une ulistration des commande.

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION Petite introduction
Description des données Réponse aux de l'exercice
Exercice 2

Correction des valeurs manquantes

Il existe plusieurs méthodes : supprimer les ligne et les colonnes contenant des valeurs manquantes,
eectuer un remplacement par la méthode des moyens, la méthode des médianes, etc.
Tous d'abord, nous avons constaté qu'il y a beaucoup de valeurs manquantes pour l'avant-dernière
colonne (le numéro de la cabine). EN outre, on voit remarqu' il y a certains éléments de notre base que
nous ne savons pas corriger et qu'il est inutile de corriger(typiquement la colonne Survived) mais nous
pouvons par exemple modier certains données pour avoir un DataFrame plus  cohérent .
Déjà nous allons commencer par enlever les colonnes qui nous gênent et n'apportent pas
d'informations mais bien sûr, on peut se tromper. Avec la commande drop,on va enlever les
colonnes Ticket et Cabin. Voici les instruction R à faire : Tit$Cabin <- NULL, Tit$Ticket <-
NULL
Ensuite nous allons remplacer les âges manquants par l'âge moyen. Voici l'instruction R qui nous
permet de remplacer les ages manquants Tit$Age[is.na(Tit$Age)] <-
mean(Tit$Age,na.rm=TRUE)
Pour vérier si la basse est correct, on va la visualiser à nouveau par la fonction print().

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION Petite introduction
Description des données Réponse aux de l'exercice
Exercice 2

2. Représenter de façon adéquate la répartition de classe de cabine

Etant donné que nous savons que la variable Pclass est de type numérique, on le met en factor avec la
commande Tit$Pclass = as.factor (Tit$Pclass). Ensuite, on cherche l'eectif des passagers pour chaque
classe avec l'instruction effectifc lass = table(Tit$Pclass). En n on trace le graphique avec la commande
barplot(effectifc lass, main = ”Legraphiquedelar partitiondesclassesdecabine”, col = terrain.colors(3))

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION Petite introduction
Description des données Réponse aux de l'exercice
Exercice 2

3.representation de la repartition des prix selon le lieu d'embarquement

Etant donné que nous savons que la variable Embarked est de type chaine de caractère on le met en
factor avec la commande Tit$ Embarked = as.factor(Tit$ Embarked). Ensuite, on cherche l'eectif des
passagers pour chaque lieu avec l'instruction Tablee ffectif = tapply(Tit$Fare, INDEX = Tit$ Embarked,
FUN = mean, na.rm=TRUE). En n on trace le graphique avec la′ commande
barplot(Tablee ffectif , main = ”Graphedelarepartitiondesprixselonlelieurd embarquement”, col = rainbow (3))

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION Petite introduction
Description des données Réponse aux de l'exercice
Exercice 2

4. Transformer la variable survie en factor oui et non

Etant donné que nous savons que la variable survived est de type numérique on le met en factor avec la
commande Tit$Survived < −factor (Tit$Survived, labels = c(′ Non′ ,′ Oui ′ ), de plus l'argument label permet
de labéliser les non survies(0) par Non et les survies(1) par Oui. Ensuite, on cherche l'eectif des
passagers survie et non survie avec l'instruction effectifs urvie < −table(Tit$Survived). En n on trace le
graphique avec la commande barplot(effectifs urvie, main = ”Graphedessurvie”, col = rainbow (2))

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION Petite introduction
Description des données Réponse aux de l'exercice
Exercice 2

5. Répartition des tarif pour ceux ayant survécue et ceux n'ayant pas survécue

Tout d'abord, on créer la variable ′des survécue avec la commande


Survecue = subset(Tit, Survived == Oui ′ ), et celle des non survecue avec la commande
nons urvecue = subset(Tit, Survived ==′ Non′ ). Après la création des deux variables, on créer un
environnement graphique de subdiviser deux colonnes et une ligne avec l'instruction
suivante :(mfrow=c(1,2)). . En n, on trace les histogrammes de la répartition des tarifs des survécues et
des non survécues avec les instructions suivantes : hist(Survecue$Fare, breaks = seq(0, 1000, 50), main =
”legraphiquedelar partitiondestarifsdessurv cues”, col = ”blue”) et hist(nons urvecue$Fare, breaks =
seq(0, 1000, 50), main = ”legraphiquedelar partiondestarifsdesnonsurv cues”, col = ”red”)

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION Petite introduction
Description des données Réponse aux de l'exercice
Exercice 2

6. Création d'un nouveau dataframe nommé titanicIB

Pour la création de ce nouveau dataframe nous allons utiliser la fonction subset permet d'extraire des
sous-populations de manière plus simple et un peu plus intuitive que l'indexation directe. Ainsi, elle
prend en argument le nom du dataframe de départ (Tit) et la condition à observer. Voici, l'instruction
qui permet cette réalisatrion titanicIB= subset(Tit,TitEmbarked ==′ S ′ |Tit Embarked =='Q')

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION Petite introduction
Description des données Réponse aux de l'exercice
Exercice 2

7. Supprimer le ou les levels de la variable embarquement

devenu inutil

Etant donné que nous avons créer un nouveau dataframe titanicIB qui contient l'ensemble des passager
qui ont été embarquer sur les îles Britanique c'est-à-dire à Southampton en Angletère et en Queenstown
en Irlande, nous allons utiliser la commande droplevels() qui nous permet de nous débarrasser
ecacement de niveaux de facteurs inutilisés. Ainsi, l'instruction qui permet sa réalisation
Supprime = droplevels.factor (titanicIB$Embarked)

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION Petite introduction
Description des données Réponse aux de l'exercice
Exercice 2

8. Exportation du tableau de donnée titanic.csv

Avant de faire l'exportation, nous allons d'abord utiliser la commande dir.create() pour créer un dossier
nommé PROJET TITANIC ou nous nous allons exporter notre chier. De plus, nous allons faire appel
au package here de R here qui permet de référencer facilement des chiers en utilisant le répertoire de
niveau supérieur d'un projet de chier pour créer facilement des chemins de chiers. Enn, on utilise la
commande write.table() pour l'exportation. Voici les instructions pour la réalisation de la question :
dir.create("PROJET TITANIC") et write.table(titanicIB, here : :here("PROJET
TITANIC","titanicIB.csv"),row.names = FALSE, sep =' ;')

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION
Description des données
Exercice 2

petite Introduction

Cette exercice consiste a faire des programmes qui calcul le maximum de


vraisemblance des lois normal et poisson. Le maximum de vraisemblance
est une méthode statistique permettant de trouver les paramètres d'un
modèle de probabilité les plus "vraisemblables" pour expliquer des
données observées. On peut comparer cela avec une régression linéaire où
l'objectif est d'identier les paramètres a et b de l'équation y = ax+b.
Dans la suite de ce billet, ce ne sera pas les paramètres d'une droite, mais
les paramètres d'une loi normale que nous essayerons de déterminer.
Pour la réalisation des programme de calcul, nous aurons besoin des
packages stats4 et methods du logiciel R. De plus, pour faire la similation
nous prenons n=100 et on fera appel à la fonction set.seed().

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION
Description des données
Exercice 2

Programme de calcul du maximum de vraisemblance des

lois

1. Programme de calcul du maximum de vraisemblance de la loi normale


x = rnorm(n, sd = 1) Lagra1 = function(mu)R 1 = dnorm(x, mu) − sum(log (R 1))
mle(Lagra1, start = list(mu = 1))

2. Programme de calcul du maximum de vraisemblance de la loi poisson


x 2 = rpois(n, 1)
Lagra2 = function(lamda)R 2 = dnorm(x 1, lamda) − sum(log (R 2))
mle(Lagr 2, start = list(lamda = 1))

3. Programme de calcul du maximum de vraisemblance de la loi poisson


x 3 = rgamma(n, 1, 1)
Lagra3 =
function(alpha, betta)R 3 = dnorm(x 3, alpha, betta) − sum(log (R 3))
mle(Lagr 3, start = list(alpha = 1, betta = 1))

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION


INTRODUCTION
Description des données
Exercice 2
cccc

Djim BA from Dabaly RAPPORT DE PROJET LOGICIEL ET APPLICATION

Vous aimerez peut-être aussi