0% ont trouvé ce document utile (0 vote)
43 vues4 pages

TP5 Methodes Inductives - RL

Ce document présente une analyse de données utilisant la régression linéaire multiple pour établir une relation entre des variables quantitatives et une variable qualitative. Il décrit la méthodologie d'estimation des paramètres du modèle, l'application sur un jeu de données concernant les maladies cardiaques, ainsi que le calcul du coefficient de détermination et le test de significativité du modèle. Les résultats montrent une bonne adéquation du modèle avec les données, indiquant une dépendance linéaire entre les variables.

Transféré par

oubaida.kherfane
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
43 vues4 pages

TP5 Methodes Inductives - RL

Ce document présente une analyse de données utilisant la régression linéaire multiple pour établir une relation entre des variables quantitatives et une variable qualitative. Il décrit la méthodologie d'estimation des paramètres du modèle, l'application sur un jeu de données concernant les maladies cardiaques, ainsi que le calcul du coefficient de détermination et le test de significativité du modèle. Les résultats montrent une bonne adéquation du modèle avec les données, indiquant une dépendance linéaire entre les variables.

Transféré par

oubaida.kherfane
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Institut National des Télécommunications et des Technologies de l'Information et

de la Communication INT-TIC d'Oran Algérie

Analyse de Données
3ème année ingénieur

Fiche de TP N° 5

Méthodes Inductives

Régression Linéaire Multiple

Nous avons vu que l’analyse linéaire discriminante permet, sur la base d’un ensemble de
variables quantitatives, de discriminer au mieux entre les individus appartenant à différentes
classes (modalités différentes de la variable qualitative). Ainsi, il est possible de déterminer (de
prédire) la classe d’un nouvel individu à partir des valeurs des variables quantitatives. Ceci
peut être vu comme sorte de une mise en relation entre l’ensemble des variables quantitatives
d’une part, et la variable qualitative d’autre part.

La régression linéaire multiple permet, quant à elle, de mettre en relation un ensemble (d’où
le mot « multiple ») de variables quantitatives d’une part, et une variable quantitative d’autre
part. Cette dernière est appelée variable expliquée ; les autres variables quantitatives étant
appelées variables explicatives.

La relation entre les variables explicatives et la variable expliquée est donnée par la relation
linéaire suivante :
𝑌 = 𝑋𝛽 + 𝜖

𝑦1 1 𝑥11 … 𝑥1𝑝 𝛽0 𝜀1
𝑦2 1 𝑥21 … 𝑥2𝑝 𝛽 𝜀2
𝑌= ( ) 𝑋= ( ⋱ ) 𝛽 = ( 1) 𝜖= ( )
⋮ ⋮ ⋮ ⋮ ⋮ ⋮
𝑦𝑛 1 𝑥𝑛1 … 𝑥𝑛𝑝 𝛽𝑝 𝜀𝑛

Où :
 𝑦𝑖 : la valeur de la variable expliquée pour l’individu 𝑖.
 𝑥𝑖𝑗 : la valeur de la variable explicative 𝑗 pour l’individu 𝑖.
 𝛽 : vecteur des paramètres du modèle (à estimer).
 𝜖 : erreur générée par le modèle (par la régression).

𝑛 et 𝑝 sont respectivement le nombre d’individus et le nombre de variables explicatives.

Il s’agit donc d’estimer les paramètres 𝛽𝑗 qui minimisent l’erreur de la régression (erreur des
moindres carrés). Sous certaines conditions (𝑛 > 𝑝 + 1 et 𝑟𝑎𝑛𝑔(𝑋) = 𝑝 + 1), l’estimation de 𝛽
est donnée par la formule suivante :

𝛽̂ = (𝑋 𝑇 𝑋)−1 𝑋 𝑇 𝑌

1
Nous allons appliquer ce modèle sur un jeu de données contenant des informations sur les
pourcentages de personnes atteintes de maladies cardiaques dans différentes régions. Le
fichier de données [Link] contient les 3 variables quantitatives suivantes, pour un
échantillon de 498 individus (498 régions) :

biking Pourcentage de personnes qui utilisent le vélo pour aller au travail


smoking Pourcentage de personnes qui fument
[Link] Pourcentage de personnes atteintes de maladies cardiaques

Dans ce cas de figure, nous recherchons à mettre en relation les variables biking et smoking
(les variables explicatives) d’une part, et la variable [Link] (la variable expliquée)
d’autre part.

Les modules utilisés sont les mêmes utilisés dans les TPs précédents : numpy, pandas et
matplotlib.

>>> import numpy as np


>>> import pandas as pd
>>> import [Link] as plt
>>> import os

Importation et préparation des données


>>> [Link]('C:\\...\\...\\DataExamples')
>>> data = pd.read_csv('[Link]', sep=',')

>>> [Link]()
Unnamed: 0 biking smoking [Link]
0 1 30.801246 10.896608 11.769423
1 2 65.129215 2.219563 2.854081
2 3 1.959665 17.588331 17.177803
3 4 44.800196 2.802559 6.816647
4 5 69.428454 15.974505 4.062224

>>> Y = [Link](data['[Link]']) # Extraction de la variable expliquée

# Extraction des variables explicatives


>>> X = [Link]([data['biking'],data['smoking']]).T
>>> X[:5,:]
array([[30.80124571, 10.89660802],
[65.12921517, 2.21956318],
[ 1.95966453, 17.58833051],
[44.80019562, 2.80255888],
[69.42845368, 15.9745046 ]]

>>> n = [Link][0] # Nombre d’individus


>>> n
498
>>> p = [Link][1] # Nombre de variables (explicatives)
>>> p
2

>>> X = [Link](X, 0, [Link](n), axis=1) # Ajout du vecteur colonnes (contenant


>>> X[:5,:] # des 1 partout) à la 1ère position
array([[ 1. , 30.80124571, 10.89660802],
[ 1. , 65.12921517, 2.21956318],
[ 1. , 1.95966453, 17.58833051],
[ 1. , 44.80019562, 2.80255888],
[ 1. , 69.42845368, 15.9745046 ]])

2
Calcul des paramètres du modèle (vecteur 𝜷) et utilisation

Après avoir préparé le vecteur 𝑌 et la matrice 𝑋, il est à présent possible de calculer


l’estimation du vecteur 𝛽. Mais il faut s’assurer avant que la matrice 𝑋 𝑇 𝑋 est inversible
(déterminant différent de 0), et que les deux variables explicatives ne représentent pas la
même information (en d’autres termes, que le rang de la matrice est égal à p=2) :

>>> [Link].matrix_rank(X[:,1:]) # Le rang de la matrice des variables


2 # explicatives est bien égal à p=2

>>> [Link]([Link](X)) # Le déterminant est bien différent de 0


3900114699799.9175

Nous calculons l’estimation du vecteur 𝛽 :

>>> beta = [Link]([Link](X)).dot(X.T).dot(Y)


>>> beta
array([14.98465799, -0.20013305, 0.17833391])

Autrement dit :

[Link] = 14.985 – 0.2 * biking + 0.178 * smoking

𝑌̂ le vecteur estimé (ou l’approximation par la régression) de 𝑌 se calcule ainsi :

𝑌̂ = 𝑋𝛽̂

>>> Ye = [Link](beta) # Ye est le vecteur estimé de Y

Supposons que nous voulions estimer le pourcentage de personnes atteintes de maladies


cardiaques d’une nouvelle région dont on connaît seulement le pourcentage de personnes qui
fument (25% par exemple) et le pourcentage de personnes utilisant le vélo pour aller au travail
(2% par exemple). L’estimation se fait comme suit :

>>> [Link]([1, 2, 25], beta)


19.042739729263246

Le pourcentage de personnes atteintes de maladies cardiaques de cette région serait donc de


19.04%.

Coefficient de détermination

Le coefficient de détermination permet de mesurer la qualité d’ajustement du modèle (la


régression) aux données initiales. Il se repose sur le calcul des statistiques suivantes :

𝑆𝐶𝑇 = ∑𝑛𝑖=1(𝑦𝑖 − 𝑦̅)2 Somme des Carrés Totaux


Traduit la variabilité totale.

𝑆𝐶𝐸 = ∑𝑛𝑖=1(𝑦̂𝑖 − 𝑦̅)2 Somme des Carrés Expliqués


Traduit la variabilité expliquée par le modèle.

𝑆𝐶𝑅 = ∑𝑛𝑖=1(𝑦𝑖 − 𝑦̂𝑖 )2 Sommes des Carrés Résiduels


Traduit la variabilité non expliqué par le modèle

3
Le coefficient de détermination 𝑅 2 est donné par :

𝑆𝐶𝐸
𝑅2 =
𝑆𝐶𝑇

>>> SCE = pow([Link](),2).sum(


>>> SCE
10176.571092319944
>>>
>>> SCR = pow(Ye-Y,2).sum()
>>> SCR
211.74025108752582
>>>
>>> SCT = pow([Link](),2).sum()
>>> SCT
10388.311343407451
>>>
>>> R2 = SCE/SCT
>>> R2
0.9796174523377296

Nous avons un coefficient proche de 1 (donc SCE et proche de SCT), ce qui veut dire la
variabilité expliquée par la régression (le modèle) est proche de la variabilité totale. On en
déduit que la régression s’ajuste bien aux données initiales.

Test de significativité du modèle

L’étude de la régression linéaire est souvent complétée par le test d’hypothèse suivant :

- H0 : 𝛽1 = ⋯ = 𝛽𝑝 = 0 (indépendance linéaire entre Y et X)

- H1 : ∃𝑗 / 𝛽 ≠ 0

La statistique 𝐹 suivante suit une loi de Fisher à (𝑝, 𝑛 − 𝑝 − 1) degrés de liberté:

𝑆𝐶𝐸⁄
𝑝
𝐹=
𝑆𝐶𝑅⁄
(𝑛 − 𝑝 − 1)

>>> import [Link] as stat


>>>
>>> F = (SCE/p)/(SCR/(n-p-1))
>>> F
11895.241138200245
>>>
>>> p_value = 1 - [Link](F, p, n-p-1)
>>> p_value
1.1102230246251565e-16
>>>
>>> if p_value <= 0.05:
... print ('Rejet de H0 : Dépendance linéaire')
... else:
... print ('Pas de rejet de H0 : Indépendance linéaire')
...
Rejet de H0 : Dépendance linéaire

R. HACHEMI

Vous aimerez peut-être aussi