Statistiques Univariées avec R
Statistiques Univariées avec R
TP N° 1
Introduction à la statistique avec R
On entend par statistique univariée l’étude d’une seule variable, que celle-ci soit
quantitative ou qualitative. La statistique univariée fait partie de la statistique descriptive.
Nous utiliserons dans ce chapitre les données de l’enquête Histoire de vie 2003 fournies
avec l’extension questionr. [Link]
```{r}
[Link]("dplyr")
[Link]("questionr", repos=c("[Link]
"[Link]
[Link]('questionr')
library(questionr)
data("hdv2003")
d <- hdv2003
```
str
str La fonction str est plus complète que names . Elle liste les différentes variables, indique
leur type et donne le cas échéant des informations supplémentaires ainsi qu’un échantillon
des premières valeurs prises par cette variable :
str(hdv2003)
1. Variable quantitative
a. Principaux indicateurs
Comme la fonction str nous l’a indiqué, notre tableau d contient plusieurs variables
numériques ou variables quantitatives, dont la variable [Link] qui représente le nombre
moyen passé par les enquêtés à regarder la télévision quotidiennement. On peut essayer de
déterminer quelques caractéristiques de cette variable, en utilisant les
fonctions mean (moyenne), sd (écart-type), min (minimum), max (maximum)
et range (étendue) :
Exemple :
mean(d$[Link])
mean(d$[Link], [Link] = TRUE) 2
UNIVERSITE DE Octobre
CARTHAGE ISTEUB 2024
Master
2
UNIVERSITE DE Octobre
CARTHAGE ISTEUB 2024
Master
On peut lui ajouter la fonction median qui donne la valeur médiane, quantile qui calcule
plus généralement tout type de quantiles.
b. Histogramme
Tout cela est bien pratique, mais pour pouvoir observer la distribution des valeurs d’une
variable quantitative, il n’y a quand même rien de mieux qu’un bon graphique.
On peut commencer par un histogramme de la répartition des valeurs. Celui-ci peut être
généré très facilement avec la fonction hist :
hist(d$[Link], main = "Heures de télé en 7 classes", breaks = 7, xlab
= "Heures", ylab = "Proportion", probability = TRUE, col = "orange")
c.répartition cumulée
on peut calculer la fonction de répartition empirique ou empirical cumulative distribution
function en anglais avec la fonction ecdf. Le résultat obtenu peut, une fois encore, être
représenté sur un graphique à l’aide de la fonction plot.
plot(ecdf(d$[Link]))
d. Boîtes à moustaches
Les boîtes à moustaches, ou boxplots en anglais, sont une autre représentation graphique
de la répartition des valeurs d’une variable quantitative. Elles sont particulièrement utiles
pour comparer les distributions de plusieurs variables ou d’une même variable entre
différents groupes, mais peuvent aussi être utilisées pour représenter la dispersion d’une
unique variable. La fonction qui produit ces graphiques est la fonction boxplot.
boxplot(d$[Link], main = "Nombre d'heures passées devant la télé par
jour", ylab = "Heures")
text(1.35, Q3 + 1.5 * (Q3 - Q1) + 0.15, "Q3 +1.5 h", col = "darkgreen",
lty = 2)
2. Variable qualitative :
a. Tris à plat
La fonction la plus utilisée pour le traitement et l’analyse des variables
qualitatives (variable prenant ses valeurs dans un ensemble de modalités)
est sans aucun doute la fonction table, qui donne les effectifs de chaque
modalité de la
variable, ce qu’on appelle un tri à plat ou tableau de fréquences.
table(d$qualif)
Quand le nombre de modalités est élevé, on peut ordonner le tri à plat selon les
effectifs à l’aide de la fonction sort.
sort(table(d$qualif))
sort(table(d$qualif), decreasing = TRUE)
À noter que la fonction table exclut par défaut les non-réponses du tableau résultat.
L’utilisation de summary permet également l’affichage du tri à plat et du nombre de
non- réponses :
summary(d$qualif)
b. Représentation graphique
Les représentations graphiques utilisées pour une variable qualitative sont les
diagrammes en bâtons et les diagrammes en secteurs :
barplot(table(d$qualif))
pie(table(d$qualif))
Travail demandé :
1
UNIVERSITE DE Octobre
CARTHAGE ISTEUB 2023
Master
ncol(don)
• les noms des lignes et colonnes données par les fonctions [Link]() et
colnames() (ou names() comme pour les list) :
[Link](don)
colnames(don)
Remarque : par défaut, il est donné un nom à chaque ligne qui correspond aux numéros
de lignes exprimés en chaînes de caractères. Pour changer le nom des lignes, on fait :
[Link](don) <- c("sonia", "maud", "iris", "mathieu", "amin",
"gregory")
2
UNIVERSITE DE Octobre
CARTHAGE ISTEUB 2023
Master
3
UNIVERSITE DE Octobre
CARTHAGE ISTEUB 2023
Master
(remplacer les antislashs () par des slashs (/) ou doubler les antislashs (\).) ** soit définir le
répertoire de travail pour pouvoir appeler directement le fichier.
setwd("~/Dropbox/cours statistiques inférentielle/R tp +
cours") smp <- read.csv2("[Link]")
Il est aussi possible de définir le répertoire de travail à l’aide des menus : - sous R : Menu
File / Change dir - sous RStudio : Menu Session / Set working directory / Choose directory
Erreurs les plus fréquentes: • Erreur dans file(file, “rt”) : impossible d’ouvrir la connexion
Vérifiez l’emplacement du fichier. • Error: ‘’ used without hex digits in character string
starting "“C:” Pensez à remplacer les antislashs () par des slashs (/) ou doubler les
antislashs (\). \ • Il y a une seule variable dans le fichier importée
str(smp)
Soit vous avez utilisé la fonction [Link]() au lieu de la fonction read.csv2() ; Soit vous
avez modifié le fichier en le téléchargeant. Téléchargez le à nouveau avec le bouton droit de
la souris / “Enregistrer la cible du lien sous”.
2
UNIVERSITE DE Octobre
CARTHAGE ISTEUB 2023
Master
3
UNIVERSITE DE Octobre
CARTHAGE ISTEUB 2023
Master
4
UNIVERSITE DE Octobre
CARTHAGE ISTEUB 2023
Master
unique(arbres)
On peut compléter ce tableau des effectifs par les effectifs cumulés que l’on peut obtenir
par la fonction cumsum :
effcum <- cumsum(effectif)
effcum
On obtient la séquence des effectifs cumulés de chaque modalité : 8 parcelles ont un arbre
ou moins, 17 parcelles ont au maximum 2 arbres,. . . De la même façon que pour les
fréquences, on peut obtenir les fréquences cumulées (en %) :
effcum*100/length(arbres)
cumsum(frequence)
La fonction sum calcule la somme des valeurs, c’est-à-dire le nombre total d’arbres plantés
sur les 24 parcelles :
sum(arbres)
5
UNIVERSITE DE Octobre
CARTHAGE ISTEUB 2023
Master
2.4 Représentations graphiques
6
UNIVERSITE DE Octobre
CARTHAGE ISTEUB 2023
Master
a. La fontion plot affiche un nuage de points avec en asbcisse le numéro de l’observation et en
ordonnée le nombre d’arbres: appliquer cette fonction sur la table arbre, et tracer la
courbe des effectifs cumulés, avec en abscisse le nombre d’arbres par parcelles et en
ordonnée les effectifs cumulés.
b. Tracer un diagramme en bâtons par la fonction barplot à partir du tableau des effectifs ou
des fréquences :
barplot(effectif, xlab="nombre d’arbres", ylab="effectif")
Il y a ici plusieurs remarques à faire. D’abord, on voit que R a choisi, par défaut, de
regrouper les données par classes d’amplitude 5, soit 7 classes : la première étant [65,70] et
ensuite du type ]a,b]. Si on souhaite obtenir des classes ouvertes à droite, il suffit de le
7
UNIVERSITE DE Octobre
CARTHAGE ISTEUB 2023
Master
préciser :
hist(souris,right=FALSE)
8
UNIVERSITE DE Octobre
CARTHAGE ISTEUB 2023
Master
On peut modifier le nombre de classes par l’option nclass(…) de la façon suivante (en 4
classes par exemple) :
hist(souris, nclass=4)
Pour pouvoir comparer les résultats de l’expérience sur les souris supplémentées et sur les
souris non supplémentées, on décompose le vecteur souris en deux listes par la fonction
split :
split(souris,vitamine)
R crée alors automatique deux nouveaux vecteurs : l’un pour les souris supplémentées,
[Link]. On peut étudier ces deux vecteurs :
summary([Link]$s)
summary([Link]$ns)
9
UNIVERSITE DE Octobre
CARTHAGE ISTEUB 2023
Master
Exercice 3:
Le gérant d’un magasin vendant des articles de consommation courante a relevé pour un
article particulier qui semble connaître une très forte popularité, le nombre d’articles
vendus par jour.
Son relevé a porté sur les ventes des mois de Mars et Avril, ce qui correspond à 52 jours
de vente. Le relevé des observations se présente comme suit :
7 13 8 10 9 12 10 8 9 10 6 14 7 15 9 11 12 11 12 5 14 11 8 10 14 12 8
5 7 13 12 16 11 9 11 11 12 12 15 14 5 14 9 9 14 13 11 10 11 12 9 15.
Exercice :
27.4 46.76 38.2 41.76 33.4 29.1 36.09 41.7 32.08 43.87
1
0
UNIVERSITE DE Octobre
CARTHAGE ISTEUB 2023
Master
readxl::read_xls("[Link]") #
[Link]("sas7bdat")
library("sas7bdat")
require("sas7bdat")
1
1
UNIVERSITE DE Octobre
CARTHAGE ISTEUB 2023
Master
b. STATA
Si l’on considère les données contenues dans le fichier [Link] (extrait du site de
Stata), l’importation se réalise avec la fonction [Link]() comme suit :
automiss <- [Link]("[Link]")
head(automiss)
c. SPSS
SPSS, comme Stata, ne pose aucun problème d’importation. Pour la table [Link], le
code est :
1
2
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
1
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
TP N°4
Régression linéaire
Partie I. Travail guidé :
Les composantes chimiques d'un fromage jouent un rôle dans le goût du produit final.
Une expérience a été mise en place sur 30 échantillons de fromage. Le fichier texte
[Link] contient 30 observations et 4 variables quantitatives :
taste : une mesure subjective du goût (plus elle est élevée, plus le fromage
est goûteux).
aa : la concentration en acide acétique,
sh : le log de la concentration en sulfate d'hydrogène,
al : la concentration en acide lactique,
L'objectif de cette expérience est d'étudier l'effet éventuel de ces trois composantes sur la
mesure du goût. Quel(s) composant(s) a(ont) un effet sur le goût ? Pour obtenir un
fromage le plus goûteux possible, de quel(s) composant(s) faudrait-il augmenter et/ou
diminuer la concentration ? et ceci dans quel ordre de grandeur ?
2
On peut vérifer que la distribution d'une variable est normale par les tests de
normalité (par la fonction [Link] de R) ; des p-values largement
supérieures à 5% indiquent que l'on ne rejette pas la normalité.
Toutefois, dans le cas de grands échantillons (plus de 30 observations), la
normalité de la variable réponse n'est pas une obligation car le modèle linéaire
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
est robuste vis-à-vis de l'hypothèse de normalité des résidus. Dans le cas des
petits échantillons, la vérifcation des ces hypothèses est plus importante.
On affiche la matrice des corrélations pour explorer les corrélations entre les 4
variables disponibles. Cette matrice contient les cofficients de corrélation entre tous
les couples de variables et les p-values associées à chaque cofficient permettant de
conclure si le cofficient de corrélation est significativement différent de 0 (p-
value≤0.05) ou non (p-value>0.05). Cette matrice des cor rélations peut être
également complétée par les nuages de points entre variables, permettant de vérifier
le caractère linéaire ou non-linéaire des relations.
cor(hemo[,c("aa","sh","al","taste")])
[Link](aa, taste, alternative="[Link]", method="pearson")
library(Hmisc)
rcorr([Link](fromage))
pairs(hemo[,c("aa","sh","al","taste")])
Cette première régression linéaire simple montre que sh explique de façon significative
taste. Le test d'ajustement global (F-statistic) ou le test de nullité du paramètre associé
à sh (t value dans le tableau des paramètres) donnent les mêmes résultats, à savoir
une p-value inférieure à 0.0001, comme pour le c÷-cient de corrélation, ce qui normal
en régression simple puisque quelque soit le test, l'hypothèse nulle est toujours
l'absence d'effet de sh sur taste. Le modèle estimé est de la forme :
i = −9.78 + 5.77 ℎi
indiquant que l'augmentation d'une unité du log de la concentration en sulfate
d'hydrogène entraîne une augmentation moyenne de 5.8 de la mesure du goût. Ce
modèle permet d'expliquer 57% de la variabilité de la mesure du goût (on peut vérifier
que
2
= r(taste, sh)2).
Les deux autres régressions simples (en fonction de aa et al) montrent, en accord avec
les coefficients de corrélation significatifs, une relation significative positive entre le
goût et les concentrations de chaque composant chimique.
6
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
1. Décrire rapidement les données. Etudier les corrélations deux-à-deux entre les variables.
2. Réaliser le modèle complet expliquant la variable réponse en fonction des autres variables
proposées (bien choisir les variables selon leur nature et la méthode à utiliser).
Un nouveau produit a été lancé sur le marché en janvier 2011. Une entreprise du secteur
entreprend en mars 2014 une étude de marché pour déterminer les caractéristiques les
plus influentes sur le volume des ventes.
Pour cette étude, l'entreprise dispose des données mensuelles suivantes (de Janvier 2011
à Février 2014, soit 38 observations) :
mois : le mois et l'année (que l'on peut considérer comme un identifiant),
marche : le marché total du secteur,
remise : la remise aux grossistes,
prix : le prix du produit,
rec : le montant allouée à la recherche,
inv : le montant des investissements,
pub : le montant allouée à la publicité du produit,
frais : frais de vente,
totpub : budget total du secteur allouée à la publicité,
volume : le volume des ventes du produit.
Les données sont disponibles dans le fichier [Link] avec le nom des variables en
première ligne et un espace entre chaque colonne.
L'objectif de cette étude est de modéliser le volume des ventes en fonction des 8 autres
variables disponibles et de déterminer celles qui ont l'impact le plus important sur le
volume des ventes.
7
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
Pour cette e+tude, l'entreprise dispose des donne+ es mensuelles suivantes (de Janvier 2011
a! Fe+ vrier 2014, soit 38 observations) :
• mois : le mois et l'anne+ e (que l'on peut conside+ rer comme un identifiant),
• marche : le marche+ total du secteur,
• remise : la remise aux grossistes,
• prix : le prix du produit,
• rec : le montant alloue+ e a! la recherche,
• inv : le montant des investissements,
• pub : le montant alloue+e a! la publicite+ du produit,
• frais : les frais de vente,
• totpub : le budget total du secteur alloue+ e a! la publicite+,
• volume : le volume des ventes du produit.
L’objectif de cette e+tude est de mode+liser le volume des ventes en fonction des 8
autres variables disponibles et de de+terminer celles qui ont l’impact le plus important
sur le volume des ventes. Dans cette optique, nous allons d’abord r e + aliser une
analyse descriptive des donne+es ainsi qu’une analyse des corre+lations. Dans un 2e!
me temps, nous mettrons en oeuvre un mode!le de re+ gression l i n e+ aire complet,
suivie si besoin d’une se+lection des variables explicatives, sans oublier d ’ e+ tudier la
validite+ du mode!le se+lectionne+ . Pour terminer, nous interpre+ terons les effets mis
8
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
I. Analyse descriptive
summary(ventes[,2:10])
# marche remise prix rec
# Min. :268.0 Min. :104.0 Min. :56.00 Min. : 8.00
#
#
# 1st Qu.:359.8 1st Qu.:120.0 1st Qu.:63.25 1st Qu.:13.00
#
# Median :416.0 Median :130.0 Median :69.00 Median :20.00
#
# Mean :408.2 Mean :129.1 Mean :69.18 Mean :19.42
#
# 3rd Qu.:455.8 3rd Qu.:138.0 3rd Qu.:74.75 3rd Qu.:24.75
#
# Max. :554.0 Max. :152.0 Max. :82.00 Max. :36.00
#
# inv pub frais totpub
#
# Min. :-50.00 Min. :12.00 Min. :154.0 Min. : 60.0
#
# 1st Qu.: 5.00 1st Qu.:40.00 1st Qu.:202.5 1st Qu.:128.2
#
# Median : 60.00 Median :62.50 Median :224.5 Median :243.0
#
# Mean : 54.82 Mean :59.08 Mean :232.5 Mean :238.2
#
# 3rd Qu.:116.00 3rd Qu.:81.50 3rd Qu.:264.8 3rd Qu.:313.5
#
# Max. :148.00 Max. :96.00 Max. :328.0 Max. :429.0
#
# volume
#
# Min. :4033
#
# 1st Qu.:4790
#
# Median :5118
#
# Mean :5097
#
# 3rd Qu.:5394
#
# Max. :6180
#
9
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
par(mfrow=c(3,3))
for (j in 2:10) {hist(ventes[,j],main=names(ventes)[j])}
[Link](volume)
##
## Shapiro-Wilk normality
test ##
## data: volume
## W = 0.98112, p-value = 0.757
Le volume moyen des ventes par mois est de 5097 articles vendus, variant de 4033 a!
6180 selon les mois. On peut e+ galement ve+ rifier par le test de normalite+ de
Shapiro que la distribution du volume des ventes est proche d’une loi Normale (dans
l’optique de la re+ gression l i n e+ aire a! mettre en place). C’est le cas avec un test non-
significatif (p-value=0.75) ; on ne rejette donc pas l’hypothe! se de normalite+ .
1
0
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
rcorr([Link](ventes[,2:10]))
# march remise prix rec inv pub frais totpub volume
# e
# marche 1.00 -0.13 0.51 0.17 0.05 0.17 0.88 0.00 0.66
#
# remise -0.13 1.00 0.02 0.01 -0.12 -0.12 -0.05 -0.15 -0.08
#
# prix 0.51 0.02 1.00 0.46 -0.07 0.26 0.63 -0.18 0.29
#
# rec 0.17 0.01 0.46 1.00 0.13 0.10 0.36 -0.13 0.08
#
# inv 0.05 -0.12 -0.07 0.13 1.00 0.22 0.17 -0.14 0.39
#
# pub 0.17 -0.12 0.26 0.10 0.22 1.00 0.13 -0.20 0.57
#
# frais 0.88 -0.05 0.63 0.36 0.17 0.13 1.00 -0.02 0.64
#
# totpub 0.00 -0.15 -0.18 -0.13 -0.14 -0.20 -0.02 1.00 -0.10
#
## volume 0.66 -0.08 0.29 0.08 0.39 0.57 0.64 -0.10 1.00
##
# n= 38
#
#
#
# P
#
# march remise prix rec inv pub frais totpub volume
# e
# marche 0.4474 0.0011 0.3122 0.7600 0.3160 0.0000 0.9836 0.0000
#
# remise 0.4474 0.8954 0.9525 0.4854 0.4748 0.7669 0.3832 0.6181
#
# prix 0.0011 0.8954 0.0041 0.6643 0.1220 0.0000 0.2756 0.0804
#
# rec 0.3122 0.9525 0.0041 0.4408 0.5310 0.0247 0.4446 0.6143
#
# inv 0.7600 0.4854 0.6643 0.4408 0.1870 0.3159 0.3852 0.0156
#
# pub 0.3160 0.4748 0.1220 0.5310 0.1870 0.4242 0.2400 0.0002
#
# frais 0.0000 0.7669 0.0000 0.0247 0.3159 0.4242 0.8971 0.0000
#
# totpub 0.9836 0.3832 0.2756 0.4446 0.3852 0.2400 0.8971 0.5666
#
# volume 0.0000 0.6181 0.0804 0.6143 0.0156 0.0002 0.0000 0.5666
#
pairs(ventes[,2:10])
1
1
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
La matrice des c o r r e+ lations contient toutes les corre+lations entre les 9 variables
disponibles, et les p-values associe+es. Dans un premier temps, on observe que le
volume des ventes est fortement co r r e+ le+ positivement a! trois variables : avec le
1
2
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
marche+ total de la branche (r=0.66, p-value<0.0001), la publicite+ (r=0.57, p-
value<0.0001), et les frais de vente (r=0.64, p-value<0.0001), signifiant que plus ces 3
variables ont des valeurs e+ leve+es et plus le volume des ventes est important. On
notera e+ galement que le volume est l i e+ a! l’investissement, mais de façon moins
importante (r=0.39, p-value<0.02).
Dans un deuxie! me temps, on peut relever deux co r r e+ lations positives fortes entre
les frais et le march e+ total (r=0.88, p-value<0.0001), et les frais et le prix du produit
(r=0.63, p-value<0.001).
[Link]=lm(volume ~ marche+remise+prix+rec+inv+pub+frais+totpub)
summary([Link])
##
## Call:
## lm(formula = volume ~ marche + remise + prix + rec + inv +
pub + ## frais + totpub)
##
## Residuals:
## Min 1Q Median 3Q
Max ## -591.12 -177.73 1.89 125.69
540.09 ##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
# (Intercept) 3106.16518 743.56002 4.177 0.000247 ***
#
# marche 2.35193 1.51572 1.552 0.131582
#
# remise 2.55417 3.69450 0.691 0.494847
#
# prix -13.80511 9.06952 -1.522 0.138804
#
# rec -7.00568 6.88809 -1.017 0.317530
#
# inv 1.62622 0.83646 1.944 0.061635 .
#
# pub 9.51190 1.96229 4.847 3.88e-05 ***
#
# frais 4.92351 2.74670 1.793 0.083489 .
#
# totpub -0.01686 0.44338 -0.038 0.969922
#
# ---
1 #
3
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
# Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' '1
#
#
#
# Residual standard error: 282 on 29 degrees of freedom
Dans ce mode!le complet qui explique 76% de la variabilite+ du volume, seule la
publicite+ explique de façon significative le volume des ventes (p-value<0.0001), les 7
autres variables ayant un effet non-significatif (p-value>0.05). Selon le principe de
parcimonie, nous allons donc pr o c e+ der a! une de+marche de se+ lection des variables
explicatives par les d if f e+ rentes me+ thodes que nous avons vues en cours.
1
4
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
IV. Sélection des variables explicatives
Commencons par la de+ marche pas-a! -pas descendante qui permet d’aboutir a! un
mode!le contenant 5 variables : marche, prix, inv, pub et frais
step([Link], direction = c("backward"))
## Start: AIC=436.51
## volume ~ marche + remise + prix + rec + inv + pub + frais +
totpub ##
…
## Call:
## lm(formula = volume ~ marche + prix + inv + pub +
frais) ##
## Coefficients:
## (Intercept) march prix inv pub frai
## e - 1.49 9.40 s
2.611 16.185 5 4 4.36
Selon les me+thodes pas-a! -pas ascendante et mixte, on aboutit a! un mode!le
ne contenant que 3 variables : marche + pub + inv
reg0 = lm(volume ~1)
step(reg0, scope = list(upper = ~
marche+remise+prix+rec+inv+pub+frais+totpub, lower = ~1), direction =
c("forward"))
…
## Call:
## lm(formula = volume ~ marche + pub +
inv) ##
## Coefficients: march pub inv
## (Intercept) e 8.12 2.17
4.172 0 0
step(reg0, scope = list(upper
=~marche+remise+prix+rec+inv+pub+frais+totpub,
lower = ~1), direction = c("both"))
…
## Call:
## lm(formula = volume ~ marche + pub +
inv) ##
## Coefficients: march pub inv
##
## (Intercept) e 8.12 2.17
4.172 0 0
On peut en comple+ ment o p e+ rer la se+ lection par la de+marche exhaustive selon
3 crie!res : BIC, Cp de Mallows et le R2 ajust e+ . Les 3 graphiques correspondants
montrent que les valeurs optimales pour ces 3 crite! res ne sont pas obtenues pour les
meD mes mode!les :
1
5
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
• Cp de Mallows minimal pour le mode! le a! 5 variables explicatives
(marche+prix+inv+pub+frais) comme la de+marche descendante,
summary(lm(volume~marche+prix+rec+inv+pub+frais))
##
## Call:
## lm(formula = volume ~ marche + prix + rec + inv + pub +
frais) ##
## Residuals:
## Min 1Q Median 3Q
Max ## -643.82 -189.47 -4.79 143.79
518.82 ##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3445.3859 459.1576 7.504 1.87e-08 ***
# marche 2.1626 1.4518 1.490 0.1464
#
# prix -13.4539 8.6727 -1.551 0.1310
#
1
6
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
# rec -7.1578 6.7059 -1.067 0.2940
Master
#
1
7
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
# inv 1.5683 0.7972 1.967 0.0582 .
#
# pub 9.4177 1.8965 4.966 2.37e-05 ***
#
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#
# Residual standard error: 275.1 on 31 degrees of freedom
#
#
## Multiple R-squared: 0.7608, Adjusted R-squared: 0.7145
## F-statistic: 16.43 on 6 and 31 DF, p-value: 2.036e-08
summary(lm(volume~marche+prix+inv+pub+frais))
##
## Call:
## lm(formula = volume ~ marche + prix + inv + pub + frais) ##
## Residuals:
## Min 1Q Median 3Q Max ## -737.08 -
157.73 15.99 113.91 483.64 ##
##
# Coefficients:
(Intercept) 3499.157 457.378 7.650 1.02e-08 ***
#
## Estimate Std. Error t value Pr(>|t|)
# marche 2.611 1.393 1.875 0.0699 .
#
# prix -16.185 8.305 -1.949 0.0601 .
#
# inv 1.495 0.796 1.879 0.0694 .
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#
# Residual standard error: 275.7 on 32 degrees of freedom
#
#
## Multiple R-squared: 0.752, Adjusted R-squared: 0.7133
## F-statistic: 19.41 on 5 and 32 DF, p-value: 7.392e-09
summary(lm(volume~marche+inv+pub))
##
## Call:
## lm(formula = volume ~ marche + inv + pub) ##
## Residuals: Estimate Std. Error t valuePr(>|t|)
## (Intercept)
Min 1Q Median
2794.71413Q 281.4062
Max ## -778.56 - 1.39e-11 ***
9.931
190.76
## marche14.89 183.22 4.1720
639.27 ## 0.6716 6.212 4.57e-07 ***
## Coefficients:
## inv 2.1700 0.7512 2.889 0.006689 **
## pub 8.1203 1.8639 4.357 0.000115 ***
1
8
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
# Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#
#
#
# Residual standard error: 285.6 on 34 degrees of freedom
#
1
9
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
## Multiple R-squared: 0.7172, Adjusted R-squared:
0.6923 ## F-statistic: 28.74 on 3 and 34 DF, p-
value: 1.925e-09
V. Modèle sélectionné
Etudions maintenant la validite+ du mode! le se+lectionne+. Ce mode!le semble de
bonne qualite+ au vu du R2 et 3 variables dont l’effet est fortement significatif.
Toutefois, si on observe les graphiques de diagnostic, on observe que deux points (8 et
29) sont mis en e+ vidence comme mal ajuste+s par le mode! le (re+sidus grands) et tre!
s influents sur les estimations du mode! le (distance de Cook tre!s importante par
rapport aux autres points). Il s’agit des observations de 05/13 (avec un investissement
tre! s faible par rapport au volume) et 08/11 (avec un march e+ total tre! s e+ l e v e+ par
rapport au volume). Dans ce cas, on refait la meD me analyse (mode! le complet puis
de+ marche de se+ lection) sans prendre en compte ces deux observations.
[Link]=lm(volume ~ marche+inv+pub)
summary([Link])
##
## Call:
## lm(formula = volume ~ marche + inv +
pub) ##
## Residuals:
## Min 1Q Median 3Q
Max ## -778.56 -190.76 14.89 183.22
639.27
## ## Estimate Std. Error t value Pr(>|t|)
## Coefficients:
## (Intercept) 2794.7141 281.4062 9.931 1.39e-11 ***
## marche 4.1720 0.6716 6.212 4.57e-07 ***
## inv 2.1700 0.7512 2.889 0.006689 **
## pub 8.1203 1.8639 4.357 0.000115 ***
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ''1
#
# Residual standard error: 285.6 on 34 degrees of freedom
#
#
## Multiple R-squared: 0.7172, Adjusted R-squared: 0.6923
## F-statistic: 28.74 on 3 and 34 DF, p-value: 1.925e-09
par(mfrow=c(2,3))
plot([Link])
plot([Link],4)
2
0
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
ventes36 = ventes[!mois==c(513,811),]
attach(ventes36)
reg.comp36=lm(volume ~ marche+remise+prix+rec+inv+pub+frais+totpub)
summary(reg.comp36)
##
## Call:
## lm(formula = volume ~ marche + remise + prix + rec + inv +
pub + ## frais + totpub)
##
## Residuals:
## Min 1Q Median 3Q
Max ## -334.56 -132.46 -14.01 140.93
387.17 ##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
2
1
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
#
# marche 5.05620 1.40123 3.608 0.00123 **
#
# remise -2.96402 3.15776 -0.939 0.35623
#
# prix -16.15330 7.63905 -2.115 0.04384 *
#
# rec -0.76940 5.99826 -0.128 0.89889
#
# inv 1.57429 0.72962 2.158 0.04001 *
#
# pub 7.29848 1.62537 4.490 0.00012 ***
#
# frais -0.02755 2.43750 -0.011 0.99106
#
## totpub -0.22616 0.35386 -0.639 0.52813
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ''1
#
# Residual standard error: 221.6 on 27 degrees of freedom
#
#
## Multiple R-squared: 0.8295, Adjusted R-squared: 0.779
## F-statistic: 16.42 on 8 and 27 DF, p-value: 1.565e-08
step(reg.comp36, direction =
...
## Call:
## lm(formula = volume ~ marche + prix + inv +
pub) ##
## Coefficients:
## (Intercept) marche prix inv
pub ## 3599.727 5.082 -16.058
1.660 7.700
...
## Call:
## lm(formula = volume ~ marche + pub + prix +
inv) ##
## Coefficients:
## (Intercept) marche pub prix
inv ## 3599.727 5.082 7.700 -
16.058 1.660
2
2
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
...
## Call:
## lm(formula = volume ~ marche + pub + prix +
inv) ##
## Coefficients:
## (Intercept) marche pub prix
inv ## 3599.727 5.082 7.700 -
16.058 1.660
[Link]<-regsubsets(volume
~marche+remise+prix+rec+inv+pub+frais+totpub,int=T,nbest=1,nvmax=10,method=
"ex haustive",[Link]=T,data=ventes36)
par(mfrow=c(1,3))
plot([Link],scale="bic")
plot([Link],scale="Cp")
plot([Link],scale="adjr2")
2
3
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
[Link](residuals(reg.sel36))
2
4
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
##
## Shapiro-Wilk normality
test ##
## data:
residuals(reg.sel36) ## W =
0.98638, p-value = 0.9283
vif([Link])
## inv pub
## 1.028962 1.050514
1.077850
D’apre!s les re+ sultats fournis ci-dessous concernant la qualite+ de ce nouveau mode!
le, on observe que toutes les observations sont correctement ajuste+es par le mode! le
et qu’elles ont toutes une influence raisonnable sur les estimations (pas de distances de
Cook trop e+l e v e+ es). On observe e+ galement que les hypothe!ses de normalite+ des
re+sidus (graphiques 2 et 6) et d’homosce+ dasticite+ (graphique 3) sont ve+ rifi e+ es.
De plus, on ne de+ tecte pas de proble! me de multicoline+arite+ entre les variables
explicatives, selon le crie!re VIF. On peut donc maintenant interpre+ ter les estimations
du mode! les et les effets mis en e+ vidence.
summary(reg.sel36)
##
## Call:
## lm(formula = volume ~ marche + inv + pub + prix) ##
## Residuals:
## Min 1Q Median 3Q Max ## -420.42 -
114.70 1.33 150.81 393.15 ##
## Coefficients:
2
5
UNIVERSITE DE Novembre
CARTHAGE ISTEUB 2024
Master
# pub 7.7004 1.4322 5.377 7.29e-06 ***
#
## prix -16.0585 5.8466 -2.747 0.00994 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#
# Residual standard error: 211.1 on 31 degrees of freedom
#
#
# Multiple R-squared: 0.8225, Adjusted R-squared: 0.7996
#
# F-statistic: 35.91 on 4 and 31 DF, p-value: 3.174e-11
#
2
6
UNIVERSITE DE CARTHAGE Novembre 2023
ISTEUB Master EEC
confint(reg.sel36)
# 2.5 % 97.5 %
#
# (Intercept) 2921.6477088 4277.805855
#
# marche 3.7908033 6.373310
#
# inv 0.3894078 2.930878
#
# pub 4.7793899 10.621335
#
# prix -27.9827504 -4.134248
#
Le mode! le est de tre! s bonne qualite+ puisqu’il explique 82% de la variabilite+ totale
du volume des ventes. Les 4 variables retenues sont :
• le marche+ total : son effet sur le volume des ventes est tre! s significatif (p-
value<0.0001) avec une augmentation de 5 produits vendus en plus (IC95% = [3.8 ;
6.4]) quand le marche+ total augmente de 1 uni t e+ en moyenne, toutes choses e+
gales par ailleurs (c’est-a! -dire quand les 3 autres variables explicatives restent
stables)
• la publicite+ a e+ galement un effet positif tre!s significatif (p-value<0.0001) :
quand la publicite+ augmente d’une uni t e+ , le volume des ventes augmente de 7.7
en moyenne (IC95% = [4.8 ; 10.6])
• a contrario (et logiquement), quand le prix baisse (de 1 euro), le volume des ventes
augmente de 16 en moyenne (p-value<0.01, IC95% = [-28 ; -4.1])
• l’effet de l’investissement est un peu moins fort (p-value=0.012) avec une
augmentation moyenne de 1.7 (IC95% = [0.4 ; 2.9]) du volume des ventes par unit e+
supple+ mentaire de l’investissement.
En conclusion, si le march e+ total est en progression, cela aura un impact positif sur
les ventes du produit, mais ce n’est pas une variable sur laquelle l’entreprise peut
agir. En revanche, l’entreprise peut agir sur la baisse du prix du produit,
l’augmentation de la publicite+ et dans une moindre mesure, l’augmentation des
investissements qui permettent de stimuler les ventes.
1
UNIVERSITE DE CARTHAGE Novembre 2023
ISTEUB Master EEC
TP N° 5
Probabilités et intervalles de confiance
1. Calculs de probabilité
a. Calculs basés sur des données
L'exemple porte sur la taille des arbres dans une forêt de séquoias.
Chargez le fichier sé[Link] avec la commande [Link] dans une
variable sequoia, puis utilisez la commande attach pour accéder directement aux noms
des colonnes. Utilisez également la commande names pour connaître le nom des colonnes
dans le fichier.
hist(taille_arbre)
Quelle est la probabilité qu'un arbre mesure 80m ?
length(taille_arbre[taille_arbre==80])/length(taille_arbre)
ou mieux :
length( which(taille_arbre==80) ) / length(taille_arbre)
2
UNIVERSITE DE CARTHAGE Novembre 2023
ISTEUB Master EEC
3
UNIVERSITE DE CARTHAGE Novembre 2023
ISTEUB Master EEC
Utilisez la moyenne et l'écart-type des tailles des séquoias chargées précédemment pour
calculer la probabilité qu'un arbre mesure 80m selon la loi normale paramétrée ainsi.
4
UNIVERSITE DE CARTHAGE Novembre 2023
ISTEUB Master EEC
5
UNIVERSITE DE CARTHAGE Novembre 2023
ISTEUB Master EEC
Si n≤100, on utilise la distribution de Student pour calculer la marge d'erreur. Ici, nous allons
calculer l'intervalle ayant 95% de chance de contenir la vraie moyenne de la population (et
pas celle de l'échantillon).
7
UNIVERSITE DE CARTHAGE Décembre 2023
ISTEUB Master EEC
REMARQUE IMPORTANTE : si l'on veut un IC à 99% ==> remplacer 0.975 par 0.995.
1
UNIVERSITE DE CARTHAGE Décembre 2023
ISTEUB Master EEC
TP 7
RStudio peut être utilisé pour réaliser des études en hydrologie grâce à divers packages spécialisés.
Voici quelques étapes et outils pour débuter :
SWATmodel : Interface pour utiliser le modèle SWAT (utilisé pour simuler les
processus hydrologiques).
raster et terra : Pour manipuler des données spatiales (cartes d'altitude, zones
inondables, etc.).
2. Exemples d’applications :
Analyse des précipitations : Charger des données météorologiques et analyser leur
distribution dans le temps ou l'espace.
Modélisation des bassins versants : Simuler l'écoulement dans un bassin versant en
fonction des précipitations.
Cartographie des zones inondables : Utiliser des données d'altitude et de débit pour
identifier les zones à risque.
3. Données et Préparation
2
UNIVERSITE DE CARTHAGE Décembre 2023
ISTEUB Master EEC
Données utilisées :
o
Séries temporelles de débits (ex. débit d’une rivière sur 10 ans).
o
Précipitations journalières/mensuelles.
o
Modèles d’altitude numériques (MNT) pour analyser les flux.
3
UNIVERSITE DE CARTHAGE Décembre 2023
ISTEUB Master EEC
4. Exemple d’importation:
library(readr)
debits <- [Link]("debits_riviere.csv", sep = ";")
head(debits)
summary(debits)
attach(debits)
library(ggplot2)
4
UNIVERSITE DE CARTHAGE Décembre 2023
ISTEUB Master EEC
Analyse hydraulique
library(hydroTSM)
[Link]("zoo")
[Link]("hydroTSM
") library(hydroTSM)
library(zoo)
5
UNIVERSITE DE CARTHAGE Décembre 2023
ISTEUB Master EEC
# Vérifiez la classe
class(debits_zoo) # Doit renvoyer "zoo"
library(zoo)
6
UNIVERSITE DE CARTHAGE Décembre 2023
ISTEUB Master EEC
#[Link]("raster"
#[Link]("terra")
library(raster)
## Warning: le package
Le chargement 'raster'
a nécessité le a été compilé
package : sp avec la version R 4.4.2
## Warning: le package 'sp' a été compilé avec la version R 4.4.2
7
UNIVERSITE DE CARTHAGE Décembre 2023
ISTEUB Master EEC
# Visualisation
ggplot(data = [Link](Date = dates, Debit = debit), aes(x = Date, y
= Debit)) +
geom_line(color = "blue") +
labs(title = "Débit fluvial quotidien", x = "Date", y = "Débit
(m³/s)")