You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ce tutoriel sur la régression linéaire débute par un rappel sur la corrélation et les corrélogrammes. Cette matière est détaillée dans le [module 6 de science des données I](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2024/correlation.html). Les objectifs de ce tutoriel sont :
79
+
Ce tutoriel sur la régression linéaire débute par un rappel sur la corrélation et les corrélogrammes. Cette matière est détaillée dans le [module 6 de science des données I](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2025/correlation.html). Les objectifs de ce tutoriel sont :
49
80
50
81
- Revoir la corrélation et les indices de Pearson et Spearman
51
82
@@ -66,34 +97,34 @@ La fonction `skimr::skim()` vous permet d'obtenir de nombreuses informations sur
66
97
67
98
Réalisez une matrice de corrélation avec le coefficient de corrélation de Pearson sur ce jeu de données. N'utilisez que les variables pertinentes. Sélectionnez ces variables sur base de leur nom. Affichez un corrélogramme avec la partie supérieure uniquement (`upper`).
grade_code("Vous vous rappelez comment réaliser une matrice de corrélation et un corrélogramme. Présenter une matrice de corrélation sous la forme d'un graphique, c'est quand même plus convivial.")
98
129
```
99
130
@@ -114,8 +145,6 @@ question("Quelles sont les combinaisons de variables les plus corrélées ? (sé
114
145
115
146
*L'analyse de la corrélation est utile comme première approche afin de déterminer si une régression linéaire est intéressante avec nos données.*
116
147
117
-
<!-- PhG: je ne comprend pas du tout pourquoi on fait de la corrélation sur crabs, et puis on passe à la régression sur bull. C'est décousu et cela n'a aucun sens. Comment les étudiants penvent comprendre la logique d'une analyse autour d'une régression linéaire sur base de problèmes aussi peu construits !!!- -->
118
-
119
148
## Taureaux reproducteurs
120
149
121
150
Pour aborder la régression linéaire, nous revenons sur le jeu de données `bull` déjà utilisé lors du learnr de révision et issu de données de l'association wallonne de l'élevage. Ce jeu de données `bull` contient les variables suivantes :
@@ -124,7 +153,7 @@ Pour aborder la régression linéaire, nous revenons sur le jeu de données `bul
124
153
125
154
Votre objectif sera de réaliser une régression linéaire de la masse des taureaux (mesurée en kg) en fonction de leur âge (en mois).
126
155
127
-
####Description des données
156
+
### Description des données
128
157
129
158
Toute analyse commence par la description des données, surtout si elles sont nouvelles pour vous ! Commencez donc en réalisant un graphique en nuage de point de la masse en fonction de l'âge des taureaux.
130
159
@@ -160,20 +189,19 @@ skimr::skim(bull)
160
189
161
190
Le tableau contient deux variables qualitatives et trois variables quantitatives avec `r nrow(bull)` taureaux qui ont été mesurés et il n'y a pas de valeurs manquantes. La quantité de données disponibles est acceptable pour une régression linéaire. Les distributions de l'âge et de la masse montrent qu'il y a plus de données pour les faibles valeurs, la distribution dans la plage d'âges étudiée -entre 13 et 40 mois- n'est pas homogène, mais sans que cela ne soit dramatique (cela se voit aussi sur le graphique, plus haut, avec comparativement un peu moins de données pour des âges de 30 à 40 mois).
162
191
163
-
```{r, echo=TRUE}
192
+
```{r, echo=TRUE, warning=FALSE}
164
193
correlation(num_vars(bull)) |>
165
194
tabularise()
166
195
```
167
196
168
197
Toutes les corrélations sont positives et élevées. La corrélation entre la masse et l'âge est la plus forte.
169
198
170
-
*Souvenez-vous que `tabularise()` est une nouvelle fonction qui permet de réaliser un tableau propre des résultats (nous l'avons découvert dans le learnr précédent).*
171
199
172
-
####Modèle de la masse des taureaux en fonction de leur âge
200
+
### Modèle de la masse des taureaux en fonction de leur âge
173
201
174
202
Complétez à présent les instructions ci-dessous afin de réaliser une régression linéaire de la masse en fonction de l'âge de nos taureaux.
grade_code("Vous avez réalisé votre première régression linéaire. Analysez le tableau et le graphique issus de ce modèle et répondez aux questions qui suivent.")
@@ -135,7 +141,7 @@ Les distributions des deux variables sont univariées et les moyennes assez proc
135
141
136
142
Réalisez à présent la régression linéaire demandée de la variable `area` en fonction de la variable `major_axis_length`du tableau `rice`.
137
143
138
-
```{r rice_lm_h2, exercise=TRUE}
144
+
```{r rice_lm_h2, exercise=TRUE, warning=FALSE}
139
145
rice_lm <- lm(data = ___, ___ ~ ___)
140
146
# Résumé de la régression linéaire
141
147
summary(___) |>
@@ -144,7 +150,7 @@ summary(___) |>
144
150
chart(___)
145
151
```
146
152
147
-
```{r rice_lm_h2-hint-1}
153
+
```{r rice_lm_h2-hint-1, warning=FALSE}
148
154
rice_lm <- lm(data = rice, ___ ~ ___)
149
155
# Résumé de la régression linéaire
150
156
summary(rice_lm) |>
@@ -155,7 +161,7 @@ chart(rice_lm)
155
161
#### ATTENTION: Hint suivant = solution !####
156
162
```
157
163
158
-
```{r rice_lm_h2-solution}
164
+
```{r rice_lm_h2-solution, warning=FALSE}
159
165
## Solution ##
160
166
rice_lm <- lm(data = rice, area ~ major_axis_length)
161
167
# Résumé de la régression linéaire
@@ -165,7 +171,7 @@ summary(rice_lm) |>
165
171
chart(rice_lm)
166
172
```
167
173
168
-
```{r rice_lm_h2-check}
174
+
```{r rice_lm_h2-check, warning=FALSE}
169
175
grade_code("Vous avez calculé votre objet `lm_rice`. Vous l'avez résumé et représenté graphiquement. Vous avez du matériel à examiner pour déterminer si cette régression tient la route. Avec un R^2 de 0.815, la régression est bonne, mais pouvez-vous repérer des éléments importants dans le tableau via le Quiz ci-dessous ?")
170
176
```
171
177
@@ -200,13 +206,13 @@ quiz(
200
206
)
201
207
```
202
208
203
-
####Paramétrisation du modèle
209
+
### Paramétrisation du modèle
204
210
205
211
Une fois que vous avez les estimateurs des différents paramètres de votre modèle, vous pouvez placer ces valeurs dans son équation. Cette étape importante se nomme la **paramétrisation** du modèle.
206
212
207
-
#####Comment faire en pratique ?
213
+
#### Comment faire en pratique ?
208
214
209
-
Dans la SciViews Box 2024, vous avez des outils pour vous y aider. La fonction `eq__()` extrait l'équation du modèle et son argument `use_coefs = TRUE` indique de remplacer les paramètres par les valeurs estimées. Ainsi, pour obtenir cette équation, vous pouvez écrire un chunk en ligne `` `r eq__(rice_lm, use_coefs = TRUE)` `` à l'intérieur de balises Markdown d'équation dite "display" (équation sur sa propre ligne, hors texte, par opposition à l'équation "inline", directement dans le texte). Cela s'écrit comme suit :
215
+
Avec SciViews-R, vous avez des outils pour vous y aider. La fonction `eq__()` extrait l'équation du modèle et son argument `use_coefs = TRUE` indique de remplacer les paramètres par les valeurs estimées. Ainsi, pour obtenir cette équation, vous pouvez écrire un chunk en ligne `` `r eq__(rice_lm, use_coefs = TRUE)` `` à l'intérieur de balises Markdown d'équation dite "display" (équation sur sa propre ligne, hors texte, par opposition à l'équation "inline", directement dans le texte). Cela s'écrit comme suit :
210
216
211
217
- à une nouvelle ligne, vous entrez deux dollars `$$`, c'est la balise Markdown d'entrée d'une équation "display"
212
218
- à la ligne suivante, vous écrivez le chunk en ligne `` `r eq__(...)` `` qui viendra placer le contenu de l'équation calculé par R lors du rendu du document
@@ -220,7 +226,7 @@ $$
220
226
221
227
**Astuce:** vous contrôlez le nombre de chiffres derrière la virgule pour chaque estimateur à l'aide de l'argument supplémentaire `coef_digits =` qui accepte un nombre entier (même nombre de chiffres derrière la virgule pour tous les estimateurs), ou un vecteur d'entiers pour varier la précision de chaque estimateur successif. Il est important de limiter les valeurs à un nombre de chiffres **significatifs** par rapport au calcul qui est réalisé. Ne jamais conserver un grand nombre de décimales inutiles dans les équations ! L'équation ci-dessus a été obtenue à l'aide de `` `r eq__(rice_lm, use_coefs = TRUE, coef_digits = c(0, 1))` ``.
222
228
223
-
#####Compréhension de la paramétrisation du modèle
229
+
#### Compréhension de la paramétrisation du modèle
224
230
225
231
Maintenant que les aspects techniques sont expliqués, concentrez-vous sur le contenu de cette dernière équation et sa signification.
0 commit comments