SlideShare a Scribd company logo
1 of 9
Download to read offline
TP Algorithmique Master 1 – IMI 2010/2011   TP-Algorithmique
 CourbesSujet : Approximation linéaire - droite VBA
         d’ajustement au sens des moindres carrées avec d’ajustement   au sens des moindres carrés

Réalisation : Kamel MOUATS
Master 1 – IMI Université Henri Poincaré 2010/2011


 1. Objectif du travail :
        Le premier objectif de ce travail est de réaliser une macro VBA qui permet de calculer
 et visualiser la droite d’ajustement (régression linéaire) au sens des moindres carrés d’un
 nuage de points (x,y).
 La macro a été étendue afin de tracer les courbes d’ajustement (régression polynomiale)
 d’ordre 2 et 3.

 2. Définitions :
 2.1. Courbe d’ajustement au sens des moindres carrées :
 L'ensemble des points répartis sur un système d'axes donne l'aspect d'une nuée de particules
 de poussière qui se disperse dans l'air. Ce système est d'ailleurs appelé diagramme de
 dispersion. Dans la plupart des cas, on peut, à partir de ce diagramme, faire la représentation
 d'une courbe continue autour de laquelle les points semblent se regrouper. Cette courbe est
 nommée courbe d'ajustement.

 Il existe plusieurs types communs de courbes d'ajustement possédant chacun leurs propres
 équations. La liste ci-dessous en fait l'énumération (non exhaustive):

 Droite:

 Parabole:

 Courbe cubique:

 Courbe du 4e degré:

 Courbe du ne degré:

 Hyperbole:

 …. etc


 2.2. Méthode graphique d'ajustement d'une courbe:
 On peut facilement déterminer une courbe d'ajustement d'un ensemble de données. C'est
 l'action de faire l'esquisse d'une courbe qui soit proche de l’ensemble des points (x,y)
 considérés.

 2.3. La droite d’ajustement
 La droite est certes le type de courbe d'approximation le plus simple. Tel que mentionné ci-
 dessus, son équation est:




  K.MOUATS                                                                                           1
TP Algorithmique Master 1 – IMI 2010/2011
Courbes d’ajustement au sens des moindres carrées avec VBA


Considérons deux points quelconques:            et        qui se retrouvent sur la droite. À partir
de ceux-ci, il devient possible de découvrir les constantes et . L'équation de la droite
prend alors la forme suivante:




On peut encore réduire l'équation si ont remplace
par m qui est la pente de la droite. Celle-ci représente la variation de Y sur la variation de x
correspondante. Reprenant l'équation de la droite à sa forme initiale, la constante est égale à
la pente et la seconde constante est égale à la valeur de Y lorsque X = 0.

2.4. La méthode des moindres carrés

Tel que mentionné plus haut, il est préférable d'éviter de porter un jugement personnel pour
l'obtention d'une courbe d'ajustement. On doit donc trouver la meilleure courbe d'ajustement.
C'est le rôle de la méthode des moindres carrés.

Examinons la figure suivante:




Figure 1. Exemple de courbe d’ajustement au sens des moindres carrés

Pour une valeur quelconque de X, par exemple X1, il y aura une différence ou erreur entre la
valeur de Y1 et la valeur qui lui correspond sur la courbe. Cette erreur est indiquée par E sur
la figure 1. Les valeurs que peuvent prendre celles-ci peuvent être positives, négatives ou
simplement, nulles.

On peut mesurer l'efficacité d'un ajustement en effectuant la somme des carrés des erreurs de
l'ensemble des données. Si cette somme est petite, l'ajustement est considéré comme étant
bon. À l'inverse, si elle est grande, l'ajustement est mauvais. On dit donc que parmi toutes les
courbes possibles qui s'approchent d'un ensemble de données, celle révélant le meilleur
ajustement est celle qui correspond à la propriété suivante:




 K.MOUATS                                                                                        2
TP Algorithmique Master 1 – IMI 2010/2011
Courbes d’ajustement au sens des moindres carrées avec VBA


minimum =

On appelle courbe des moindres carrées une courbe qui vérifie cette propriété.

La droite des moindres carrés ajustant les points            ,    ,...,        possède
l'équation suivante:




Les constantes et        peuvent être déterminées en résolvant les équations suivantes
simultanément:




Ces équations se nomment 'équations normales de la droite des moindres carrés'. On peut
calculer les constantes et à l'aide des formules suivantes:




et




 K.MOUATS                                                                                 3
TP Algorithmique Master 1 – IMI 2010/2011
Courbes d’ajustement au sens des moindres carrées avec VBA

3. Réalisation :

La Macro VBA qui calcule les paramètres de la courbe d’ajustement au sens des moindres
carrés :
Nous avons réussi à implémenter la macro qui lit une série de données (x,y), affiche la
dispersion (nuage de points) dans un graphique et calcule les paramètres de la droite
d’ajustement (pente et déplacement). En voici le programme associé.

  ‘Lecture des coordonnées (x,y) et calcul des paramètres de la droite d’ajustement
  Dim dimension As String; Dim nb_pt As String; Dim degre_MC As String
  Dim espace_MC As Integer; Dim point As Integer; Dim x_point As String
  Dim y_pont As String; Dim i As Integer

  dimension = InputBox("donner le degre de MC :") ‘ MC = Moindres carrées
  espace_MC = CSng(dimension)
  nb_pt = InputBox("donner le nombre de points :")
  point = CSng(nb_pt)

  Option Explicit
  Option Base 1
  Dim x(point) As Single ; Dim y(point) As Single ; Dim x_moy As Single
  Dim y_moy As Single; Dim s_num As Single ;Dim s_den As Single
  Dim A As Single; Dim B As Single

  For i = 1 To point
    x_point = InputBox("donner la valeur de x" & i)
    x(i) = CSng(x_point)
    y_point = InputBox("donner la valeur de y" & i)
    y(i) = CSng(y_point)
  Next i

  x_moy = 0
  y_moy = 0
  For i = 1 To point
    x_moy = x_moy + x(i)
    y_moy = y_moy + y(i)
  Next i
  x_moy = x_moy / point
  y_moy = y_moy / point

  If espace_MC = 1 Then
     s_num = 0
     s_den = 0
     For i = 1 To point
       s_num = s_num + (x(i) - x_moy) * (y(i) - y_moy)
       s_den = s_den + (x(i) - x_moy) ^ 2
     Next i
     A = s_num / s_den     ‘ la pente de la droite
     B = y_moy - A * x_moy ‘ le déplacement
  End If
  ‘ Droite d’ajustement au sens des moindres carrées : Y = AX + B
  End Sub
 K.MOUATS                                                                             4
TP Algorithmique Master 1 – IMI 2010/2011
Courbes d’ajustement au sens des moindres carrées avec VBA

Nous n’avons pas réussi à trouver la fonction/procédure VBA qui permet de tracer une courbe
à partir des deux paramètres précédemment calculé. Nous avons alors décidé d’opter pour le
principe de la feuille de calcul EXCEL.

Dans la deuxième partie, les données X et Y sont introduites dans une feuille de calcul
EXCEL (2 colonnes). La macro affiche le nuage de points dans une fenêtre graphique
EXCEL. En voici le corps de la macro


  ‘Lecture des coordonnées (x,y) et calcul des paramètres de la droite d’ajustement
  La macro pour graphique par selection

  Dim mongraph As Chart, mafeuille As Worksheet, plagedonnees As Range
  Set mafeuille = ThisWorkbook.Worksheets("Feuil1")
   With mafeuille
       Set plagedonnees = .Range(.Cells(1, 1), .Cells(1, 1).End(xlDown)).Resize(, 2)
       plagedonnees.Select
    End With
  Set mongraph = ThisWorkbook.Charts.Add
  mongraph.ChartType = xlXYScatter

  ‘Sélection de 2 premières colonnes de données dans la feuille de calcul et affichage du
  graphique EXCEL – nuage de points


A l’aide de ce programme, on sélectionne la feuille de calcul, source des données pour
lesquelles on veut tracer la courbe d’ajustement au sens des moindres carrées.
Les deux colonnes X et Y sont délimitées (sélectionnées) et le nuage de points est affiché
dans un graphique.
On fait appel à une fonction VBA, Trendelines(), paramétrable, et qui permet de tracer la
courbe d’ajustement (régression, tendance) : linéaire, parabolique et cubique.

Pour la première partie de la réalisation, nous avons implémenté une macro que nous avons
insérée dans la barre d’outils et qui peut être lancée en ouvrant le fichier TP-Moindres-
Carrees.xls.
La macro trace la droite d’ajustement associée aux données sélectionnée X et Y et trace
également leur dispersion (nuages de point).

L’icône associée à la macro est                 Macro1
:

NB. Remplir les colonnes des données X et Y
La macro permet également d’afficher l’équation de la droite d’ajustement.




 K.MOUATS                                                                                   5
TP Algorithmique Master 1 – IMI 2010/2011
Courbes d’ajustement au sens des moindres carrées avec VBA

Voici un exemple de ce que cette macro donne comme résultat.

 Données X              Données Y(X)
     2                      111
     3                      211
     1                      14
     5                      22
    11                       7
    17                       9
     5                      32
     6                      41
    21                      13
     8                      11
    18                      211
     9                      61
    19                      14
     7                      12
    27                       1
    11                       3

La droite d’ajustement au sens des moindres carrées résultante el exécutant la macro est :


                                       Droite d ajuustement au sens des moindres carrees


   250




   200




   150

                                                                                                       Données Y(X)
                                                                                                       Linéaire (Données Y(X))

   100




    50



                                                                           y = -1,694x + 66,311

     0
         0          5            10              15                 20                 25         30




 K.MOUATS                                                                                                             6
TP Algorithmique Master 1 – IMI 2010/2011
          Courbes d’ajustement au sens des moindres carrées avec VBA

          Pour tester la fiabilité de notre programme, on vire la moitié des données X et Y et on relance
          la macro.

           Données X            Données Y(X)
               2                    111
               3                    211
               1                    14
               5                    22
              11                     7
              17                     9
               5                    32
               6                    41
              21                    13
               8                    11
          La droite d’ajustement calculée :

                                            Droite d ajuustement au sens des moindres carrees


250




200




150




                                                                                                     Données Y(X)
100
                                                                                                     Linéaire (Données Y(X))




50




 0
      0                  5                 10                     15    y = -4,4638x + 82,364
                                                                                         20     25



-50


          On constate parfaitement le changement de l’équation de la droite et le nombre de points
          affichés.




           K.MOUATS                                                                                           7
TP Algorithmique Master 1 – IMI 2010/2011
  Courbes d’ajustement au sens des moindres carrées avec VBA

  Dans la deuxième partie de la réalisation, nous avons mis à la disposition de l’utilisateur le
  choix entre un ajustement linéaire (droite), parabolique ou cubique via un UseForm1 nommé
  Courbes d’Ajustement Khi2.
  La transition entre les différentes demandes de formats de courbes d’ajustement doit se faire
  obligatoirement en cliquant sur le bouton vert : Again qui préparera la requête suivante.




  Les données X et Y peuvent êtres modifiées ou étendues à chaque moment de l’exécution.
  Voici quelques imprimes d’écrans de tests réalisés sur le tableau mentionné dans la page 6.



                                      parabole d ajuustement au sens des moindres carrees


250




200




150

                                                                                                     Données Y(X)
                                                                                                     Polynomial (Données Y(X))

100




50
                                                              y = 0,0958x2 - 4,1954x + 76,847




 0
      0           5             10              15                20                 25         30




      K.MOUATS                                                                                               8
TP Algorithmique Master 1 – IMI 2010/2011
          Courbes d’ajustement au sens des moindres carrées avec VBA

                                          courbe cubique d ajuustement au sens des moindres carrees


250




200




150




                                                                                                           Données Y(X)
100
                                                                                                           Polynomial (Données Y(X))


                                                        y = -0,0455x3 + 1,9716x2 - 24,804x + 127,59

50




 0
      0               5              10                15                 20                 25       30



-50



          Remarque :
          Pour le bon déroulement des différentes exécutions, il faut que la page active d’EXCEL soit
          celle des données. Un graphique affiché pourrait bloquer un lancement du programme
          (problème de référence SetSourceData de VBA).

          4. Conclusion :
               Dans ce travail, nous avons utilisé VBA pour la mise en œuvre d’un noyau de
                réalisation de calcul et traçage de courbes d’ajustement au sens des moindres carrés :
                droite d’ajustement linéaire, parabolique et cubique.

                 La difficulté à trouver la fonction VBA pour tracer une courbe à partir de sa pente et
                  son déplacement nous a orientés vers l’utilisation de fonctions VBA prédéfinies pour
                  le traçage de courbes de tendances.

                 Nous avons obtenu une bonne représentation graphique des courbes d’ajustement, un
                  calcul qui s’adapte avec la plage de données sélectionnées. Un calcul de la qualité de
                  la solution (courbe) : valeur de l’erreur de l’ajustement aurait été un plus pour
                  l’évaluation de la solution.

                 Un module de traitement d’aléas / erreurs de manipulation, de données … etc. est à
                  prévoir car il n’a pas été intégré dans cette réalisation.

                 Vu la lourdeur de VBA (constat personnel) et la difficulté rencontrée dans son
                  utilisation, l’exécutable n’a pas été généré mais tout le code source a été fourni.


           K.MOUATS                                                                                                   9

More Related Content

What's hot

01 résistance des matériaux
01 résistance des matériaux01 résistance des matériaux
01 résistance des matériaux
AdilZa2
 
Transmission de puissance
Transmission de puissanceTransmission de puissance
Transmission de puissance
Binsaf1
 
Coupe et sections doc eleve
Coupe et sections doc eleveCoupe et sections doc eleve
Coupe et sections doc eleve
GABRIEL SIMO
 
Devoir+corrigé+de+synthèse+n°3+ +génie+mécanique+système+de+grénaillage+et+de...
Devoir+corrigé+de+synthèse+n°3+ +génie+mécanique+système+de+grénaillage+et+de...Devoir+corrigé+de+synthèse+n°3+ +génie+mécanique+système+de+grénaillage+et+de...
Devoir+corrigé+de+synthèse+n°3+ +génie+mécanique+système+de+grénaillage+et+de...
Majda El Aouni
 
Chapitre 8 flexion pure
Chapitre 8 flexion pureChapitre 8 flexion pure
Chapitre 8 flexion pure
Mouna Souissi
 
Guide Motion Control - intelligence et performance au coeur des machines
Guide Motion Control - intelligence et performance au coeur des machinesGuide Motion Control - intelligence et performance au coeur des machines
Guide Motion Control - intelligence et performance au coeur des machines
Gimélec
 
Cahier 1AS- 2022-officiel.pdf
Cahier 1AS- 2022-officiel.pdfCahier 1AS- 2022-officiel.pdf
Cahier 1AS- 2022-officiel.pdf
WassimOudni
 
Pince+bras+manipulateur+(corrigé)
Pince+bras+manipulateur+(corrigé)Pince+bras+manipulateur+(corrigé)
Pince+bras+manipulateur+(corrigé)
Mohamed Trabelsi
 

What's hot (20)

05 gamme
05 gamme05 gamme
05 gamme
 
Cours rdm
Cours rdmCours rdm
Cours rdm
 
14 montages et calculs des roulements
14 montages et calculs des roulements14 montages et calculs des roulements
14 montages et calculs des roulements
 
Cahier 1er technique 2023.pdf
Cahier 1er technique 2023.pdfCahier 1er technique 2023.pdf
Cahier 1er technique 2023.pdf
 
01 résistance des matériaux
01 résistance des matériaux01 résistance des matériaux
01 résistance des matériaux
 
Transmission de puissance
Transmission de puissanceTransmission de puissance
Transmission de puissance
 
Coupe et sections doc eleve
Coupe et sections doc eleveCoupe et sections doc eleve
Coupe et sections doc eleve
 
Devoir+corrigé+de+synthèse+n°3+ +génie+mécanique+système+de+grénaillage+et+de...
Devoir+corrigé+de+synthèse+n°3+ +génie+mécanique+système+de+grénaillage+et+de...Devoir+corrigé+de+synthèse+n°3+ +génie+mécanique+système+de+grénaillage+et+de...
Devoir+corrigé+de+synthèse+n°3+ +génie+mécanique+système+de+grénaillage+et+de...
 
Métrologie
MétrologieMétrologie
Métrologie
 
Chapitre 8 flexion pure
Chapitre 8 flexion pureChapitre 8 flexion pure
Chapitre 8 flexion pure
 
Cours RDM 1.pdf
Cours RDM 1.pdfCours RDM 1.pdf
Cours RDM 1.pdf
 
Correction Examen 2014-2015 RDM
Correction Examen 2014-2015 RDMCorrection Examen 2014-2015 RDM
Correction Examen 2014-2015 RDM
 
Cotation fonctionnelle
Cotation fonctionnelleCotation fonctionnelle
Cotation fonctionnelle
 
Guide Motion Control - intelligence et performance au coeur des machines
Guide Motion Control - intelligence et performance au coeur des machinesGuide Motion Control - intelligence et performance au coeur des machines
Guide Motion Control - intelligence et performance au coeur des machines
 
Analyse Factorielle des Correspondances
Analyse Factorielle des CorrespondancesAnalyse Factorielle des Correspondances
Analyse Factorielle des Correspondances
 
Métrologie - les instruments de mesure
Métrologie - les instruments de mesureMétrologie - les instruments de mesure
Métrologie - les instruments de mesure
 
Cahier 1AS- 2022-officiel.pdf
Cahier 1AS- 2022-officiel.pdfCahier 1AS- 2022-officiel.pdf
Cahier 1AS- 2022-officiel.pdf
 
Cahier Meca 4 ST Part 1/2
Cahier Meca 4 ST Part 1/2Cahier Meca 4 ST Part 1/2
Cahier Meca 4 ST Part 1/2
 
Cahier Meca 3 ST Part 1/2
Cahier Meca 3 ST Part 1/2Cahier Meca 3 ST Part 1/2
Cahier Meca 3 ST Part 1/2
 
Pince+bras+manipulateur+(corrigé)
Pince+bras+manipulateur+(corrigé)Pince+bras+manipulateur+(corrigé)
Pince+bras+manipulateur+(corrigé)
 

Viewers also liked

Actividad # 2
Actividad # 2Actividad # 2
Actividad # 2
130609
 
Douleur douleur et methodologie d'essais cliniques
Douleur douleur et methodologie d'essais cliniquesDouleur douleur et methodologie d'essais cliniques
Douleur douleur et methodologie d'essais cliniques
drmouheb
 
Forage textuel des controverses climatiques
Forage textuel des controverses climatiquesForage textuel des controverses climatiques
Forage textuel des controverses climatiques
Giancarlo Luxardo
 
Tics de la informacion
Tics de la informacionTics de la informacion
Tics de la informacion
YesitaO
 
Hommage à MOZART !
Hommage à MOZART ! Hommage à MOZART !
Hommage à MOZART !
Youcef63000
 
Los schneiders
Los schneidersLos schneiders
Los schneiders
nix8221
 
Sociedad del conocimiento
Sociedad del conocimientoSociedad del conocimiento
Sociedad del conocimiento
karipilar1
 

Viewers also liked (20)

Découverte du manga (5) : le récit avant tout
Découverte du manga (5) : le récit avant toutDécouverte du manga (5) : le récit avant tout
Découverte du manga (5) : le récit avant tout
 
Informática Aplicada
Informática Aplicada Informática Aplicada
Informática Aplicada
 
Arrêt cour cassation AZF 13 janvier 2015
Arrêt cour cassation AZF 13 janvier 2015Arrêt cour cassation AZF 13 janvier 2015
Arrêt cour cassation AZF 13 janvier 2015
 
Wine LR - média de promotion territoriale - Région Languedoc-Roussillon
Wine LR - média de promotion territoriale - Région Languedoc-RoussillonWine LR - média de promotion territoriale - Région Languedoc-Roussillon
Wine LR - média de promotion territoriale - Région Languedoc-Roussillon
 
Actividad # 2
Actividad # 2Actividad # 2
Actividad # 2
 
Goap – unesco global open access portal (2)
Goap – unesco global open access portal (2)Goap – unesco global open access portal (2)
Goap – unesco global open access portal (2)
 
30 sites de recrutement
30 sites de recrutement  30 sites de recrutement
30 sites de recrutement
 
Les Ecodomial Domial été 2014
Les Ecodomial Domial été 2014Les Ecodomial Domial été 2014
Les Ecodomial Domial été 2014
 
Douleur douleur et methodologie d'essais cliniques
Douleur douleur et methodologie d'essais cliniquesDouleur douleur et methodologie d'essais cliniques
Douleur douleur et methodologie d'essais cliniques
 
Forage textuel des controverses climatiques
Forage textuel des controverses climatiquesForage textuel des controverses climatiques
Forage textuel des controverses climatiques
 
Práctica de word
Práctica de wordPráctica de word
Práctica de word
 
Tics de la informacion
Tics de la informacionTics de la informacion
Tics de la informacion
 
Découverte du manga (12) - Le manga en crise ?
Découverte du manga (12) - Le manga en crise ?Découverte du manga (12) - Le manga en crise ?
Découverte du manga (12) - Le manga en crise ?
 
Hommage à MOZART !
Hommage à MOZART ! Hommage à MOZART !
Hommage à MOZART !
 
Los schneiders
Los schneidersLos schneiders
Los schneiders
 
Correo
CorreoCorreo
Correo
 
Phildu01
Phildu01Phildu01
Phildu01
 
Sociedad del conocimiento
Sociedad del conocimientoSociedad del conocimiento
Sociedad del conocimiento
 
Gen compus
Gen compusGen compus
Gen compus
 
Qualimen
QualimenQualimen
Qualimen
 

Similar to Approximation Linéaire - Droite d ajustement au sens des moindres carrés

M2 An 1986 20 3 371 0
M2 An 1986  20 3 371 0M2 An 1986  20 3 371 0
M2 An 1986 20 3 371 0
guest8b8369
 
Controlegestion
ControlegestionControlegestion
Controlegestion
hassan1488
 
(Statdes regression biv_ensta_21oct2010)
(Statdes regression biv_ensta_21oct2010)(Statdes regression biv_ensta_21oct2010)
(Statdes regression biv_ensta_21oct2010)
mohamedchaouche
 
Laffly regression multiple
Laffly regression multipleLaffly regression multiple
Laffly regression multiple
mohamedchaouche
 

Similar to Approximation Linéaire - Droite d ajustement au sens des moindres carrés (20)

Msm1 corr algebre
Msm1 corr algebreMsm1 corr algebre
Msm1 corr algebre
 
Quad-expo-stats
Quad-expo-statsQuad-expo-stats
Quad-expo-stats
 
Tp3 matlab
Tp3 matlabTp3 matlab
Tp3 matlab
 
M2 An 1986 20 3 371 0
M2 An 1986  20 3 371 0M2 An 1986  20 3 371 0
M2 An 1986 20 3 371 0
 
Matlab Travaux Pratique
Matlab Travaux Pratique Matlab Travaux Pratique
Matlab Travaux Pratique
 
CHAPITRE VIII : Systèmes linéaires Modélisation & Simulation
CHAPITRE VIII :  Systèmes linéaires Modélisation & SimulationCHAPITRE VIII :  Systèmes linéaires Modélisation & Simulation
CHAPITRE VIII : Systèmes linéaires Modélisation & Simulation
 
Vision Numérique : Rappels mathématiques
Vision Numérique : Rappels mathématiquesVision Numérique : Rappels mathématiques
Vision Numérique : Rappels mathématiques
 
Mettre obligatoirement le titre de la leçon ici
Mettre obligatoirement le titre de la leçon iciMettre obligatoirement le titre de la leçon ici
Mettre obligatoirement le titre de la leçon ici
 
statistique dsc s1
   statistique dsc s1   statistique dsc s1
statistique dsc s1
 
Statistique Descriptive s1
Statistique Descriptive s1Statistique Descriptive s1
Statistique Descriptive s1
 
04 cours matrices_suites
04 cours matrices_suites04 cours matrices_suites
04 cours matrices_suites
 
GEII - Ma3 - Matrices
GEII - Ma3 - MatricesGEII - Ma3 - Matrices
GEII - Ma3 - Matrices
 
Resumglobal sii
Resumglobal siiResumglobal sii
Resumglobal sii
 
Statistiques
StatistiquesStatistiques
Statistiques
 
Controlegestion
ControlegestionControlegestion
Controlegestion
 
(Statdes regression biv_ensta_21oct2010)
(Statdes regression biv_ensta_21oct2010)(Statdes regression biv_ensta_21oct2010)
(Statdes regression biv_ensta_21oct2010)
 
FINAL.pptx
FINAL.pptxFINAL.pptx
FINAL.pptx
 
BoiteOutilsMathematiques a l'usage des techniciens20181126.pdf
BoiteOutilsMathematiques a l'usage des techniciens20181126.pdfBoiteOutilsMathematiques a l'usage des techniciens20181126.pdf
BoiteOutilsMathematiques a l'usage des techniciens20181126.pdf
 
Laffly regression multiple
Laffly regression multipleLaffly regression multiple
Laffly regression multiple
 
Statistique descriptives s1 de bien www.learneconomie.blogspot.com]
Statistique descriptives  s1 de bien www.learneconomie.blogspot.com]Statistique descriptives  s1 de bien www.learneconomie.blogspot.com]
Statistique descriptives s1 de bien www.learneconomie.blogspot.com]
 

More from Cédric Mouats

Restructuration d applications Java Temps réel
Restructuration d applications Java Temps réelRestructuration d applications Java Temps réel
Restructuration d applications Java Temps réel
Cédric Mouats
 

More from Cédric Mouats (19)

PRISE EN CHARGE DES CURISTES EN POST-AVC /PLACE ET MISSION DE L’AGENT THERMAL
PRISE EN CHARGE DES CURISTES EN POST-AVC /PLACE ET MISSION DE L’AGENT THERMALPRISE EN CHARGE DES CURISTES EN POST-AVC /PLACE ET MISSION DE L’AGENT THERMAL
PRISE EN CHARGE DES CURISTES EN POST-AVC /PLACE ET MISSION DE L’AGENT THERMAL
 
Prise en charge en cure thermale de personne hémiplégiques post-AVC- présenta...
Prise en charge en cure thermale de personne hémiplégiques post-AVC- présenta...Prise en charge en cure thermale de personne hémiplégiques post-AVC- présenta...
Prise en charge en cure thermale de personne hémiplégiques post-AVC- présenta...
 
Prise en charge en cure thermale de personnes hémiplégiques post-AVC
Prise en charge en cure thermale de personnes hémiplégiques post-AVCPrise en charge en cure thermale de personnes hémiplégiques post-AVC
Prise en charge en cure thermale de personnes hémiplégiques post-AVC
 
Amélioration de la performance cardiorespiratoire auprès du public adulte
Amélioration de la performance cardiorespiratoire auprès du public adulteAmélioration de la performance cardiorespiratoire auprès du public adulte
Amélioration de la performance cardiorespiratoire auprès du public adulte
 
Projet de spectacle "La Difference" par Kamel MOUATS
Projet de spectacle "La Difference" par Kamel MOUATSProjet de spectacle "La Difference" par Kamel MOUATS
Projet de spectacle "La Difference" par Kamel MOUATS
 
Ailes Musicales : projet de création d'une boite de production de spectacles ...
Ailes Musicales : projet de création d'une boite de production de spectacles ...Ailes Musicales : projet de création d'une boite de production de spectacles ...
Ailes Musicales : projet de création d'une boite de production de spectacles ...
 
Projet de scénario original : L’Exilé malgré lui / Loin des murs du front
Projet de scénario original : L’Exilé malgré lui / Loin des murs du front Projet de scénario original : L’Exilé malgré lui / Loin des murs du front
Projet de scénario original : L’Exilé malgré lui / Loin des murs du front
 
Refonte de site web : cas pratique - site du master INI
Refonte de site web  : cas pratique - site du master INIRefonte de site web  : cas pratique - site du master INI
Refonte de site web : cas pratique - site du master INI
 
Gestion de la production de films promotionnels - Projet en bases de données
Gestion de la production de films promotionnels - Projet en bases de donnéesGestion de la production de films promotionnels - Projet en bases de données
Gestion de la production de films promotionnels - Projet en bases de données
 
Réalisation de Documenteur : Un scandale éthique dans la campagne de vaccinat...
Réalisation de Documenteur : Un scandale éthique dans la campagne de vaccinat...Réalisation de Documenteur : Un scandale éthique dans la campagne de vaccinat...
Réalisation de Documenteur : Un scandale éthique dans la campagne de vaccinat...
 
Les fichiers vidéos
Les fichiers vidéosLes fichiers vidéos
Les fichiers vidéos
 
Dimensions artistiques du Catch : entre une discipline sportive et un spectac...
Dimensions artistiques du Catch : entre une discipline sportive et un spectac...Dimensions artistiques du Catch : entre une discipline sportive et un spectac...
Dimensions artistiques du Catch : entre une discipline sportive et un spectac...
 
Organisation de colloque scientifique - cas pratique : TRANSCOMAS
Organisation de colloque scientifique - cas pratique : TRANSCOMASOrganisation de colloque scientifique - cas pratique : TRANSCOMAS
Organisation de colloque scientifique - cas pratique : TRANSCOMAS
 
Réponse à un appel d offre
Réponse à un appel d offreRéponse à un appel d offre
Réponse à un appel d offre
 
Analyse du clip Judas de Lady Gaga
Analyse du clip Judas de Lady GagaAnalyse du clip Judas de Lady Gaga
Analyse du clip Judas de Lady Gaga
 
Restructuration d applications Java Temps réel
Restructuration d applications Java Temps réelRestructuration d applications Java Temps réel
Restructuration d applications Java Temps réel
 
Segmentation d images de documents anciens par approche texture - Mo…
Segmentation d images de documents anciens par approche texture - Mo…Segmentation d images de documents anciens par approche texture - Mo…
Segmentation d images de documents anciens par approche texture - Mo…
 
Segmentation floue d images de documents anciens par approche textur…
Segmentation floue d images de documents anciens par approche textur…Segmentation floue d images de documents anciens par approche textur…
Segmentation floue d images de documents anciens par approche textur…
 
Modes de fusion des calques
Modes de fusion des calquesModes de fusion des calques
Modes de fusion des calques
 

Approximation Linéaire - Droite d ajustement au sens des moindres carrés

  • 1. TP Algorithmique Master 1 – IMI 2010/2011 TP-Algorithmique CourbesSujet : Approximation linéaire - droite VBA d’ajustement au sens des moindres carrées avec d’ajustement au sens des moindres carrés Réalisation : Kamel MOUATS Master 1 – IMI Université Henri Poincaré 2010/2011 1. Objectif du travail : Le premier objectif de ce travail est de réaliser une macro VBA qui permet de calculer et visualiser la droite d’ajustement (régression linéaire) au sens des moindres carrés d’un nuage de points (x,y). La macro a été étendue afin de tracer les courbes d’ajustement (régression polynomiale) d’ordre 2 et 3. 2. Définitions : 2.1. Courbe d’ajustement au sens des moindres carrées : L'ensemble des points répartis sur un système d'axes donne l'aspect d'une nuée de particules de poussière qui se disperse dans l'air. Ce système est d'ailleurs appelé diagramme de dispersion. Dans la plupart des cas, on peut, à partir de ce diagramme, faire la représentation d'une courbe continue autour de laquelle les points semblent se regrouper. Cette courbe est nommée courbe d'ajustement. Il existe plusieurs types communs de courbes d'ajustement possédant chacun leurs propres équations. La liste ci-dessous en fait l'énumération (non exhaustive): Droite: Parabole: Courbe cubique: Courbe du 4e degré: Courbe du ne degré: Hyperbole: …. etc 2.2. Méthode graphique d'ajustement d'une courbe: On peut facilement déterminer une courbe d'ajustement d'un ensemble de données. C'est l'action de faire l'esquisse d'une courbe qui soit proche de l’ensemble des points (x,y) considérés. 2.3. La droite d’ajustement La droite est certes le type de courbe d'approximation le plus simple. Tel que mentionné ci- dessus, son équation est: K.MOUATS 1
  • 2. TP Algorithmique Master 1 – IMI 2010/2011 Courbes d’ajustement au sens des moindres carrées avec VBA Considérons deux points quelconques: et qui se retrouvent sur la droite. À partir de ceux-ci, il devient possible de découvrir les constantes et . L'équation de la droite prend alors la forme suivante: On peut encore réduire l'équation si ont remplace par m qui est la pente de la droite. Celle-ci représente la variation de Y sur la variation de x correspondante. Reprenant l'équation de la droite à sa forme initiale, la constante est égale à la pente et la seconde constante est égale à la valeur de Y lorsque X = 0. 2.4. La méthode des moindres carrés Tel que mentionné plus haut, il est préférable d'éviter de porter un jugement personnel pour l'obtention d'une courbe d'ajustement. On doit donc trouver la meilleure courbe d'ajustement. C'est le rôle de la méthode des moindres carrés. Examinons la figure suivante: Figure 1. Exemple de courbe d’ajustement au sens des moindres carrés Pour une valeur quelconque de X, par exemple X1, il y aura une différence ou erreur entre la valeur de Y1 et la valeur qui lui correspond sur la courbe. Cette erreur est indiquée par E sur la figure 1. Les valeurs que peuvent prendre celles-ci peuvent être positives, négatives ou simplement, nulles. On peut mesurer l'efficacité d'un ajustement en effectuant la somme des carrés des erreurs de l'ensemble des données. Si cette somme est petite, l'ajustement est considéré comme étant bon. À l'inverse, si elle est grande, l'ajustement est mauvais. On dit donc que parmi toutes les courbes possibles qui s'approchent d'un ensemble de données, celle révélant le meilleur ajustement est celle qui correspond à la propriété suivante: K.MOUATS 2
  • 3. TP Algorithmique Master 1 – IMI 2010/2011 Courbes d’ajustement au sens des moindres carrées avec VBA minimum = On appelle courbe des moindres carrées une courbe qui vérifie cette propriété. La droite des moindres carrés ajustant les points , ,..., possède l'équation suivante: Les constantes et peuvent être déterminées en résolvant les équations suivantes simultanément: Ces équations se nomment 'équations normales de la droite des moindres carrés'. On peut calculer les constantes et à l'aide des formules suivantes: et K.MOUATS 3
  • 4. TP Algorithmique Master 1 – IMI 2010/2011 Courbes d’ajustement au sens des moindres carrées avec VBA 3. Réalisation : La Macro VBA qui calcule les paramètres de la courbe d’ajustement au sens des moindres carrés : Nous avons réussi à implémenter la macro qui lit une série de données (x,y), affiche la dispersion (nuage de points) dans un graphique et calcule les paramètres de la droite d’ajustement (pente et déplacement). En voici le programme associé. ‘Lecture des coordonnées (x,y) et calcul des paramètres de la droite d’ajustement Dim dimension As String; Dim nb_pt As String; Dim degre_MC As String Dim espace_MC As Integer; Dim point As Integer; Dim x_point As String Dim y_pont As String; Dim i As Integer dimension = InputBox("donner le degre de MC :") ‘ MC = Moindres carrées espace_MC = CSng(dimension) nb_pt = InputBox("donner le nombre de points :") point = CSng(nb_pt) Option Explicit Option Base 1 Dim x(point) As Single ; Dim y(point) As Single ; Dim x_moy As Single Dim y_moy As Single; Dim s_num As Single ;Dim s_den As Single Dim A As Single; Dim B As Single For i = 1 To point x_point = InputBox("donner la valeur de x" & i) x(i) = CSng(x_point) y_point = InputBox("donner la valeur de y" & i) y(i) = CSng(y_point) Next i x_moy = 0 y_moy = 0 For i = 1 To point x_moy = x_moy + x(i) y_moy = y_moy + y(i) Next i x_moy = x_moy / point y_moy = y_moy / point If espace_MC = 1 Then s_num = 0 s_den = 0 For i = 1 To point s_num = s_num + (x(i) - x_moy) * (y(i) - y_moy) s_den = s_den + (x(i) - x_moy) ^ 2 Next i A = s_num / s_den ‘ la pente de la droite B = y_moy - A * x_moy ‘ le déplacement End If ‘ Droite d’ajustement au sens des moindres carrées : Y = AX + B End Sub K.MOUATS 4
  • 5. TP Algorithmique Master 1 – IMI 2010/2011 Courbes d’ajustement au sens des moindres carrées avec VBA Nous n’avons pas réussi à trouver la fonction/procédure VBA qui permet de tracer une courbe à partir des deux paramètres précédemment calculé. Nous avons alors décidé d’opter pour le principe de la feuille de calcul EXCEL. Dans la deuxième partie, les données X et Y sont introduites dans une feuille de calcul EXCEL (2 colonnes). La macro affiche le nuage de points dans une fenêtre graphique EXCEL. En voici le corps de la macro ‘Lecture des coordonnées (x,y) et calcul des paramètres de la droite d’ajustement La macro pour graphique par selection Dim mongraph As Chart, mafeuille As Worksheet, plagedonnees As Range Set mafeuille = ThisWorkbook.Worksheets("Feuil1") With mafeuille Set plagedonnees = .Range(.Cells(1, 1), .Cells(1, 1).End(xlDown)).Resize(, 2) plagedonnees.Select End With Set mongraph = ThisWorkbook.Charts.Add mongraph.ChartType = xlXYScatter ‘Sélection de 2 premières colonnes de données dans la feuille de calcul et affichage du graphique EXCEL – nuage de points A l’aide de ce programme, on sélectionne la feuille de calcul, source des données pour lesquelles on veut tracer la courbe d’ajustement au sens des moindres carrées. Les deux colonnes X et Y sont délimitées (sélectionnées) et le nuage de points est affiché dans un graphique. On fait appel à une fonction VBA, Trendelines(), paramétrable, et qui permet de tracer la courbe d’ajustement (régression, tendance) : linéaire, parabolique et cubique. Pour la première partie de la réalisation, nous avons implémenté une macro que nous avons insérée dans la barre d’outils et qui peut être lancée en ouvrant le fichier TP-Moindres- Carrees.xls. La macro trace la droite d’ajustement associée aux données sélectionnée X et Y et trace également leur dispersion (nuages de point). L’icône associée à la macro est Macro1 : NB. Remplir les colonnes des données X et Y La macro permet également d’afficher l’équation de la droite d’ajustement. K.MOUATS 5
  • 6. TP Algorithmique Master 1 – IMI 2010/2011 Courbes d’ajustement au sens des moindres carrées avec VBA Voici un exemple de ce que cette macro donne comme résultat. Données X Données Y(X) 2 111 3 211 1 14 5 22 11 7 17 9 5 32 6 41 21 13 8 11 18 211 9 61 19 14 7 12 27 1 11 3 La droite d’ajustement au sens des moindres carrées résultante el exécutant la macro est : Droite d ajuustement au sens des moindres carrees 250 200 150 Données Y(X) Linéaire (Données Y(X)) 100 50 y = -1,694x + 66,311 0 0 5 10 15 20 25 30 K.MOUATS 6
  • 7. TP Algorithmique Master 1 – IMI 2010/2011 Courbes d’ajustement au sens des moindres carrées avec VBA Pour tester la fiabilité de notre programme, on vire la moitié des données X et Y et on relance la macro. Données X Données Y(X) 2 111 3 211 1 14 5 22 11 7 17 9 5 32 6 41 21 13 8 11 La droite d’ajustement calculée : Droite d ajuustement au sens des moindres carrees 250 200 150 Données Y(X) 100 Linéaire (Données Y(X)) 50 0 0 5 10 15 y = -4,4638x + 82,364 20 25 -50 On constate parfaitement le changement de l’équation de la droite et le nombre de points affichés. K.MOUATS 7
  • 8. TP Algorithmique Master 1 – IMI 2010/2011 Courbes d’ajustement au sens des moindres carrées avec VBA Dans la deuxième partie de la réalisation, nous avons mis à la disposition de l’utilisateur le choix entre un ajustement linéaire (droite), parabolique ou cubique via un UseForm1 nommé Courbes d’Ajustement Khi2. La transition entre les différentes demandes de formats de courbes d’ajustement doit se faire obligatoirement en cliquant sur le bouton vert : Again qui préparera la requête suivante. Les données X et Y peuvent êtres modifiées ou étendues à chaque moment de l’exécution. Voici quelques imprimes d’écrans de tests réalisés sur le tableau mentionné dans la page 6. parabole d ajuustement au sens des moindres carrees 250 200 150 Données Y(X) Polynomial (Données Y(X)) 100 50 y = 0,0958x2 - 4,1954x + 76,847 0 0 5 10 15 20 25 30 K.MOUATS 8
  • 9. TP Algorithmique Master 1 – IMI 2010/2011 Courbes d’ajustement au sens des moindres carrées avec VBA courbe cubique d ajuustement au sens des moindres carrees 250 200 150 Données Y(X) 100 Polynomial (Données Y(X)) y = -0,0455x3 + 1,9716x2 - 24,804x + 127,59 50 0 0 5 10 15 20 25 30 -50 Remarque : Pour le bon déroulement des différentes exécutions, il faut que la page active d’EXCEL soit celle des données. Un graphique affiché pourrait bloquer un lancement du programme (problème de référence SetSourceData de VBA). 4. Conclusion :  Dans ce travail, nous avons utilisé VBA pour la mise en œuvre d’un noyau de réalisation de calcul et traçage de courbes d’ajustement au sens des moindres carrés : droite d’ajustement linéaire, parabolique et cubique.  La difficulté à trouver la fonction VBA pour tracer une courbe à partir de sa pente et son déplacement nous a orientés vers l’utilisation de fonctions VBA prédéfinies pour le traçage de courbes de tendances.  Nous avons obtenu une bonne représentation graphique des courbes d’ajustement, un calcul qui s’adapte avec la plage de données sélectionnées. Un calcul de la qualité de la solution (courbe) : valeur de l’erreur de l’ajustement aurait été un plus pour l’évaluation de la solution.  Un module de traitement d’aléas / erreurs de manipulation, de données … etc. est à prévoir car il n’a pas été intégré dans cette réalisation.  Vu la lourdeur de VBA (constat personnel) et la difficulté rencontrée dans son utilisation, l’exécutable n’a pas été généré mais tout le code source a été fourni. K.MOUATS 9