LA REGRESSION LINEAIRE

Léa Lê Dinh & Camille Prince ESIEE Paris 2022-2023 E4 Bio

REGRESSION LINEAIRE MULTIPLE


Introduction

La régression linéaire simple est une approche statistique qui permet d’évaluer une relation linéaire entre deux variables quantitatives.

Ici, nous n’allons pas utiliser la régression linéaire simple mais la régression linéaire multiple, qui permet d’identifier des relations entre une variable et plusieurs variables explicatives.

Nous disposons d’un document excel appelé FAT, ainsi qu’une variable que nous souhaitons estimer qui s’appelle brozek et qui correspond au pourcentage de graisse corporelle en utilisant l’équation de Brozek, 457 / Densité - 414,2. Le jeu de données contient des mesures physiques uniquement réalisées sur des hommes.

Sommaire :

  • Statistiques descriptives
  • Distributions des variables (étude des corrélations entre les variables prédictives)
  • Création du modèle de régression linéaire multiple
  • Validation du modèle
  • VIF et étude de la multicolinéarité

I. Statistiques descriptives

Nous commençons par importer notre Dataframe FAT.xlsx et appeler les librairies dont nous aurons besoin par la suite : ISwR, kableExtra, lmtest, GGaly, corrplot, car, readxl.

## Le chargement a nécessité le package : zoo
## 
## Attachement du package : 'zoo'
## Les objets suivants sont masqués depuis 'package:base':
## 
##     as.Date, as.Date.numeric
## Le chargement a nécessité le package : ggplot2
## Registered S3 method overwritten by 'GGally':
##   method from   
##   +.gg   ggplot2
## corrplot 0.92 loaded
## Le chargement a nécessité le package : carData
my_data <- read_excel("C:/Users/Valdenaire/OneDrive/Documents/Perso/Léa RStudio trop rigolo/FAT.xlsx")

Le document excel importé est contenu dans le Dataframe my_data.

Récupérons les noms de colonnes de my_data :

colnames(my_data)
##  [1] "brozek"  "siri"    "density" "age"     "weight"  "height"  "adipos" 
##  [8] "free"    "neck"    "chest"   "abdom"   "hip"     "thigh"   "knee"   
## [15] "ankle"   "biceps"  "forearm" "wrist"

Et ceux des lignes :

rownames(my_data)
##   [1] "1"   "2"   "3"   "4"   "5"   "6"   "7"   "8"   "9"   "10"  "11"  "12" 
##  [13] "13"  "14"  "15"  "16"  "17"  "18"  "19"  "20"  "21"  "22"  "23"  "24" 
##  [25] "25"  "26"  "27"  "28"  "29"  "30"  "31"  "32"  "33"  "34"  "35"  "36" 
##  [37] "37"  "38"  "39"  "40"  "41"  "42"  "43"  "44"  "45"  "46"  "47"  "48" 
##  [49] "49"  "50"  "51"  "52"  "53"  "54"  "55"  "56"  "57"  "58"  "59"  "60" 
##  [61] "61"  "62"  "63"  "64"  "65"  "66"  "67"  "68"  "69"  "70"  "71"  "72" 
##  [73] "73"  "74"  "75"  "76"  "77"  "78"  "79"  "80"  "81"  "82"  "83"  "84" 
##  [85] "85"  "86"  "87"  "88"  "89"  "90"  "91"  "92"  "93"  "94"  "95"  "96" 
##  [97] "97"  "98"  "99"  "100" "101" "102" "103" "104" "105" "106" "107" "108"
## [109] "109" "110" "111" "112" "113" "114" "115" "116" "117" "118" "119" "120"
## [121] "121" "122" "123" "124" "125" "126" "127" "128" "129" "130" "131" "132"
## [133] "133" "134" "135" "136" "137" "138" "139" "140" "141" "142" "143" "144"
## [145] "145" "146" "147" "148" "149" "150" "151" "152" "153" "154" "155" "156"
## [157] "157" "158" "159" "160" "161" "162" "163" "164" "165" "166" "167" "168"
## [169] "169" "170" "171" "172" "173" "174" "175" "176" "177" "178" "179" "180"
## [181] "181" "182" "183" "184" "185" "186" "187" "188" "189" "190" "191" "192"
## [193] "193" "194" "195" "196" "197" "198" "199" "200" "201" "202" "203" "204"
## [205] "205" "206" "207" "208" "209" "210" "211" "212" "213" "214" "215" "216"
## [217] "217" "218" "219" "220" "221" "222" "223" "224" "225" "226" "227" "228"
## [229] "229" "230" "231" "232" "233" "234" "235" "236" "237" "238" "239" "240"
## [241] "241" "242" "243" "244" "245" "246" "247" "248" "249" "250" "251" "252"

Chaque patient représente une ligne de données ; un patient correspond donc à un nombre entre 1 et 252.

brozek siri density age weight height adipos free neck chest abdom hip thigh knee ankle biceps forearm wrist
12.6 12.3 1.071 23 154.25 67.75 23.7 134.9 36.2 93.1 85.2 94.5 59.0 37.3 21.9 32.0 27.4 17.1
6.9 6.1 1.085 22 173.25 72.25 23.4 161.3 38.5 93.6 83.0 98.7 58.7 37.3 23.4 30.5 28.9 18.2
24.6 25.3 1.041 22 154.00 66.25 24.7 116.0 34.0 95.8 87.9 99.2 59.6 38.9 24.0 28.8 25.2 16.6
10.9 10.4 1.075 26 184.75 72.25 24.9 164.7 37.4 101.8 86.4 101.2 60.1 37.3 22.8 32.4 29.4 18.2
27.8 28.7 1.034 24 184.25 71.25 25.6 133.1 34.4 97.3 100.0 101.9 63.2 42.2 24.0 32.2 27.7 17.7
20.6 20.9 1.050 24 210.25 74.75 26.5 167.0 39.0 104.5 94.4 107.8 66.0 42.0 25.6 35.7 30.6 18.8
19.0 19.2 1.055 26 181.00 69.75 26.2 146.6 36.4 105.1 90.7 100.3 58.4 38.3 22.9 31.9 27.8 17.7
12.8 12.4 1.070 25 176.00 72.50 23.6 153.6 37.8 99.6 88.5 97.1 60.0 39.4 23.2 30.5 29.0 18.8
5.1 4.1 1.090 25 191.00 74.00 24.6 181.3 38.1 100.9 82.5 99.9 62.9 38.3 23.8 35.9 31.1 18.2
12.0 11.7 1.072 23 198.25 73.50 25.8 174.4 42.1 99.6 88.6 104.1 63.1 41.7 25.0 35.6 30.0 19.2
7.5 7.1 1.083 26 186.25 74.50 23.6 172.3 38.5 101.5 83.6 98.2 59.7 39.7 25.2 32.8 29.4 18.5
8.5 7.8 1.081 27 216.00 76.00 26.3 197.7 39.4 103.6 90.9 107.7 66.2 39.2 25.9 37.2 30.2 19.0
20.5 20.8 1.051 32 180.50 69.50 26.3 143.5 38.4 102.0 91.6 103.9 63.4 38.3 21.5 32.5 28.6 17.7
20.8 21.2 1.050 30 205.25 71.25 28.5 162.5 39.4 104.1 101.8 108.6 66.0 41.5 23.7 36.9 31.6 18.8
21.7 22.1 1.048 35 187.75 69.50 27.4 147.0 40.5 101.3 96.4 100.1 69.0 39.0 23.1 36.1 30.5 18.2
20.5 20.9 1.051 35 162.75 66.00 26.3 129.3 36.4 99.1 92.8 99.2 63.1 38.7 21.7 31.1 26.4 16.9
28.1 29.0 1.033 34 195.75 71.00 27.3 140.8 38.9 101.9 96.4 105.2 64.8 40.8 23.1 36.2 30.8 17.3
22.4 22.9 1.047 32 209.25 71.00 29.2 162.5 42.1 107.6 97.5 107.0 66.9 40.0 24.4 38.2 31.6 19.3
16.1 16.0 1.062 28 183.75 67.75 28.2 154.3 38.0 106.8 89.6 102.4 64.2 38.7 22.9 37.2 30.5 18.5
16.5 16.5 1.061 33 211.75 73.50 27.6 176.8 40.0 106.2 100.5 109.0 65.8 40.6 24.0 37.1 30.1 18.2
19.0 19.1 1.055 28 179.00 68.00 27.3 145.1 39.1 103.3 95.9 104.9 63.5 38.0 22.1 32.5 30.3 18.4
15.3 15.2 1.064 28 200.50 69.75 29.1 169.8 41.3 111.4 98.8 104.8 63.4 40.6 24.6 33.0 32.8 19.9
15.7 15.6 1.063 31 140.25 68.25 21.2 118.2 33.9 86.0 76.4 94.6 57.4 35.3 22.2 27.9 25.9 16.7
17.6 17.7 1.058 32 148.75 70.00 21.4 122.6 35.5 86.7 80.0 93.4 54.9 36.2 22.1 29.8 26.7 17.1
14.2 14.0 1.067 28 151.25 67.75 23.2 129.8 34.5 90.2 76.3 95.8 58.4 35.5 22.9 31.1 28.0 17.6
4.6 3.7 1.091 27 159.25 71.50 21.9 151.9 35.7 89.6 79.7 96.5 55.0 36.7 22.5 29.9 28.2 17.7
8.5 7.9 1.081 34 131.50 67.50 20.3 120.3 36.2 88.6 74.6 85.3 51.7 34.7 21.4 28.7 27.0 16.5
22.4 22.9 1.047 31 148.00 67.50 22.9 114.9 38.8 97.4 88.7 94.7 57.5 36.0 21.0 29.2 26.6 17.0
4.7 3.7 1.091 27 133.25 64.75 22.4 127.0 36.4 93.5 73.9 88.5 50.1 34.5 21.3 30.5 27.9 17.2
9.4 8.8 1.079 29 160.75 69.00 23.8 145.7 36.7 97.4 83.5 98.7 58.9 35.3 22.6 30.1 26.7 17.6
12.3 11.9 1.072 32 182.00 73.75 23.6 159.7 38.7 100.5 88.7 99.8 57.5 38.7 33.9 32.5 27.7 18.4
6.5 5.7 1.086 29 160.25 71.25 22.2 149.8 37.3 93.5 84.5 100.6 58.5 38.8 21.5 30.1 26.4 17.9
13.4 11.8 1.072 27 168.00 71.25 23.3 142.5 38.1 93.0 79.1 94.5 57.3 36.2 24.5 29.0 30.0 18.8
20.9 21.3 1.050 41 218.50 71.00 30.5 172.7 39.8 111.7 100.5 108.3 67.1 44.2 25.2 37.5 31.5 18.7
31.1 32.3 1.026 41 247.25 73.50 32.2 170.4 42.1 117.0 115.6 116.1 71.2 43.3 26.3 37.3 31.7 19.7
38.2 40.1 1.010 49 191.75 65.00 32.0 118.4 38.4 118.5 113.1 113.8 61.9 38.3 21.9 32.0 29.8 17.0
23.6 24.2 1.044 40 202.25 70.00 29.1 154.5 38.5 106.5 100.9 106.2 63.5 39.9 22.6 35.1 30.6 19.0
27.5 28.4 1.035 50 196.75 68.25 29.7 142.6 42.1 105.6 98.8 104.8 66.0 41.5 24.7 33.2 30.5 19.4
33.8 35.2 1.020 46 363.15 72.25 48.9 240.5 51.2 136.2 148.1 147.7 87.3 49.1 29.6 45.0 29.0 21.4
31.3 32.6 1.026 50 203.00 67.00 31.8 139.4 40.2 114.8 108.1 102.5 61.3 41.1 24.7 34.1 31.0 18.3
33.1 34.5 1.022 45 262.75 68.75 39.1 175.8 43.2 128.3 126.2 125.6 72.5 39.6 26.6 36.4 32.7 21.4
31.7 32.9 1.025 44 205.00 29.50 29.9 140.1 36.6 106.0 104.3 115.5 70.6 42.5 23.7 33.6 28.7 17.4
30.4 31.6 1.028 48 217.00 70.00 31.2 151.1 37.3 113.3 111.2 114.1 67.7 40.9 25.0 36.7 29.8 18.4
30.8 32.0 1.027 41 212.00 71.50 29.2 146.7 41.5 106.6 104.3 106.0 65.0 40.2 23.0 35.8 31.5 18.8
8.4 7.7 1.081 39 125.25 68.00 19.1 114.7 31.5 85.1 76.0 88.2 50.0 34.7 21.0 26.1 23.1 16.1
14.1 13.9 1.067 43 164.25 73.25 21.3 141.1 35.7 96.6 81.5 97.2 58.4 38.2 23.4 29.7 27.4 18.3
11.2 10.8 1.074 40 133.50 67.50 20.6 118.5 33.6 88.2 73.7 88.5 53.3 34.5 22.5 27.9 26.2 17.3
6.4 5.6 1.066 39 148.50 71.25 20.6 139.0 34.6 89.8 79.5 92.7 52.7 37.5 21.9 28.8 26.8 17.9
13.4 13.6 1.068 45 135.75 68.50 20.4 117.6 32.8 92.3 83.4 90.4 52.0 35.8 20.6 28.8 25.5 16.3
5.0 4.0 1.090 47 127.50 66.75 20.2 121.2 34.0 83.4 70.4 87.2 50.6 34.4 21.9 26.8 25.8 16.8
10.7 10.2 1.076 47 158.25 72.25 21.3 141.4 34.9 90.2 86.7 98.3 52.6 37.2 22.4 26.0 25.8 17.3
7.4 6.6 1.084 40 139.25 69.00 20.6 129.0 34.3 89.2 77.9 91.0 51.4 34.9 21.0 26.7 26.1 17.2
8.7 8.0 1.081 51 137.25 67.75 21.1 125.3 36.5 89.7 82.0 89.1 49.3 33.7 21.4 29.6 26.0 16.9
7.1 6.3 1.085 49 152.75 73.50 19.9 142.0 35.1 93.3 79.6 91.6 52.6 37.6 22.6 38.5 27.4 18.5
4.9 3.9 1.091 42 136.25 67.50 21.1 129.6 37.8 87.6 77.6 88.6 51.9 34.9 22.5 27.7 27.5 18.5
22.2 22.6 1.047 54 198.00 72.00 26.9 154.1 39.9 107.6 100.0 99.6 57.2 38.0 22.0 35.9 30.2 18.9
20.1 20.4 1.052 58 181.50 68.00 27.6 145.1 39.1 100.0 99.8 102.5 62.1 39.6 22.5 33.1 28.3 18.5
27.1 28.0 1.036 62 201.25 69.50 29.3 146.7 40.5 111.5 104.2 105.8 61.8 39.8 22.7 37.7 30.9 19.2
30.4 31.5 1.028 54 202.50 70.75 28.4 141.0 40.5 115.4 105.3 97.0 59.1 38.0 22.5 31.6 28.8 18.2
24.0 24.6 1.043 61 179.75 65.75 29.2 136.7 38.4 104.8 98.3 99.6 60.6 37.7 22.9 34.5 29.6 18.5
25.4 26.1 1.040 62 216.00 73.25 28.2 161.2 41.4 112.3 104.8 103.1 61.6 40.9 23.1 36.2 31.8 20.2
28.8 29.8 1.032 56 178.75 68.50 26.8 127.4 35.6 102.9 94.7 100.8 60.9 38.0 22.1 32.5 29.8 18.3
29.6 30.7 1.030 54 193.25 70.25 27.6 136.1 38.0 107.6 102.4 99.4 61.0 39.4 23.6 32.7 29.9 19.1
25.1 25.8 1.040 61 178.00 67.00 27.9 133.3 37.4 105.3 99.7 99.7 60.8 40.1 22.7 33.6 29.0 18.8
31.0 32.3 1.026 57 205.50 70.00 29.5 141.7 40.1 105.3 105.5 108.3 65.0 41.2 24.7 35.3 31.1 18.4
28.9 30.0 1.031 55 183.50 67.50 28.3 130.4 40.9 103.0 100.3 104.2 64.8 40.2 22.7 34.8 30.1 18.7
21.1 21.5 1.050 54 151.50 70.75 21.3 119.6 35.6 90.0 83.9 93.9 55.0 36.1 21.7 29.6 27.4 17.4
14.0 13.8 1.067 55 154.75 71.50 21.3 133.1 36.9 95.4 86.6 91.8 54.3 35.4 21.5 32.8 27.4 18.7
7.1 6.3 1.085 54 155.25 69.25 22.8 144.2 37.5 89.3 78.4 96.1 56.0 37.4 22.4 32.6 28.1 18.1
13.2 12.9 1.069 55 156.75 71.50 21.6 136.1 36.3 94.4 84.6 94.3 51.2 37.4 21.6 27.3 27.1 17.3
23.7 24.3 1.044 62 167.50 71.50 23.1 127.8 35.5 97.6 91.5 98.5 56.6 38.6 22.4 31.5 27.3 18.6
9.4 8.8 1.079 55 146.75 68.75 21.9 132.9 38.7 88.5 82.8 95.5 58.9 37.6 21.6 30.3 27.3 18.3
9.1 8.5 1.080 56 160.75 73.75 20.8 146.1 36.4 93.6 82.9 96.3 52.9 37.5 23.1 29.7 27.3 18.2
13.7 13.5 1.068 55 125.00 64.00 21.5 107.9 33.2 87.7 76.0 88.6 50.9 35.4 19.1 29.3 25.7 16.9
12.0 11.8 1.072 61 143.00 65.75 23.3 125.9 36.5 93.4 83.3 93.0 55.5 35.2 20.9 29.4 27.0 16.8
18.3 18.5 1.067 61 148.25 67.50 22.9 121.1 36.0 91.6 81.8 94.8 54.5 37.0 21.4 29.3 27.0 18.3
9.2 8.8 1.079 57 162.50 69.50 23.7 147.5 38.7 91.6 78.8 94.3 56.7 39.7 24.2 30.2 29.2 18.1
21.7 22.2 1.048 69 177.75 68.50 26.7 139.1 38.7 102.0 95.0 98.3 55.0 38.3 21.8 30.8 25.7 18.8
21.1 21.5 1.050 81 161.25 70.25 23.0 127.2 37.8 96.4 95.4 99.3 53.5 37.5 21.5 31.4 26.8 18.3
18.6 18.8 1.056 66 171.25 69.25 25.1 139.5 37.4 102.7 98.6 100.2 56.5 39.3 22.7 30.3 28.7 19.0
30.2 31.4 1.028 67 163.75 67.75 25.1 114.3 38.4 97.7 95.8 97.1 54.8 38.2 23.7 29.4 27.2 19.0
26.0 26.8 1.038 64 150.25 67.25 23.4 111.2 38.1 97.1 89.0 96.9 54.8 38.0 22.0 29.9 25.2 17.7
18.2 18.4 1.057 64 190.25 72.75 25.3 155.6 39.3 103.1 97.8 99.6 58.9 39.0 23.0 34.3 29.6 19.0
26.2 27.0 1.038 70 170.75 70.00 24.5 126.0 38.7 101.8 94.9 95.0 56.0 36.5 24.1 31.2 27.3 19.2
26.1 27.0 1.038 72 168.00 69.25 24.7 124.1 38.5 101.4 99.8 96.2 56.3 36.6 22.0 29.7 26.3 18.0
25.8 26.6 1.039 67 167.00 67.50 26.0 123.9 36.5 98.9 89.7 96.2 54.7 37.8 33.7 32.4 27.7 18.2
15.0 14.9 1.065 72 157.75 67.25 24.6 134.1 37.7 97.5 88.1 96.9 57.2 37.7 21.8 32.6 28.0 18.8
22.6 23.1 1.046 64 160.00 65.75 26.0 123.8 36.5 104.3 90.9 93.8 57.8 39.5 23.3 29.2 28.4 18.1
8.8 8.3 1.080 46 176.75 72.50 23.7 161.1 38.0 97.3 86.0 99.3 61.0 38.4 23.8 30.2 29.3 18.8
14.3 14.1 1.067 48 176.00 73.00 23.3 150.9 36.7 96.7 86.5 98.3 60.4 39.9 24.4 28.8 29.6 18.7
20.2 20.5 1.052 46 177.00 70.00 25.4 141.3 37.2 99.7 95.6 102.2 58.3 38.2 22.5 29.1 27.7 17.7
18.1 18.2 1.057 44 179.75 69.50 26.2 147.3 39.2 101.9 93.2 100.6 58.9 39.7 23.1 31.4 28.4 18.8
9.2 8.5 1.079 47 165.25 70.50 23.4 150.1 37.5 97.2 83.1 95.4 56.9 38.3 22.1 30.1 28.2 18.4
24.2 24.9 1.042 46 192.50 71.75 26.3 145.9 38.0 106.6 97.5 100.6 58.9 40.5 24.5 33.3 29.6 19.1
9.6 9.0 1.078 47 184.25 74.50 23.4 166.6 37.3 99.6 88.8 101.4 57.4 39.6 24.6 30.3 27.9 17.8
17.3 17.4 1.099 53 224.50 77.75 26.1 185.7 41.1 113.2 99.2 107.5 61.7 42.3 23.2 32.9 30.8 20.4
10.1 9.6 1.077 38 188.75 73.25 24.8 169.6 37.5 99.1 91.6 102.4 60.6 39.4 22.9 31.6 30.1 18.5
11.1 11.3 1.073 50 162.50 66.50 25.9 143.5 38.7 99.4 86.7 96.2 62.1 39.3 23.3 30.6 27.8 18.2
17.7 17.8 1.058 46 156.50 68.25 23.7 128.8 35.9 95.1 88.2 92.8 54.7 37.3 21.9 31.6 27.5 18.2
21.7 22.2 1.048 47 197.00 72.00 26.7 154.2 40.0 107.5 94.0 103.7 62.7 39.0 22.3 35.3 30.9 18.3
20.8 21.2 1.051 49 198.50 73.50 25.9 157.2 40.1 106.5 95.0 101.7 59.0 39.4 22.3 32.2 31.0 18.6
20.1 20.4 1.052 48 173.75 72.00 23.6 138.9 37.0 99.1 92.0 98.3 59.3 38.4 22.4 27.9 26.2 17.0
19.8 20.1 1.053 41 172.75 71.25 24.0 138.6 36.3 96.7 89.2 98.3 60.0 38.4 23.2 31.0 29.2 18.4
21.9 22.3 1.048 49 196.75 73.75 25.5 153.7 40.7 103.5 95.5 101.6 59.1 39.8 25.4 31.0 30.3 19.7
24.7 25.4 1.041 43 177.00 69.25 26.0 133.2 39.6 104.0 98.6 99.5 59.5 36.1 22.0 30.1 27.2 17.7
17.8 18.0 1.058 43 165.50 68.50 24.8 136.0 31.1 93.1 87.3 96.6 54.7 39.0 24.8 31.0 29.4 18.8
19.1 19.3 1.055 43 200.25 73.50 26.0 162.0 38.6 105.2 102.8 103.6 61.2 39.3 23.5 30.5 28.5 18.1
18.2 18.3 1.057 52 203.25 74.25 26.0 166.3 42.0 110.0 101.6 100.7 55.8 38.7 23.4 35.1 29.6 19.1
17.2 17.3 1.059 43 194.00 75.50 24.0 160.6 38.5 110.1 88.7 102.1 57.5 40.0 24.8 35.1 30.7 19.2
21.0 21.4 1.050 40 168.50 69.25 24.7 133.1 34.2 97.8 92.3 100.6 57.5 36.8 22.8 32.1 26.0 17.3
19.5 19.7 1.054 43 170.75 68.50 25.6 137.5 37.2 96.3 90.6 99.3 61.9 38.0 22.3 33.3 28.2 18.1
27.1 28.0 1.036 43 183.25 70.00 26.3 133.5 37.1 108.0 105.0 103.0 63.7 40.0 23.6 33.5 27.8 17.4
21.6 22.1 1.049 47 178.25 70.00 25.6 139.7 40.2 99.7 95.0 98.6 62.3 38.1 23.9 35.3 31.1 19.8
20.9 21.3 1.050 42 163.00 70.25 23.3 128.9 35.3 93.5 89.6 99.8 61.5 37.8 21.9 30.7 27.6 17.4
25.9 26.7 1.038 48 175.25 71.75 24.0 129.9 38.0 100.7 92.4 97.5 59.3 38.1 21.8 31.8 27.3 17.5
16.7 16.7 1.061 40 158.00 69.25 23.4 131.7 36.3 97.0 86.6 92.6 55.9 36.3 22.1 29.8 26.3 17.3
19.8 20.1 1.053 48 177.25 72.75 23.6 142.1 36.8 96.0 90.0 99.7 58.8 38.4 22.8 29.9 28.0 18.1
14.1 13.9 1.067 51 179.00 72.00 24.3 153.8 41.0 99.2 90.0 96.4 56.8 38.8 23.3 33.4 29.8 19.5
25.1 25.8 1.040 40 191.00 74.00 24.6 143.1 38.3 95.4 92.4 104.3 64.6 41.1 24.8 33.6 29.5 18.5
17.9 18.1 1.058 44 187.50 72.25 25.3 153.8 38.0 101.8 87.5 101.0 58.5 39.2 24.5 32.1 28.6 18.0
27.0 27.9 1.036 52 206.50 74.50 26.2 150.7 40.8 104.3 99.2 104.1 58.5 39.3 24.6 33.9 31.2 19.5
24.6 25.3 1.041 44 185.25 71.50 25.5 139.6 39.5 99.2 98.1 101.4 57.1 40.5 23.2 33.0 29.6 18.4
14.8 14.7 1.065 40 160.25 68.75 23.9 136.5 36.9 99.3 83.3 97.5 60.5 38.7 22.6 34.4 28.0 17.6
16.0 16.0 1.062 47 151.50 66.75 23.9 127.3 36.9 94.0 86.1 95.2 58.1 36.5 22.1 30.6 27.5 17.6
14.0 13.8 1.067 50 161.00 66.50 25.6 138.5 37.7 98.9 84.1 94.0 58.5 36.6 23.5 34.4 29.2 18.0
17.4 17.5 1.059 46 167.00 67.00 26.2 137.9 36.6 101.0 89.9 100.0 60.7 36.0 21.9 35.6 30.2 17.6
26.4 27.2 1.037 42 177.50 68.75 26.4 130.7 38.9 98.7 92.1 98.5 60.7 36.8 22.2 33.8 30.3 17.2
17.4 17.4 1.059 43 152.25 67.75 23.4 125.8 37.5 95.9 78.0 93.2 53.5 35.8 20.8 33.9 28.2 17.4
20.4 20.8 1.052 40 192.25 73.25 25.2 153.0 39.8 103.9 93.5 99.5 61.7 39.0 21.8 33.3 29.6 18.1
15.0 14.9 1.065 42 165.25 69.75 23.9 140.5 38.3 96.2 87.0 97.8 57.4 36.9 22.2 31.6 27.8 17.7
18.0 18.1 1.058 49 171.75 71.50 23.7 140.9 35.5 97.8 90.1 95.8 57.0 38.7 23.2 27.5 26.5 17.6
22.2 22.7 1.047 40 171.25 70.50 24.3 133.3 36.3 94.6 90.3 99.1 60.3 38.5 23.0 31.2 28.4 17.1
23.1 23.6 1.045 47 197.00 73.25 25.8 151.2 37.8 103.6 99.8 103.2 61.2 38.1 22.6 33.5 28.6 17.9
25.3 26.1 1.040 50 157.00 66.75 24.8 117.2 37.8 100.4 89.4 92.3 56.1 35.6 20.5 33.6 29.3 17.3
23.8 24.4 1.044 41 168.25 69.50 24.5 128.3 36.5 98.4 87.2 98.4 56.0 36.9 23.0 34.0 29.8 18.1
26.3 27.1 1.037 44 186.00 69.75 26.8 137.1 37.8 104.6 101.1 102.1 58.9 37.9 22.7 30.9 28.8 17.6
21.4 21.8 1.049 39 166.75 70.75 23.5 131.0 37.0 92.9 86.1 95.6 58.8 36.1 22.4 32.7 28.3 17.1
28.4 29.4 1.032 43 187.75 74.00 24.1 134.4 37.7 97.8 98.6 100.6 63.6 39.2 23.8 34.3 28.4 17.7
21.8 22.4 1.048 40 168.25 71.25 23.3 131.6 34.3 98.3 88.5 98.3 58.1 38.4 22.5 31.7 27.4 17.6
20.1 20.4 1.052 49 212.75 75.00 26.6 169.9 40.8 104.7 106.6 107.7 66.5 42.5 24.5 35.5 29.8 18.7
24.3 24.9 1.042 40 176.75 71.00 24.6 133.8 37.4 98.6 93.1 101.6 59.1 39.6 21.6 30.8 27.9 16.6
18.1 18.3 1.057 40 173.25 69.50 25.3 141.8 36.5 99.5 93.0 99.3 60.4 38.2 22.0 32.0 28.5 17.8
22.7 23.3 1.046 52 167.00 67.75 25.6 129.0 37.5 102.7 91.0 98.9 57.1 36.7 22.3 31.6 27.5 17.9
9.9 9.4 1.077 23 159.75 72.25 21.6 143.9 35.5 92.1 77.1 93.9 56.1 36.1 22.7 30.5 27.2 18.2
10.8 10.3 1.075 23 188.15 77.50 22.1 168.4 38.0 96.6 85.3 102.5 59.1 37.6 23.2 31.8 29.7 18.3
14.4 14.2 1.066 24 156.00 70.75 21.9 133.6 35.7 92.7 81.9 95.3 56.4 36.5 22.0 33.5 28.3 17.3
19.0 19.2 1.055 24 208.50 72.75 27.7 168.9 39.2 102.0 99.1 110.1 71.2 43.5 25.2 36.1 30.3 18.7
28.6 29.6 1.032 25 206.50 69.75 29.8 147.5 40.9 110.9 100.5 106.2 68.4 40.8 24.6 33.3 29.7 18.4
6.1 5.3 1.087 25 143.75 72.50 19.3 135.0 35.2 92.3 76.5 92.1 51.9 35.7 22.0 25.8 25.2 16.9
24.5 25.2 1.042 26 223.00 70.25 31.8 168.3 40.6 114.1 106.8 113.9 67.6 42.7 24.7 36.0 30.4 18.4
9.9 9.4 1.078 26 152.25 69.00 22.5 137.2 35.4 92.9 77.6 93.5 56.9 35.9 20.4 31.6 29.0 17.8
19.1 19.6 1.054 26 241.75 74.50 30.7 195.1 41.8 108.3 102.9 114.4 72.9 43.5 25.1 38.5 33.8 19.6
10.6 10.1 1.076 27 146.00 72.25 19.7 130.5 34.1 88.5 72.8 91.1 53.6 36.8 23.8 27.8 26.3 17.4
16.5 16.5 1.061 27 156.75 67.25 24.4 130.9 37.9 94.0 88.2 95.2 56.8 37.4 22.8 30.6 28.3 17.9
20.5 21.0 1.051 27 200.25 73.50 26.1 159.3 38.2 101.1 100.1 105.0 62.1 40.0 24.9 33.7 29.2 19.4
17.2 17.3 1.059 28 171.50 75.25 21.6 142.0 35.6 92.1 83.5 98.3 57.3 37.8 21.7 32.2 27.7 17.7
30.1 31.2 1.029 28 205.75 69.00 30.4 143.9 38.5 105.6 105.0 106.4 68.6 40.0 25.2 35.2 30.7 19.1
10.5 10.0 1.076 28 182.50 72.25 24.6 163.4 37.0 98.5 90.8 102.5 60.8 38.5 25.0 31.6 28.0 18.6
12.8 12.5 1.070 30 136.50 68.75 20.3 119.1 35.9 88.7 76.6 89.8 50.1 34.8 21.8 27.0 34.9 16.9
22.0 22.5 1.048 31 177.25 71.50 24.4 138.3 36.2 101.1 92.4 99.3 59.4 39.0 24.6 30.1 28.2 18.2
9.9 9.4 1.077 31 151.25 72.25 20.4 136.2 35.0 94.0 81.2 91.5 52.5 36.6 21.0 27.0 26.3 16.5
14.8 14.6 1.065 33 196.00 73.00 25.9 167.0 38.5 103.8 95.6 105.1 61.4 40.6 25.0 31.3 29.2 19.1
13.3 13.0 1.069 33 184.25 68.75 24.4 159.8 40.7 98.9 92.1 103.5 64.0 37.3 23.5 33.5 30.6 19.7
15.2 15.1 1.064 34 140.00 70.50 19.8 118.8 36.0 89.2 83.4 89.6 52.4 35.6 20.4 28.3 26.2 16.5
26.5 27.3 1.037 34 218.75 72.00 29.7 160.8 39.5 111.4 106.0 108.8 63.8 42.0 23.4 34.0 31.2 18.5
19.0 19.2 1.055 35 217.00 73.75 28.1 175.8 40.5 107.5 95.1 104.5 64.8 41.3 25.6 36.4 33.7 19.4
21.4 21.8 1.049 35 166.25 68.00 25.3 130.7 38.5 99.1 90.4 95.6 55.5 34.2 21.9 30.2 28.7 17.7
20.0 20.3 1.052 35 224.75 72.25 30.3 179.7 43.9 108.2 100.4 106.8 63.3 41.7 24.6 37.2 33.1 19.8
34.7 34.3 1.018 35 228.25 69.50 33.3 149.3 40.4 114.9 115.9 111.9 74.4 40.6 24.0 36.1 31.8 18.8
16.5 16.5 1.061 35 172.75 69.50 25.2 144.2 37.6 99.1 90.8 98.1 60.1 39.1 23.4 32.5 29.8 17.4
4.1 3.0 1.093 35 152.25 67.75 23.4 146.1 37.0 92.2 81.9 92.8 54.7 36.2 22.1 30.4 27.4 17.7
1.9 0.7 1.098 35 125.75 65.50 20.6 123.4 34.0 90.8 75.0 89.2 50.0 34.8 22.0 24.8 25.9 16.9
20.2 20.5 1.052 35 177.25 71.00 24.8 141.7 38.4 100.5 90.3 98.7 57.8 37.3 22.4 31.0 28.7 17.7
16.8 16.9 1.060 36 176.25 71.50 24.3 146.6 38.7 98.2 90.3 99.9 59.2 37.7 21.5 32.4 28.4 17.8
24.6 25.3 1.041 36 226.75 71.75 31.0 170.9 41.5 115.3 108.8 114.4 69.2 42.4 24.0 35.4 21.0 20.1
10.4 9.9 1.076 37 145.25 69.25 21.3 130.2 36.0 96.8 79.4 89.2 50.3 34.8 22.2 31.0 26.9 16.9
13.4 13.1 1.069 37 151.00 67.00 23.7 130.8 35.3 92.6 83.2 96.4 60.0 38.1 22.0 31.5 26.6 16.7
28.8 29.9 1.032 37 241.25 71.50 33.2 171.7 42.1 119.2 110.3 113.9 69.8 42.6 24.8 34.4 29.5 18.4
22.0 22.5 1.048 38 187.25 69.25 27.5 146.1 38.0 102.7 92.7 101.9 64.7 39.5 24.7 34.8 30.3 18.1
16.8 16.9 1.060 39 234.75 74.50 29.8 195.3 42.8 109.5 104.5 109.9 69.5 43.1 25.8 39.1 32.5 19.9
25.8 26.6 1.039 39 219.25 74.25 28.0 162.7 40.0 108.5 104.6 109.8 68.1 42.8 24.1 35.6 29.0 19.0
0.0 0.0 1.109 40 118.50 68.00 18.1 118.5 33.8 79.3 69.4 85.0 47.2 33.5 20.2 27.7 24.6 16.5
11.9 11.5 1.072 40 145.75 67.25 22.7 128.4 35.5 95.5 83.6 91.6 54.1 36.2 21.8 31.4 28.3 17.2
12.4 12.1 1.071 40 159.25 69.75 23.0 139.5 35.3 92.3 86.8 96.1 58.0 39.4 22.7 30.0 26.4 17.4
17.4 17.5 1.059 40 170.50 74.25 21.8 140.8 37.7 98.9 90.4 95.5 55.4 38.9 22.4 30.5 28.9 17.7
9.2 8.6 1.079 40 167.50 71.50 23.1 152.1 39.4 89.5 83.7 98.1 57.3 39.7 22.6 32.9 29.3 18.2
23.0 23.6 1.045 41 232.75 74.25 29.7 179.2 41.9 117.5 109.3 108.8 67.7 41.3 24.7 37.2 31.8 20.0
20.1 20.4 1.052 41 210.50 72.00 28.6 168.3 38.5 107.4 98.9 104.1 63.5 39.8 23.5 36.4 30.4 19.1
20.2 20.5 1.052 41 202.25 72.50 27.0 161.4 40.8 109.2 98.0 101.8 62.8 41.3 24.8 36.6 32.4 18.8
23.8 24.4 1.043 41 185.00 68.25 28.0 141.0 38.0 103.4 101.2 103.1 61.5 40.4 22.9 33.4 29.2 18.5
11.8 11.4 1.073 41 153.00 69.25 22.5 135.0 36.4 91.4 80.6 92.3 54.3 36.3 21.8 29.6 27.3 17.9
36.5 38.1 1.014 42 244.25 76.00 29.8 155.2 41.8 115.2 113.7 112.4 68.5 45.0 25.5 37.1 31.2 19.9
16.0 15.9 1.062 42 193.50 70.50 27.4 162.6 40.7 104.9 94.1 102.7 60.6 38.6 24.7 34.0 30.1 18.7
24.0 24.7 1.043 42 224.75 74.75 28.3 170.8 38.5 106.7 105.7 111.8 65.3 43.3 26.0 33.7 29.9 18.5
22.3 22.8 1.047 42 162.75 72.75 21.6 126.5 35.4 92.2 85.6 96.5 60.2 38.9 22.4 31.7 27.1 17.1
24.8 25.5 1.041 42 180.00 68.25 27.2 135.4 38.5 101.6 96.6 100.6 61.1 38.4 24.1 32.9 29.8 18.8
21.5 22.0 1.049 42 156.25 69.00 23.1 122.6 35.5 97.8 86.0 96.2 57.7 38.6 24.0 31.2 27.3 17.4
17.6 17.7 1.058 42 168.00 71.50 23.1 138.4 36.5 92.0 89.7 101.0 62.3 38.0 22.3 30.8 27.8 16.9
7.3 6.6 1.084 42 167.25 72.75 22.3 155.1 37.6 94.0 78.0 99.0 57.5 40.0 22.5 30.6 30.0 18.5
22.6 23.6 1.046 43 170.75 67.50 26.4 132.1 37.4 103.7 89.7 94.2 58.5 39.0 24.1 33.8 28.8 18.8
12.5 12.2 1.071 43 178.25 70.25 25.4 155.9 37.8 102.7 89.2 99.2 60.2 39.2 23.8 31.7 28.4 18.6
21.7 22.1 1.048 43 150.00 69.25 22.0 117.5 35.2 91.1 85.7 96.9 55.5 35.7 22.0 29.4 26.6 17.4
27.7 28.7 1.034 43 200.50 71.50 27.6 144.9 37.9 107.2 103.1 105.5 68.8 38.3 23.7 32.1 28.9 18.7
6.8 6.0 1.085 44 184.00 74.00 23.7 171.4 37.9 100.8 89.1 102.6 60.6 39.0 24.0 32.9 29.2 18.4
33.4 34.8 1.021 44 223.00 69.75 32.3 148.5 40.9 121.6 113.9 107.1 63.5 40.3 21.8 34.8 30.7 17.4
16.6 16.6 1.061 44 208.75 73.00 27.6 174.2 41.9 105.6 96.3 102.0 63.3 39.8 24.1 37.3 23.1 19.4
31.7 32.9 1.025 44 166.00 65.50 27.2 113.5 39.1 100.6 93.9 100.1 58.9 37.6 21.4 33.1 29.5 17.3
31.5 32.8 1.025 47 195.00 72.50 26.1 133.6 40.2 102.7 101.3 101.7 60.7 39.4 23.3 36.7 31.6 18.4
10.1 9.6 1.077 47 160.50 70.25 22.9 144.3 36.0 99.8 83.9 91.8 53.0 36.2 22.5 31.4 27.5 17.7
11.3 10.8 1.074 47 159.75 70.75 22.5 141.8 34.5 92.9 84.4 94.0 56.0 38.2 22.6 29.0 26.2 17.6
7.8 7.1 1.083 49 140.50 68.00 21.4 129.5 35.8 91.2 79.4 89.0 51.1 35.0 21.7 30.9 28.8 17.4
26.4 27.2 1.037 49 216.25 74.50 27.4 159.3 40.2 115.6 104.0 109.0 63.7 40.3 23.2 36.8 31.0 18.9
19.3 19.5 1.054 49 168.25 71.75 23.0 135.9 38.3 98.3 89.7 99.1 56.3 38.8 23.0 29.5 27.9 18.6
18.5 18.7 1.056 50 194.75 70.75 27.4 158.7 39.0 103.7 97.6 104.2 60.0 40.9 25.5 32.7 30.0 19.0
19.3 19.5 1.054 50 172.75 73.00 22.8 139.4 37.4 98.7 87.6 96.1 57.1 38.1 21.8 28.6 26.7 18.0
45.1 47.5 0.995 51 219.00 64.00 37.6 120.2 41.2 119.8 122.1 112.8 62.5 36.9 23.6 34.7 29.1 18.4
13.8 13.6 1.068 51 149.25 69.75 21.6 128.7 34.8 92.8 81.1 96.3 53.8 36.5 21.5 31.3 26.3 17.8
8.2 7.5 1.082 51 154.50 70.00 22.2 141.9 36.9 93.3 81.5 94.4 54.7 39.0 22.6 27.5 25.9 18.6
23.9 24.5 1.043 52 199.25 71.75 27.2 151.7 39.4 106.8 100.0 105.0 63.9 39.2 22.9 35.7 30.4 19.2
15.1 15.0 1.065 53 154.50 69.25 22.7 131.2 37.6 93.9 88.7 94.5 53.7 36.2 22.0 28.5 25.7 17.1
12.7 12.4 1.071 54 153.25 70.50 24.5 151.3 38.5 99.0 91.8 96.2 57.7 38.1 23.9 31.4 29.9 18.9
25.3 26.0 1.040 54 230.00 72.25 31.0 171.9 42.5 119.9 110.4 105.5 64.2 42.7 27.0 38.4 32.0 19.6
11.9 11.5 1.073 54 161.75 67.50 25.0 142.6 37.4 94.2 87.6 95.6 59.7 40.2 23.4 27.9 27.0 17.8
6.1 5.2 1.087 55 142.25 67.25 22.2 133.6 35.2 92.7 82.8 91.9 54.4 35.2 22.5 29.4 26.8 17.0
11.3 10.9 1.074 55 179.75 68.75 26.8 159.5 41.1 106.9 95.3 98.2 57.4 37.1 21.8 34.1 31.1 19.2
12.8 12.5 1.070 55 126.50 66.75 20.0 110.3 33.4 88.8 78.2 87.5 50.8 33.0 19.7 25.3 22.0 15.8
14.9 14.8 1.065 55 169.50 68.25 25.6 144.2 37.2 101.7 91.1 97.1 56.6 38.5 22.6 33.4 29.3 18.8
24.5 25.2 1.042 55 198.50 74.25 25.3 149.9 38.3 105.3 96.7 106.6 64.0 42.6 23.4 33.2 30.0 18.4
15.0 14.9 1.065 56 174.50 69.50 25.4 148.3 38.1 104.0 89.4 98.4 58.4 37.4 22.5 34.6 30.1 18.8
16.9 17.0 1.060 56 167.75 68.50 25.2 139.4 37.4 98.6 93.0 97.0 55.4 38.8 23.2 32.4 29.7 19.0
11.1 10.6 1.074 57 147.75 65.75 24.1 131.4 35.2 99.6 86.4 90.1 53.0 35.0 21.3 31.7 27.3 16.9
16.1 16.1 1.062 57 182.25 71.75 24.9 152.9 39.4 103.4 96.7 100.7 59.3 38.6 22.8 31.8 29.1 19.0
15.5 15.4 1.064 58 175.50 71.50 24.2 148.4 38.0 100.2 88.1 97.8 57.1 38.9 23.6 30.9 29.6 18.0
25.9 26.7 1.038 58 161.75 67.25 25.2 119.9 35.1 94.9 94.9 100.2 56.8 35.9 21.0 27.8 26.1 17.6
25.5 25.8 1.040 60 157.75 67.50 24.1 117.5 40.4 97.2 93.3 94.0 54.3 35.7 21.0 31.3 28.7 18.3
18.4 18.6 1.056 62 168.75 67.50 26.1 137.6 38.3 104.7 95.6 93.7 54.4 37.1 22.7 30.3 26.3 18.3
24.0 24.8 1.042 62 191.50 72.25 25.8 145.2 40.6 104.0 98.2 101.1 59.3 40.3 23.0 32.6 28.5 19.0
26.4 27.3 1.037 63 219.15 69.50 31.9 161.2 40.2 117.6 113.8 111.8 63.4 41.1 22.3 35.1 29.6 18.5
12.7 12.4 1.070 64 155.25 69.50 22.6 135.5 37.9 95.8 82.8 94.5 61.2 39.1 22.3 29.8 28.9 18.3
28.8 29.9 1.032 65 189.75 65.75 30.9 135.1 40.8 106.4 100.5 100.5 59.2 38.1 24.0 35.9 30.5 19.1
17.0 17.0 1.060 65 127.50 65.75 20.8 105.9 34.7 93.0 79.7 87.6 50.7 33.4 20.1 28.5 24.8 16.5
33.6 35.0 1.021 65 224.50 68.25 33.9 149.2 38.8 119.6 118.0 114.3 61.3 42.1 23.4 34.9 30.1 19.4
29.3 30.4 1.030 66 234.25 72.00 31.8 165.6 41.4 119.7 109.0 109.1 63.7 42.4 24.6 35.6 30.7 19.5
31.4 32.6 1.026 67 227.75 72.75 30.3 156.3 41.3 115.8 113.4 109.8 65.6 46.0 25.4 35.3 29.8 19.5
28.1 29.0 1.033 67 199.50 68.50 29.9 143.6 40.7 118.3 106.1 101.6 58.2 38.8 24.1 32.1 29.3 18.5
15.3 15.2 1.064 68 155.50 69.25 22.8 131.8 36.3 97.4 84.3 94.4 54.3 37.5 22.6 29.2 27.3 18.5
29.1 30.2 1.031 69 215.50 70.50 30.5 152.7 40.8 113.7 107.6 110.0 63.3 44.0 22.6 37.5 32.6 18.8
11.5 11.0 1.074 70 134.25 67.00 21.1 118.9 34.9 89.2 83.6 88.8 49.6 34.8 21.5 25.6 25.7 18.5
32.3 33.6 1.024 72 201.00 69.75 29.1 136.1 40.9 108.5 105.0 104.5 59.6 40.8 23.2 35.2 28.6 20.1
28.3 29.3 1.033 72 186.75 66.00 30.2 133.9 38.9 111.1 111.5 101.7 60.3 37.3 21.5 31.3 27.2 18.0
25.3 26.0 1.040 72 190.75 70.50 27.0 142.6 38.9 108.3 101.3 97.8 56.0 41.6 22.7 30.5 29.4 19.8
30.7 31.9 1.027 74 207.50 70.00 29.8 143.7 40.8 112.4 108.5 107.1 59.3 42.2 24.6 33.7 30.0 20.9

Pour une meilleure visualisation de nos variables, nous allons changer certains de leurs noms :

# 1) "brozek" reste "brozek"


# 2) "siri" reste "siri"


# 3) "density" devient "densité"
colnames(my_data)[3] <-c('densité')

# 4) "age" reste "age"


# 5) "weight" devient "poids"
colnames(my_data)[5] <-c('poids')

# 6) "height" devient "taille"
colnames(my_data)[6] <-c('taille')

# 7) "adipos" devient "IMC"
colnames(my_data)[7] <-c('IMC')

# 8) "free" devient "PSansGraisse"
colnames(my_data)[8] <-c('PSansGraisse')

# 9) "neck" devient "cou"
colnames(my_data)[9] <-c('cou')

# 10) "chest" devient "poitrine"
colnames(my_data)[10] <-c('poitrine')

# 11) "abdom" reste "abdom"


# 12) "hip" devient "hanche"
colnames(my_data)[12] <-c('hanche')

# 13) "thigh" devient "cuisse"
colnames(my_data)[13] <-c('cuisse')

# 14) "knee" devient "genou"
colnames(my_data)[14] <-c('genou')

# 15) "ankle" devient "cheville"
colnames(my_data)[15] <-c('cheville')

# 16) "biceps" reste "biceps"


# 17) "forearm" devient "avantbras"
colnames(my_data)[17] <-c('avantbras')

# 18) "wrist" devient "poignet"
colnames(my_data)[18] <-c('poignet')

View(my_data)

Et nous vérifions qu’il n’y a pas de données manquantes :

sum(is.na(my_data))
## [1] 0

Après l’importation du Dataframe et la correction de certaines appellations, nous allons étudier notre jeu de données.

summary(my_data) # permet de visualiser des statistiques de base pour chaque variable
##      brozek           siri          densité           age       
##  Min.   : 0.00   Min.   : 0.00   Min.   :0.995   Min.   :22.00  
##  1st Qu.:12.80   1st Qu.:12.47   1st Qu.:1.041   1st Qu.:35.75  
##  Median :19.00   Median :19.20   Median :1.055   Median :43.00  
##  Mean   :18.94   Mean   :19.15   Mean   :1.056   Mean   :44.88  
##  3rd Qu.:24.60   3rd Qu.:25.30   3rd Qu.:1.070   3rd Qu.:54.00  
##  Max.   :45.10   Max.   :47.50   Max.   :1.109   Max.   :81.00  
##      poids           taille           IMC         PSansGraisse  
##  Min.   :118.5   Min.   :29.50   Min.   :18.10   Min.   :105.9  
##  1st Qu.:159.0   1st Qu.:68.25   1st Qu.:23.10   1st Qu.:131.3  
##  Median :176.5   Median :70.00   Median :25.05   Median :141.6  
##  Mean   :178.9   Mean   :70.15   Mean   :25.44   Mean   :143.7  
##  3rd Qu.:197.0   3rd Qu.:72.25   3rd Qu.:27.32   3rd Qu.:153.9  
##  Max.   :363.1   Max.   :77.75   Max.   :48.90   Max.   :240.5  
##       cou           poitrine          abdom            hanche     
##  Min.   :31.10   Min.   : 79.30   Min.   : 69.40   Min.   : 85.0  
##  1st Qu.:36.40   1st Qu.: 94.35   1st Qu.: 84.58   1st Qu.: 95.5  
##  Median :38.00   Median : 99.65   Median : 90.95   Median : 99.3  
##  Mean   :37.99   Mean   :100.82   Mean   : 92.56   Mean   : 99.9  
##  3rd Qu.:39.42   3rd Qu.:105.38   3rd Qu.: 99.33   3rd Qu.:103.5  
##  Max.   :51.20   Max.   :136.20   Max.   :148.10   Max.   :147.7  
##      cuisse          genou          cheville        biceps        avantbras    
##  Min.   :47.20   Min.   :33.00   Min.   :19.1   Min.   :24.80   Min.   :21.00  
##  1st Qu.:56.00   1st Qu.:36.98   1st Qu.:22.0   1st Qu.:30.20   1st Qu.:27.30  
##  Median :59.00   Median :38.50   Median :22.8   Median :32.05   Median :28.70  
##  Mean   :59.41   Mean   :38.59   Mean   :23.1   Mean   :32.27   Mean   :28.66  
##  3rd Qu.:62.35   3rd Qu.:39.92   3rd Qu.:24.0   3rd Qu.:34.33   3rd Qu.:30.00  
##  Max.   :87.30   Max.   :49.10   Max.   :33.9   Max.   :45.00   Max.   :34.90  
##     poignet     
##  Min.   :15.80  
##  1st Qu.:17.60  
##  Median :18.30  
##  Mean   :18.23  
##  3rd Qu.:18.80  
##  Max.   :21.40

Cette fonction nous permet de visualiser de façon génerale les statistiques de notre jeu de données pour avoir une première idée de nos données et ainsi faire une première estimation. On voit aussi qu’il n’y a pas de donnée aberrante.

Etudions la tranche d’âge des patients du jeu de données :

ggplot(my_data, aes(x = age)) + geom_histogram(color="red", fill="red")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Age moyen des patients :

mean(my_data$age,na.rm=T)
## [1] 44.88492
var(my_data$age,na.rm=T)
## [1] 158.8114

Grâce a ce graphique et à nos résulats, nous pouvons étudier la position et la dispersion de la variable age. La moyenne nous confirme ce que l’on voit sur le graphique, la position de l’âge est fortement concentrée autour de 44 ans. En ce qui concerne la dispersion, nous utilisons la variance pour l’interpréter. Elle est relativement élevée ce qui indique donc une grande dispersion comme on peut le voir sur le graphe allant de 20 ans environ à plus de 80 ans.

Poids moyen des patients :

mean(my_data$poids,na.rm=T)
## [1] 178.9244

Il est de 178,92 lbs (soit 81,16 kg). A titre de comparaison, le poids moyen des hommes en France est de 81,2 kg.

Nous allons étudier l’IMC en fonction de la densité :

ggplot(my_data, aes(x = IMC)) + geom_histogram(color="red", fill="red") + geom_density()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

mean(my_data$IMC,na.rm=T)
## [1] 25.4369

Les individus de notre jeu de données possèdent un IMC moyen de 25,43. - IMC < 18,5 : maigreur - IMC entre 18,5 et 24,9 : normalité - IMC entre 24,9 et 29,9 : surpoids - IMC entre 29,9 et 40 : obésité

Une valeur de 25,43 correspond à un surpoids. En France, l’IMC moyen chez les hommes est de 24,9.


II. Distribution des variables

Dans cette partie, nous allons étudier la distribution de chacune des variables ainsi que les liens qu’elles peuvent avoir entre elles. De nombreuses fonctions existent pour répondre à ce besoin.

La fonction ggpairs nous permet d’étudier les corrélations entre les variables 2 à 2 de notre jeu de données.

ggpairs(my_data)

La corrélation entre brozek, densité, siri est très importante. C’est normal car l’équation de siri est donnée par : siri = 495/densité - 450

Et l’équation de brozek est donnée par : brozek = 457/densité - 414,2

Les deux dépendent donc directement de densité. Il n’est pas utile de garder les variables siri et densité dans notre dataframe, nous les retirons.

fat <- my_data[,-2]
fat <- fat[,-2]

La fonction ggpairs est pratique car elle permet à la fois de visualiser les coefficients de corrélation entre les variables ainsi que la relation qui les lie grâce aux tracés. Mais dans notre cas, elle n’est pas très lisible car nous avons beaucoup de variables à traiter. Nous allons donc dans un premier temps étudier les coefficients de corrélation puis les relations linéaires entre les variables.

1. Etude des coefficients de corrélation

Nous utilisons la fonction corrplot qui permet d’avoir une visualisation en couleurs de la corrélation que peuvent avoir certaines variables entre elles. L’échelle couleurs/valeur du coefficient de corrélation entre 2 variables se trouve sur la droite du graphique.

round(cor(fat),2)
##              brozek   age poids taille   IMC PSansGraisse  cou poitrine abdom
## brozek         1.00  0.29  0.61  -0.09  0.73         0.02 0.49     0.70  0.81
## age            0.29  1.00 -0.01  -0.17  0.12        -0.24 0.11     0.18  0.23
## poids          0.61 -0.01  1.00   0.31  0.89         0.79 0.83     0.89  0.89
## taille        -0.09 -0.17  0.31   1.00 -0.02         0.49 0.25     0.13  0.09
## IMC            0.73  0.12  0.89  -0.02  1.00         0.55 0.78     0.91  0.92
## PSansGraisse   0.02 -0.24  0.79   0.49  0.55         1.00 0.68     0.59  0.50
## cou            0.49  0.11  0.83   0.25  0.78         0.68 1.00     0.78  0.75
## poitrine       0.70  0.18  0.89   0.13  0.91         0.59 0.78     1.00  0.92
## abdom          0.81  0.23  0.89   0.09  0.92         0.50 0.75     0.92  1.00
## hanche         0.63 -0.05  0.94   0.17  0.88         0.70 0.73     0.83  0.87
## cuisse         0.56 -0.20  0.87   0.15  0.81         0.68 0.70     0.73  0.77
## genou          0.51  0.02  0.85   0.29  0.71         0.70 0.67     0.72  0.74
## cheville       0.27 -0.11  0.61   0.26  0.50         0.58 0.48     0.48  0.45
## biceps         0.49 -0.04  0.80   0.21  0.75         0.65 0.73     0.73  0.68
## avantbras      0.36 -0.09  0.63   0.23  0.56         0.55 0.62     0.58  0.50
## poignet        0.35  0.21  0.73   0.32  0.63         0.67 0.74     0.66  0.62
##              hanche cuisse genou cheville biceps avantbras poignet
## brozek         0.63   0.56  0.51     0.27   0.49      0.36    0.35
## age           -0.05  -0.20  0.02    -0.11  -0.04     -0.09    0.21
## poids          0.94   0.87  0.85     0.61   0.80      0.63    0.73
## taille         0.17   0.15  0.29     0.26   0.21      0.23    0.32
## IMC            0.88   0.81  0.71     0.50   0.75      0.56    0.63
## PSansGraisse   0.70   0.68  0.70     0.58   0.65      0.55    0.67
## cou            0.73   0.70  0.67     0.48   0.73      0.62    0.74
## poitrine       0.83   0.73  0.72     0.48   0.73      0.58    0.66
## abdom          0.87   0.77  0.74     0.45   0.68      0.50    0.62
## hanche         1.00   0.90  0.82     0.56   0.74      0.55    0.63
## cuisse         0.90   1.00  0.80     0.54   0.76      0.57    0.56
## genou          0.82   0.80  1.00     0.61   0.68      0.56    0.66
## cheville       0.56   0.54  0.61     1.00   0.48      0.42    0.57
## biceps         0.74   0.76  0.68     0.48   1.00      0.68    0.63
## avantbras      0.55   0.57  0.56     0.42   0.68      1.00    0.59
## poignet        0.63   0.56  0.66     0.57   0.63      0.59    1.00
corrplot(cor(fat))

Nous pouvons grossièrement observer que la variable brozek semble être assez liée à :

  • L’IMC
  • Le poids
  • La circonférence de la poitrine
  • La circonférence abdominale
  • Le tour de hanche
  • Le tour de cuisse
  • Le tour de poignet

Et moyennement liée à :

  • L’âge
  • La taille
  • Le tour de cheville
  • PSansGraisse

Afin d’enrichir notre analyse, nous utilisons différents outils.

La méthode de Pearson :

Le coefficient de Pearson permet de mesurer la force de corrélation entre 2 variables. Il peut prendre une valeur comprise entre -1 et 1. Lorsqu’il vaut 0, cela signifie qu’il n’y a pas de relation entre les 2 variables. Lorsqu’il est proche de -1 ou +1, la relation entre les 2 variables est très forte. Le signe nous donne le sens de la relation.

#Nous calculons tous les coefficients de corrélation entre brozek et les variables prédictives

cor.test(fat$brozek,fat$age)
## 
##  Pearson's product-moment correlation
## 
## data:  fat$brozek and fat$age
## t = 4.7763, df = 250, p-value = 3.045e-06
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.1717375 0.3985061
## sample estimates:
##       cor 
## 0.2891735
cor.test(fat$brozek,fat$poids)
## 
##  Pearson's product-moment correlation
## 
## data:  fat$brozek and fat$poids
## t = 12.273, df = 250, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.5297198 0.6848391
## sample estimates:
##       cor 
## 0.6131561
cor.test(fat$brozek,fat$taille)
## 
##  Pearson's product-moment correlation
## 
## data:  fat$brozek and fat$taille
## t = -1.4145, df = 250, p-value = 0.1585
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.21036293  0.03485018
## sample estimates:
##         cor 
## -0.08910641
cor.test(fat$brozek,fat$IMC)
## 
##  Pearson's product-moment correlation
## 
## data:  fat$brozek and fat$IMC
## t = 16.789, df = 250, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.6641703 0.7812826
## sample estimates:
##       cor 
## 0.7279942
cor.test(fat$brozek,fat$PSansGraisse)
## 
##  Pearson's product-moment correlation
## 
## data:  fat$brozek and fat$PSansGraisse
## t = 0.31838, df = 250, p-value = 0.7505
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.1036987  0.1433483
## sample estimates:
##        cor 
## 0.02013209
cor.test(fat$brozek,fat$cou)
## 
##  Pearson's product-moment correlation
## 
## data:  fat$brozek and fat$cou
## t = 8.9233, df = 250, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.3917062 0.5798451
## sample estimates:
##       cor 
## 0.4914889
cor.test(fat$brozek,fat$poitrine)
## 
##  Pearson's product-moment correlation
## 
## data:  fat$brozek and fat$poitrine
## t = 15.624, df = 250, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.6344161 0.7604106
## sample estimates:
##       cor 
## 0.7028852
cor.test(fat$brozek,fat$abdom)
## 
##  Pearson's product-moment correlation
## 
## data:  fat$brozek and fat$abdom
## t = 22.134, df = 250, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.7672855 0.8516445
## sample estimates:
##       cor 
## 0.8137062
cor.test(fat$brozek,fat$hanche)
## 
##  Pearson's product-moment correlation
## 
## data:  fat$brozek and fat$hanche
## t = 12.683, df = 250, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.5442047 0.6954973
## sample estimates:
##       cor 
## 0.6256999
cor.test(fat$brozek,fat$cuisse)
## 
##  Pearson's product-moment correlation
## 
## data:  fat$brozek and fat$cuisse
## t = 10.723, df = 250, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.4703336 0.6404368
## sample estimates:
##       cor 
## 0.5612844
cor.test(fat$brozek,fat$genou)
## 
##  Pearson's product-moment correlation
## 
## data:  fat$brozek and fat$genou
## t = 9.3197, df = 250, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.4099359 0.5940810
## sample estimates:
##       cor 
## 0.5077859
cor.test(fat$brozek,fat$cheville)
## 
##  Pearson's product-moment correlation
## 
## data:  fat$brozek and fat$cheville
## t = 4.3768, df = 250, p-value = 1.77e-05
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.1480919 0.3778972
## sample estimates:
##       cor 
## 0.2667826
cor.test(fat$brozek,fat$biceps)
## 
##  Pearson's product-moment correlation
## 
## data:  fat$brozek and fat$biceps
## t = 8.9602, df = 250, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.3934277 0.5811943
## sample estimates:
##       cor 
## 0.4930309
cor.test(fat$brozek,fat$avantbras)
## 
##  Pearson's product-moment correlation
## 
## data:  fat$brozek and fat$avantbras
## t = 6.1651, df = 250, p-value = 2.808e-09
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.2509710 0.4659339
## sample estimates:
##       cor 
## 0.3632774
cor.test(fat$brozek,fat$poignet)
## 
##  Pearson's product-moment correlation
## 
## data:  fat$brozek and fat$poignet
## t = 5.861, df = 250, p-value = 1.446e-08
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.2340526 0.4517430
## sample estimates:
##       cor 
## 0.3475728

Pour chaque variable, nous obtenons une valeur du coefficient de corrélation et de la p-value associée. Les résultats sont contenus dans le tableau ci-dessous.

En plus d’étudier la valeur du coefficient, nous devons également déterminer si la corrélation est statistiquement significative en étudiant la valeur de p-value.

– Si la valeur de p est faible (généralement inférieure à 0,05), la corrélation est statistiquement significative : nous pouvons utiliser le coefficient de Pearson calculé.

– Si la valeur p est plus importante (généralement supérieure à 0,05), alors la corrélation n’est pas statistiquement significative (cela peut être arrivé par hasard). Dans ce cas, il vaut mieux ne pas se fier au coefficient de Pearson obtenu.

Le coefficient de Pearson permet donc de quantifier une corrélation et la valeur p permet d’évaluer si une corrélation est réelle. Le coefficient de Pearson et la valeur p doivent être interprétés ensemble.

Résultats :

Variable Corrélation p-value
age 0.2891735 3.045e-06
poids 0.6131561 < 2.2e-16
taille -0.08910641 0.1585
IMC 0.7279942 < 2.2e-16
PSansGraisse 0.02013209 0.7505
cou 0.4914889 < 2.2e-16
poitrine 0.7028852 < 2.2e-16
abdom 0.8137062 < 2.2e-16
hanche 0.6256999 < 2.2e-16
cuisse 0.5612844 < 2.2e-16
genou 0.5077859 < 2.2e-16
cheville 0.2667826 1.77e-05
biceps 0.4930309 < 2.2e-16
avantbras 0.3632774 2.808e-09
poignet 0.3475728 1.446e-08

Nous pouvons voir que le coefficient de corrélation le plus faible est entre brozek et taille* (-0,0891). Il est très proche de 0, ce qui suppose une non corrélation de ces 2 variables. Cependant, la p-value associée est >0,05. Le résultat du coefficient de Pearson est donc non statistiquement significatif.

Les 5 variables les plus corrélées avec brozek sont abdom (0,8137), IMC (0,7279), poitrine (0.7028), hanche (0,6256) et poids (0,6131). Toutes possèdent une p-value < 2.2e-16, les coefficients obtenus sont donc statistiquement significatifs.



Le coefficient de détermination R^2:

Le coefficient de détermination R^2 est une mesure de la qualité de la prédiction d’une régression linéaire. Dans le cas de la régression linéaire simple, le coefficient de détermination R^2 est égal au coefficient de corrélation de Pearson au carré.

La corrélation explique la force de la relation entre deux variables, tandis que le coefficient de détermination exprime la part de la variance de la variable à estimer qui provient de celle d’une ou des variables prédictives.

  • Valeur = 0% : la variable ne sert à rien dans la prédiction de brozek.
  • Valeur = 100% : la variable permet une prédiction parfaite de brozek.

Cependant, il existe certaines limites au coefficient de détermination :

  • La valeur de R^2 peut dépendre de l’étendue de la variable predictive.
  • Lorsque qu’on ajoute un trop grand nombre de variables dans le modèle de régression linéaire, la valeur de R^2 augmente de manière injustifiée.

C’est pourquoi, il est pertinent d’utiliser différentes méthodes et d’analyser les résultats avec critique.

## [1] 0.08362132
## [1] 0.3759604
## [1] 0.007939953
## [1] 0.5299755
## [1] 0.0004053009
## [1] 0.2415614
## [1] 0.4940475
## [1] 0.6621178
## [1] 0.3915004
## [1] 0.3150402
## [1] 0.2578465
## [1] 0.07117293
## [1] 0.2430795
## [1] 0.1319705
## [1] 0.1208068


Résultats :

Variable R^2 En pourcentage
age 0.08362132 8,4%
poids 0.3759604 37,6%
taille 0.007939953 0,8%
IMC 0.5299755 53%
PSansGraisse 0.0004053009 0,4%
cou 0.2415614 24,2%
poitrine 0.4940475 49,4%
abdom 0.6621178 66,2%
hanche 0.3915004 39,2%
cuisse 0.3150402 31,5%
genou 0.2578465 25,8%
cheville 0.07117293 7,1%
biceps 0.2430795 24,3%
avantbras 0.1319705 13,2%
poignet 0.1208068 12,1%

En étudiant les résultats obtenus, nous pouvons voir que le R^2 pour PSansGraisse est très faible (0,4%) ce qui voudrait dire que cette variable ne joue pas de rôle dans la prédiction de brozek.

Les 5 variables qui seraient les plus importantes dans la prédiction de brozek sont abdom (66,2%), IMC (53%), poitrine (49,4%), hanche (39,2%), poids (37,6%).

Ce sont les 5 mêmes variables que nous avions obtenues précedemment avec la méthode de Pearson.


2. Etude de la linéarité des corrélations

Après avoir étudié les forces de corrélation entre brozek et les autres variables, nous allons étudier la linéarité de ces potentielles corrélations.

En utilisant scatterplotMatrix, nous pouvons visualiser s’il y a une corrélation linéaire entre plusieurs variables.

Ici, nous nous intéressons à la première ligne qui correspond aux corrélations entre la variable à estimer brozek et les autres variables explicatives.

Corrélations entre brozek et les variables 2 à 9 (siri, densité, age, poids, taille, IMC, PSansGraisse, cou, poitrine, abdom) :


Corrélations entre brozek et les variables 10 à 18 (hanche, cuisse, genou, cheville, biceps, avantbras, poignet) :


Nous pouvons dire que les corrélations semblent globalement linéaires et qu’aucun des graphiques ne présente de courbe notablement curvilinéaire, même si pour certains d’entre eux, il y a une concentration de points formant une sorte de nuage. Nous émettons un léger doute pour la variable cheville.


Le lissage d’une courbe est une méthode qui consiste à réduire ses irrégularités. Ce n’est pas seulement esthétique, cela nous permet aussi d’obtenir une tendance et de se donner une idée de la relation qui peut exister entre 2 variables. Cela permet également d’étudier la linéarité de cette relation.

Pour réaliser un lissage, nous pouvons utiliser la fonction scatterplot de la librairie car.

On y voit ainsi figurer la courbe de lissage moyenne, les courbes de lissage des intervalles de confiance et une régression obtenue par les moindres carrés (en rouge ici).

Nous allons réaliser ce lissage avec les 5 variables qui semblent les plus corrélées avec brozek (abdom, IMC, poitrine, hanche, poids), ainsi qu’avec la variable qui semble la moins corrélée à brozek (PSansGraisse).

brozek & abdom

scatterplot(brozek~abdom, data=fat, regLine=list(method=lm, lty=1, lwd=2, col="red"))



brozek & IMC

scatterplot(brozek~IMC, data=fat, regLine=list(method=lm, lty=1, lwd=2, col="red"))



brozek & poitrine

scatterplot(brozek~poitrine, data=fat, regLine=list(method=lm, lty=1, lwd=2, col="red"))



brozek & hanche

scatterplot(brozek~hanche, data=fat, regLine=list(method=lm, lty=1, lwd=2, col="red"))



brozek & poids

scatterplot(brozek~poids, data=fat, regLine=list(method=lm, lty=1, lwd=2, col="red"))



brozek & PSansGraisse

scatterplot(brozek~PSansGraisse, data=fat, regLine=list(method=lm, lty=1, lwd=2, col="red"))

III. Création du modèle de régression

Nous décidons de garder toutes les variables afin de construire note modèle de régression sauf PSansGraisse, qui ne semble pas jouer de rôle significatif dans la prédiction de brozek.



Création de notre modèle :

library(performance)

fat_final <- fat[,-6]
View(fat_final)
model <- lm(brozek~., data=fat_final) 
summary(model)
## 
## Call:
## lm(formula = brozek ~ ., data = fat_final)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -10.2573  -2.5919  -0.1031   2.9040   9.2754 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -1.519e+01  1.611e+01  -0.943   0.3467    
## age          5.688e-02  3.003e-02   1.894   0.0594 .  
## poids       -8.130e-02  4.989e-02  -1.630   0.1045    
## taille      -5.307e-02  1.034e-01  -0.513   0.6084    
## IMC          6.101e-02  2.780e-01   0.219   0.8265    
## cou         -4.450e-01  2.184e-01  -2.037   0.0427 *  
## poitrine    -3.087e-02  9.779e-02  -0.316   0.7526    
## abdom        8.790e-01  8.545e-02  10.286   <2e-16 ***
## hanche      -2.031e-01  1.371e-01  -1.481   0.1398    
## cuisse       2.274e-01  1.356e-01   1.677   0.0948 .  
## genou       -9.927e-04  2.298e-01  -0.004   0.9966    
## cheville     1.572e-01  2.076e-01   0.757   0.4496    
## biceps       1.485e-01  1.600e-01   0.928   0.3543    
## avantbras    4.297e-01  1.849e-01   2.324   0.0210 *  
## poignet     -1.479e+00  4.967e-01  -2.978   0.0032 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.996 on 237 degrees of freedom
## Multiple R-squared:  0.749,  Adjusted R-squared:  0.7342 
## F-statistic: 50.52 on 14 and 237 DF,  p-value: < 2.2e-16

Nous obtenons les coefficients pour chaque variable avec la fonction summary. Nous observons que certains d’entre eux ne sont pas statistiquement significatifs (p-value > 0,05).


La fonction confint permet d’afficher l’intervalle de confiance à 95% pour les coefficients estimés.

confint(model)
##                    2.5 %      97.5 %
## (Intercept) -46.92508213 16.54479938
## age          -0.00227593  0.11603490
## poids        -0.17957731  0.01697301
## taille       -0.25685177  0.15071036
## IMC          -0.48658499  0.60859629
## cou          -0.87521895 -0.01470985
## poitrine     -0.22352333  0.16178941
## abdom         0.71063152  1.04732225
## hanche       -0.47310292  0.06697066
## cuisse       -0.03967737  0.49443103
## genou        -0.45371906  0.45173376
## cheville     -0.25170730  0.56612058
## biceps       -0.16674718  0.46376954
## avantbras     0.06548898  0.79384719
## poignet      -2.45769819 -0.50080691

IV. Validation du modèle

Après avoir élaboré un modèle de régression multiple, nous allons nous pencher sur l’études des résidus. Aussi appelés “erreurs observées”, ils sont définis comme étant les différences entre les valeurs observées et les valeurs estimées par un modèle de régression.

L’analyse des résidus nous permet de tester la validité du modèle de régression linéaire que nous avons précédemment établi.

1. Evaluation de la normalité des résidus
1.1. Q-Q plot

Afin d’étudier l’hypothèse de normalité, nos pouvons tracer un Q-Q plot (diagramme quantile-quantile). Si les résidus sont bien distribués le long de la droite, alors l’hypothèse de normalité est acceptée.

plot(model,2) 


Cela semble être le cas.

Pour confirmer notre hypothèse, nous utilisons une autre méthode.

1.2. Shapiro-Wilk

Le test de Shapiro–Wilk permet d’analyser la normalité des résidus dans le cas d’une régression linéaire. Nous utilisons 2 hypothèses : - H0 : Les résidus suivent une distribution normale. - HA : Les résidus ne suivent pas une distribution normale.

L’hypothèse nulle H0 est rejetée si la p-value est inférieure à 0.05. Autrement dit, si p < 0,05, nous pourrons dire que les résidus ne suivent pas une loi normale.

shapiro.test(residuals(model))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(model)
## W = 0.99278, p-value = 0.2598


Nous obtenons une p-value égale à 0.2598 et donc supérieure à 0,05. L’hypothèse nulle n’est pas rejetée, nous concluons à une normalité des résidus.

2. Etude de la variance des résidus
2.1. Hétéroscédasticité

Si la variance des résidus est constante, on parle d’homoscédasticité, c’est le meilleur des cas. Dans le cas inverse, on parle d’hétéroscédasticité.

Nous allons utiliser la fonction ncvTest de la librairie car.

  • HO (hypothèse nulle) : La variance des résidus est constante.
  • HA (hypothèse alternative) : La variance des résidus est non constante.
ncvTest(model)
## Non-constant Variance Score Test 
## Variance formula: ~ fitted.values 
## Chisquare = 0.04596825, Df = 1, p = 0.83023

Nous nous intéressons à la p-value qui nous permet de rejeter ou non l’hypothèse nulle. Dans notre cas, elle est largement supérieure à 0,05. Nous ne rejetons donc pas l’hypothèse nulle ce qui nous permet de conclure sur l’homoscédasticité des résidus.

La fonction spreadLevelPlot nous permet également de visualiser la variance des résidus. Dans le cas de l’homoscédasticité, la droite obtenue doit être horizontale.

spreadLevelPlot(model)

## 
## Suggested power transformation:  1.05238


C’est notre cas ici. Nous pouvons de nouveau valider l’hypothèse d’homoscédasticité des résidus.

2.2. ANOVA
anova(model)
## Analysis of Variance Table
## 
## Response: brozek
##            Df Sum Sq Mean Sq  F value    Pr(>F)    
## age         1 1260.9  1260.9  78.9669 < 2.2e-16 ***
## poids       1 5738.4  5738.4 359.3739 < 2.2e-16 ***
## taille      1  896.4   896.4  56.1394 1.334e-12 ***
## IMC         1  745.8   745.8  46.7064 6.915e-11 ***
## cou         1  262.0   262.0  16.4108 6.914e-05 ***
## poitrine    1  124.3   124.3   7.7817  0.005707 ** 
## abdom       1 1921.2  1921.2 120.3194 < 2.2e-16 ***
## hanche      1   24.9    24.9   1.5594  0.212982    
## cuisse      1   92.5    92.5   5.7908  0.016876 *  
## genou       1    0.0     0.0   0.0031  0.955556    
## cheville    1    0.0     0.0   0.0012  0.972446    
## biceps      1   33.2    33.2   2.0779  0.150768    
## avantbras   1   53.3    53.3   3.3380  0.068955 .  
## poignet     1  141.6   141.6   8.8706  0.003199 ** 
## Residuals 237 3784.4    16.0                       
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
3. Etude l’indépendance des résidus
3.1. Durbin-Watson

La statistique de Durbin-Watson est utilisée pour déterminer s’il y une autocorrélation des résidus d’une régression. Ce test utilise les hypothèses suivantes :

  • H0 (hypothèse nulle) : Il n’y a pas de corrélation entre les résidus.
  • HA (hypothèse alternative) : Les résidus sont autocorrélés.

La valeur de DW peut être comprise entre 0 et 4 : - Valeur = 2,0 : autocorrélation nulle. Plus largement, on considère l’intervalle [1,5:2,5]. - Valeur < 2,0 : autocorrélation positive. - Valeur > 2,0 : autocorrélation négative.

Nous allons également étudier la p-value renvoyée par le test de Durbin-Watson. Cette valeur nous permet de rejeter ou non une hypothèse nulle. Elle représente la probabilité de faire une erreur de type 1, c’est-à-dire de rejeter l’hypothèse nulle si elle est vraie.

Plus la valeur de p est petite, plus la probabilité de faire une erreur en rejetant l’hypothèse nulle est faible. 0,05 est généralement la valeur “limite” utilisée. Ainsi, nous pouvons rejeter l’hypothèse nulle si la valeur de p-value < 0,05.

dwtest(model)
## 
##  Durbin-Watson test
## 
## data:  model
## DW = 1.7888, p-value = 0.038
## alternative hypothesis: true autocorrelation is greater than 0

La valeur de DW (1.7888) est proche de la borne inférieure de l’intervalle pour lequel on ne rejette pas H0 (pas d’autocorrélation). Pour affiner la prise de décision, nous pouvons faire appel à la p-value, c’est-à-dire la probabilité d’obtenir sous H0 une valeur au moins aussi extrême que celle observée. Lorsque p-value est faible (p<0,05) on considère qu’il y a un doute sur la véracité de l’hypothèse H0. C’est le cas ici, p-value = 0.038.

Cela nous pousse donc à rejeter H0 en faveur donc d’une autocorrélation positive, ce que suggère la valeur de DW que nous avons obtenue. Nous concluons donc à la corrélation des résidus de notre modèle linéaire.

3.2. Visualisation des résidus

La création d’un lagplot permet de vérifier le caractère aléatoire des résidus de notre régression. Si nous observons un modèle linéaire, cela suggère qu’il existe une autocorrélation entre les résidus. Si les données aléatoires se répartissent assez uniformément horizontalement et verticalement, on peut penser qu’il n’existe pas de corrélation entre les résidus.

rstud<-rstudent(model);

plot(rstud)


Les résidus semblent être distribués de manière aléatoire.

4. Détection de valeurs aberrantes et influentes

Lorsque des observations ne suivent pas le même modèle linéaire que la majorité des données, elles sont appelées des valeurs aberrantes. Elles peuvent être la conséquence d’erreurs de mesure, erreurs de transcription des données, mais les valeurs aberrantes ne sont pas toujours erronées. Elles peuvent parfois être témoin d’un phénomène particulier, différent du modèle suivi par la majorité des observations.

4.1. Résidus studentisés

L’étude des résidus studentisés nous permet d’observer les valeurs aberrantes. Certains statistitiens affirment que lorsque des valeurs sont hors de l’intervalle [-2 ; 2] (axe des ordonnées), elles peuvent être considérées comme étant des outliers. D’autres statistitiens considèrent que pour être outliers, il faut que les valeurs soient hors de l’intervalle [-3 ; 3]. Nous nous concentrons sur l’intervalle [-2 ; 2].

Résidus studentisés standard :

rstud<-rstudent(model); indx  <-seq(1,length(rstud),1)
plot(rstud~indx,cex.lab =0.8,xlab='Fitted Values',ylab='Résidus Studentisés standard')
abline(h = c(-2,0,2),col ='red',lty=c(2,1,2))
abline(h = c(-2.8,2.8),col ='blue',lty=c(3,3))


Nous observons qu’il y a très peu de valeurs en dehors de l’intervalle [-2 ; 2] par rapport à la taille de notre échantillon.

4.2. DFFITS & Cook’s distance

La méthode DFFITS (Difference in Fits) permet de montrer l’influence de certains points dans le cas d’une régression statistique.

diag_hat <- hat(model.matrix(model))
n <- length(diag_hat)
p <- length (model[[1]])

# calcul des DFFITS
DFFITS<-dffits(model) ; DFFITS <-abs(DFFITS)
# index des observations ayant une influence sur les valeurs pr?dites 
id_DFFITS<-which(abs(dffits(model)) > 2*sqrt((p+1)/n))
#graphiques des DFFITS
plot(DFFITS,type ='h', ylab = 'abs(DFFITS)')
abline(h = 2*sqrt((p+1)/n),col ='red',lty=2)


La distance de Cook permet de faire la même chose. Cette mesure de distance standardisée permet de décrire le changement de l’estimateur de brozek lorsque l’on retire l’observation i. Plus la valeur de la distance de Cook est importante, plus l’impact de l’observation est grand.

# Calcule de la distance de Cook
COOKS<-cooks.distance(model)
plot(COOKS,type ='h', ylab = 'Distance de Cooks')
abline(h =  qf(0.05,n,n-p),col ='red',lty=2)


Nous observons les 3 mêmes pic qu’avec la méthode DFFITS. Nous pouvons créer un seuil, afin de récupérer la position de ces pics. Ici nous filtrons les points dont le pic est 3x supérieur à la moyenne sur l’ensemble des points.


cooksD <- cooks.distance(model)
influential <- cooksD[(cooksD > (3 * mean(cooksD, na.rm = TRUE)))]
influential
##         39         42         86 
## 0.40634498 1.91014114 0.09920828
4.3. Points leviers

Le fait d’avoir un outlier dans notre modèle peut affecter la pente. Les points leviers affectent la droite de régression de manière exagérée

# point levier
diag_hat <- hat(model.matrix(model))
n<-length(diag_hat)                   # nombre d'observations
p<- length(model[[1]])           # nombre de param?tres du mod?le
plot(diag_hat,type = 'h', ylab='points leviers',ylim=c(0,2*p/n+0.5))
abline(h = 2*p/n,col ='red',lty=2)



V. VIF et multicolinéarité

La multicolinéarité est la forte relation de dépendance linéaire entre plus de deux variables explicatives dans une régression multiple. Lorsque des variables prédictives sont corrélées, elles ne fournissent pas d’informations uniques ou indépendantes dans le modèle de régression.

Cela peut réduire la fiabilité du modèle de régression et ainsi poser des problèmes d’interprétation.

Afin de détecter une multicolinéarité, nous pouvons utiliser VIF (Variance Inflation Factor) qui mesure la force de corrélation entre les variables prédictives dans un modèle de régression.

VIF

  • Valeur = 1 : pas de corrélation entre une variable prédictive donnée et toute autre variable prédictive dans le modèle.
  • 1 < Valeur < 5 : corrélation modérée entre une variable prédictive donnée et d’autres variables prédictives dans le modèle.
  • Valeur > 5 : corrélation potentiellement sévère entre une variable prédictive donnée et d’autres variables prédictives du modèle. On soupçonne donc un lien linéaire avec les autres variables. Cela est donc problématique.
v<-vif(model)
barplot(v,type ='h',cex.lab = 0.9, ylab = 'VIF')
## Warning in plot.window(xlim, ylim, log = log, ...): paramètre graphique "type"
## incorrect
## Warning in axis(if (horiz) 2 else 1, at = at.l, labels = names.arg, lty =
## axis.lty, : paramètre graphique "type" incorrect
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## paramètre graphique "type" incorrect
## Warning in axis(if (horiz) 1 else 2, cex.axis = cex.axis, ...): paramètre
## graphique "type" incorrect
abline(h = 5,col ='red',lty=2)

vif(model)
##       age     poids    taille       IMC       cou  poitrine     abdom    hanche 
##  2.250902 33.786851  2.256593 16.163444  4.430734 10.684562 13.346689 15.158277 
##    cuisse     genou  cheville    biceps avantbras   poignet 
##  7.961508  4.828828  1.945514  3.674508  2.193390  3.379612

Sur le diagramme, nous pouvons voir que plusieurs variables sont au-dessus du seuil de 5 : poids, IMC, poitrine, abdom, hanche, cuisse.

La variable poids est fortement corrélée avec d’autres variables (33.78).



REGRESSION LINEAIRE PENALISEE

L’existence de corrélations entre les variables signifie que notre modèle est instable. Nous allons donc réaliser une régression pénalisée, qui consiste à éviter la surdépendance des échantillons entre eux.

La variance est une mesure de la dispersion des valeurs d’un échantillon. Le biais est une mesure de la différence entre la moyenne obtenue sur un échantillon et la vraie valeur.

Lorsque nous réalisons une régression pénalisée, nous réduisons l’exactitude du modèle en augmentant légèrement du biais pour obtenir une réduction importante de la variance.

Tous les codes utilisés dans cette partie appartiennent à notre professeur M. Roudier. Nous n’afficherons que les résultats obtenus.

I. Régression Ridge

## Le chargement a nécessité le package : Matrix
## Loaded glmnet 4.1-6
## 
## Attachement du package : 'dplyr'
## L'objet suivant est masqué depuis 'package:car':
## 
##     recode
## L'objet suivant est masqué depuis 'package:kableExtra':
## 
##     group_rows
## Les objets suivants sont masqués depuis 'package:stats':
## 
##     filter, lag
## Les objets suivants sont masqués depuis 'package:base':
## 
##     intersect, setdiff, setequal, union
## 
## Attachement du package : 'psych'
## L'objet suivant est masqué depuis 'package:car':
## 
##     logit
## Les objets suivants sont masqués depuis 'package:ggplot2':
## 
##     %+%, alpha
## Le chargement a nécessité le package : lattice

L’objectif est de trouver le meilleur coefficient de pénalisation lambda afin de minimiser la SCE (Somme des Carrés des Ecarts).

La MSE (erreur quadratique moyenne) correspond à la précision de notre estimateur. Le graphique ci-dessous nous permet de visualiser la valeur de la MSE et l’écart-type par rapport aux valeurs de Lambda.


Après la validation croisée, on calcule le meilleur Lambda :

## [1] " Ridge : best_lam = 0.0869749002617783  --- Best MSE = 17.2903844509478"

Une fois que nous avons obtenu la meilleure valeur de Lambda, nous pouvons estimer les paramètres associés. Nous affichons la valeur des différents poids associés aux paramètres :

## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.


Voici les nouveaux coefficients de notre régression :

## 14 x 1 sparse Matrix of class "dgCMatrix"
##                    s0
## age        0.91220014
## poids     -1.65158416
## taille    -0.24321787
## IMC        0.52120875
## cou       -1.09507107
## poitrine  -0.00814139
## abdom      8.22088841
## hanche    -1.17646429
## cuisse     1.11314445
## genou     -0.04406330
## cheville   0.17293312
## biceps     0.34146777
## avantbras  0.81561423
## poignet   -1.44438094


Nous pouvons comparer le modèle de régression obtenu à l’issu de la première partie du projet (Régression linéaire multiple) avec le nouveau modèle obtenu suite à la régression pénalisée Ridge.

## No id variables; using all as measure variables
## `geom_smooth()` using formula = 'y ~ x'


II. Régression Lasso

Nous réalisons exactement la même chose qu’avec la régression Ridge, nous changeons simplement de méthode.

## [1] " Lasso : best_lam = 0.104761575278967  --- Best MSE = 17.7794639538797"

La régression pénalisée Lasso permet de supprimer des variables en mettant le cas à 0. C’est le cas notamment si deux variables sont corrélées. L’une sera sélectionnée par le Lasso et l’autre sera supprimée.

## 14 x 1 sparse Matrix of class "dgCMatrix"
##                    s0
## age        0.64901618
## poids     -0.64925519
## taille    -0.47352656
## IMC        .         
## cou       -0.74144315
## poitrine   .         
## abdom      7.88697395
## hanche    -0.32033182
## cuisse     0.08656122
## genou      .         
## cheville   .         
## biceps     0.08154932
## avantbras  0.60993509
## poignet   -1.30470177
## No id variables; using all as measure variables
## `geom_smooth()` using formula = 'y ~ x'

III. Comparaison des résultats

Nous observons que les carrés moyens obtenus pour les méthodes Ridge et Lasso sont presqu’égaux. Ils sont supérieurs au MSE de la régression linéaire multiple de départ ce qui est logique : nous avons augmenté le biais.

##       lm    ridge    lasso 
## 15.01733 17.29038 17.77946

Avec les deux méthodes (Ridge et Lasso), tous les paramètres sont retenus. Les coefficients diffèrent simplement.

## Warning in matrix(x, nrow = nrow(y)): la longueur des données [15] n'est pas un
## diviseur ni un multiple du nombre de lignes [14]
##                      lm         ridge       lasso          NA
## age       -1.519014e+01 -1.479253e+00  0.91220014  0.64901618
## poids      5.687948e-02 -1.519014e+01 -1.65158416 -0.64925519
## taille    -8.130215e-02  5.687948e-02 -0.24321787 -0.47352656
## IMC       -5.307070e-02 -8.130215e-02  0.52120875  0.00000000
## cou        6.100565e-02 -5.307070e-02 -1.09507107 -0.74144315
## poitrine  -4.449644e-01  6.100565e-02 -0.00814139  0.00000000
## abdom     -3.086696e-02 -4.449644e-01  8.22088841  7.88697395
## hanche     8.789769e-01 -3.086696e-02 -1.17646429 -0.32033182
## cuisse    -2.030661e-01  8.789769e-01  1.11314445  0.08656122
## genou      2.273768e-01 -2.030661e-01 -0.04406330  0.00000000
## cheville  -9.926522e-04  2.273768e-01  0.17293312  0.00000000
## biceps     1.572066e-01 -9.926522e-04  0.34146777  0.08154932
## avantbras  1.485112e-01  1.572066e-01  0.81561423  0.60993509
## poignet    4.296681e-01  1.485112e-01 -1.44438094 -1.30470177