-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy patheucalyptus_notebook.qmd
More file actions
178 lines (129 loc) · 9.42 KB
/
eucalyptus_notebook.qmd
File metadata and controls
178 lines (129 loc) · 9.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
---
title: "Eucalyptus et corrélation"
author: '___'
date: "`r Sys.Date()`"
format:
html:
code-fold: true
code-tools: true
toc: true
editor: visual
lang: fr
editor_options:
chunk_output_type: inline
---
## Introduction et but
Les gardes forestiers ont plusieurs missions, dont la gestion des ressources naturelles. Ils vont sélectionner judicieusement les arbres à abattre dans les parcelles qu'ils administrent. Afin d'estimer le volume de bois $v$ attendu, ils se basent généralement sur la hauteur de l'arbre $h$ et son diamètre à la base (ou son rayon $r$). On peut simplifier le tronc d'un arbre à un cône qui va donc suivre la formule :
$$v = \frac{\pi r^2 h}{3}$$
Le volume ($v$ en $m^3$) est la multiplication de l'aire de la base ($\pi r^2$ en $m^2$) par la hauteur ($h$ en $m$), divisée par 3.
La mesure de la hauteur d'un arbre peut être déterminée grâce à un dendromètre. Cet outil mesure très précisément l'angle entre le sol et le sommet de l'arbre. Connaissant la distance à l'arbre au moment de la mesure, il est possible d'en déterminer la hauteur par application du théorème de Pythagore. Pour déterminer cet angle, il faut une vue dégagée sur la cime de l'arbre et assez de recul pour prendre une mesure précise. Il y a donc des situations où il n'est pas possible de déterminer la hauteur de l'arbre précisément.
Généralement, le diamètre (ou le rayon) de l'arbre à sa base n'est pas mesuré, mais bien sa circonférence $c$ à 1,50m du sol. Le rayon est facilement obtenu à partir de cette dernière mesure comme $r = c / 2\pi$ pour permettre ensuite d'utiliser la formule ci-dessus.
<!--# Nous anticipons un peu sur la partie modélisation du cours de science des données II ici. Nous y apprendrons, en effet, comment ajuster ce genre de modèle pour réaliser des prédictions. Il s'agit du second niveau d'association entre variables, mais nous nous bornerons à travailler sur la corrélation (premier niveau d'association). -->
Dans le calcul du volume de bois $v$, nous utiliserions donc deux variables *prédictives* $h$ et $c$. Par ailleurs, si les variables prédictives utilisées dans un modèle sont fortement corrélées entre elles, le modèle est *instable*. On parle de *multicolinéarité*.
Des gardes forestiers ont réalisé une série de mesures de hauteurs et de circonférences de plus de 1400 eucalyptus. Ils souhaitent savoir si la hauteur des arbres est corrélée à leur circonférence pour déterminer si la multicolinéarité risque de poser problème dans un modèle prédictif du volume de bois.
## Matériel et méthodes
Les données sont mises à disposition par des gardes forestiers avec lesquels nous collaborons. Ces données ne sont pas publiques.
L'analyse est réalisée avec le logiciel R (`r R.version.string`) et en particulier les packages {inferit} version `r packageVersion("inferit")` et {modelit} version `r packageVersion("modelit")` dans la [SciViews Box 2025](https://www.sciviews.org/software/svbox/). [Saturn Cloud](https://saturncloud.io/) (Linux Ubuntu 22.04) est utilisé pour exécuter le code et compiler la version HTML de ce bloc-notes.
Le seuil $\alpha$ du test est fixé à l'avance à 5%.
```{r setup, include=FALSE}
# Ceci est nécessaire pour les tests SDD, ne pas utiliser dans un "vrai" projet
if (!"tools:tests" %in% search())
source(here::here("tests/tools_tests.R"), attach(NULL, name = "tools:tests"))
# Configure Knitr pour utiliser AGG comme périphérique graphique
knitr::opts_chunk$set(dev = "ragg_png")
# Configuration de l'environnement SciViews::R
SciViews::R("infer", lang = "fr")
```
<!--% Spécifier si vous avez employé l'intelligence artificielle dans votre projet. -->
```{r ai_comment, output='asis'}
select_answer(r"-{
[] - Ce document a été rédigé en étant assisté par l'Intelligence Artificielle.
[] - Ce document a été rédigé sans recours à l'Intelligence Artificielle.}-")
```
<!-- Précisez ci-dessous l'utilisation que vous avez faite de l'IA. Citez le modèle utilisé. -->
## Résultats
### Analyse descriptive
<!--% Importez le jeu de données `eucalyptus` qui se trouve dans le fichier eucalyptus.csv dans le dossier data. Utilisez ensuite la fonction `skim()` du package {skimr} pour décrire vos données. -->
```{r import, record='RODFS', object='eucalyptus'}
eucalyptus <- ___(___)
___(eucalyptus)
```
```{r desccomment, output='asis'}
select_answer(r"-{
[] - Ce jeu de données ne contient aucune valeur manquante.
[] - Une valeur est manquante dans ce jeu de données.
[] - Plusieurs valeurs sont manquantes dans ce jeu de données.
[] - Ce tableau inclut uniquement des variables numériques.
[] - Ce tableau comporte uniquement des variables qualitatives.
[] - Ce tableau contient des variables qualitatives et des variables quantitatives.}-")
```
<!--% Ajoutez des labels et des unités aux variables `ht` et `circ`uniquement. La variable `ht` sera labellisée "Hauteur" en m. La variable `circ` sera labellisée "Circonférence à 1,5m" en cm. Vous enregistrerez le jeu de données labellisé sous le nom `eucalyptus`. -->
```{r labelise, record='RODFS', object='eucalyptus'}
eucalyptus <- labelise(___,
label = list(___ = ___, ___ = ___),
units = list(___ = ___, ___ = ___)
)
```
<!--% Réalisez un graphique adéquat pour représenter la hauteur des arbres en fonction de la circonférence. -->
```{r plot, record='RNCS'}
___(data = ___, ___) +
___
```
```{r plotcomment, output='asis'}
select_answer(r"-{
[] - Le nuage de points s'étire en oblique de manière parfaitement linéaire.
[] - Le nuage de points s'étire en oblique de façon à peu près linéaire.
[] - Le nuage de points s'étire en oblique de manière non linéaire.
[] - Le nuage de points s'étire presque parallèlement à l'axe des abscisses.
[] - Le nuage de points s'étire presque parallèlement à l'axe des ordonnées.
[] - La population est homogène.
[] - Des sous-groupes sont visibles sur le graphique.
[] - Aucune valeur extrême ne se détache du nuage de points.
[] - Une valeur extrême se détache du nuage de points.
[] - Plusieurs valeurs extrêmes se détachent du nuage de points.}-")
```
### Corrélation entre hauteur et circonférence
La corrélation de Pearson entre hauteur et circonférence vaut :
<!--% Calculez la corrélation linéaire de Pearson entre la hauteur et la circonférence des arbres en utilisant la fonction `cor()`. -->
```{r corrp, record='RN'}
___(___)
```
Le coefficient de corrélation de Spearman entre les mêmes variables est :
<!--% Calculez la corrélation non linéaire de Spearman entre la hauteur et la circonférence des arbres en utilisant la fonction `cor()` pour comparaison. -->
```{r corrs, record='RN'}
___(___)
```
```{r corrcomment, output='asis'}
select_answer(r"-{
[] - Les deux coefficients de corrélation sont proches l'un de l'autre, signe que le nuage de points est pratiquement linéaire.
[] - Les deux coefficients de corrélation sont proches l'un de l'autre, la corrélation est donc significative.
[] - Les deux coefficients de corrélation sont très différents l'un de l'autre. Il y a non-linéarité.
[] - Les coefficients de corrélation sont pratiquement nuls.
[] - Les coefficients de corrélation sont faibles.
[] - Les coefficients de corrélation sont moyens.
[] - Les coefficients de corrélation sont élevés.
[] - Les coefficients de corrélation sont très élevés}-")
```
Cette corrélation est-elle significative ?
<!-- TODO : attention, il faut reviser les tests d'hytpothèse. L'alternative est à changer. -->
<!--% Effectuez un test d'hypothèse pour déterminer si la corrélation selon Pearson est significative au seuil alpha de 5%. -->
```{r corrtest, record='RNP', arg='data.name,method,alternative,estimate'}
___(data = ___, ___, alternative = ___)
```
<!-- Interprétez ce test d'hypothèse. -->
```{r corrtestcomment, output='asis'}
select_answer(r"-{
[] - La corrélation entre la hauteur et la circonférence n'est pas significative au seuil $\alpha$ de 5%. Les deux variables sont considérées comme non corrélées. La multicolinéarité n'est pas un problème ici
[] - La corrélation entre la hauteur et la circonférence est significative au seuil $\alpha$ de 5%. Cependant, le coefficient de corrélation est moyen, et la multicolinéarité n'est pas un problème ici.
[] - La corrélation entre la hauteur et la circonférence est significative au seuil $\alpha$ de 5%. Étant donné la valeur du coefficient de corrélation, nous devons nous méfier de la multicolinéarité dans le modèle.}-")
```
## Discussion et conclusions
<!--% Discutez des résultats obtenus au regard du but de l'étude.-->
```{r discucomment, output='asis'}
select_answer(r"-{
[] - La corrélation significative élevée entre hauteur et circonférence implique un risque de multicolinéarité si les deux variables sont utilisées ensemble dans un modèle prédictif du volume de bois.
[] - Il serait préférable de n'utiliser qu'une seule des deux variables (hauteur ou circonférence) comme prédicteur du volume de bois pour éviter l'instabilité du modèle.
[] - La corrélation non significative entre les variables permet d'utiliser les deux prédicteurs sans risque.
[] - Les coefficients de corrélation de Pearson et Spearman très différents indiquent une relation non linéaire entre les variables.
[] - Le test de corrélation non significatif confirme que la multicolinéarité n'est pas un problème pour ce jeu de données.}-")
```