Régression linéaire sur VB6
roudoudou
-
goldboy -
goldboy -
Amis informaticiens, bonjour !
Actuellement en licence de chimie (vous allez me dire : mais qu'est-ce tu fous là ??!! attendez, j'y arrive) on me demande dans le cadre d'une option info de déveloper un programme de régression linéaire sur VB6. Je précise bien sûr qu'à part word, excel et internet je ne connais rien à l'informatique... d'où un profond désarroi.
Je vais donc appel à vous, ô génies de la programmation, pour me donner quelques pistes, en langage extrêmement simple, sur ce programme qui me fait peur... On me demande à partir d'un fichier texte de coordonnées de points de calculer la pente a de la droite de régression et son ordonnée b, et bien sur de calculer le coeff de correlation, r²...
HEEELP !!!
Merci pour vos réponses
Marion
Actuellement en licence de chimie (vous allez me dire : mais qu'est-ce tu fous là ??!! attendez, j'y arrive) on me demande dans le cadre d'une option info de déveloper un programme de régression linéaire sur VB6. Je précise bien sûr qu'à part word, excel et internet je ne connais rien à l'informatique... d'où un profond désarroi.
Je vais donc appel à vous, ô génies de la programmation, pour me donner quelques pistes, en langage extrêmement simple, sur ce programme qui me fait peur... On me demande à partir d'un fichier texte de coordonnées de points de calculer la pente a de la droite de régression et son ordonnée b, et bien sur de calculer le coeff de correlation, r²...
HEEELP !!!
Merci pour vos réponses
Marion
A voir également:
- Régression linéaire pondérée excel
- Moyenne pondérée - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
3 réponses
salut voila le programme de la régression lineaire en VB/
' Effectuer une régression linéaire
' En entrée : un tableau de 5 points (0->4)
' En sortie : m (pente), b (décalage), Precision (Précision)
Public Sub Effectue_Regression(m As Double, b As Double, Precision As Double, Point() As CPoint)
On Error GoTo Erreur
Dim Xbarre As Double
Dim Ybarre As Double
Dim Numerateur As Double
Dim Denominateur As Double
Dim Y_Moyen As Double
Dim i As Integer
' Calcul de XBarre et YBarre
Xbarre = 0
Ybarre = 0
For i = 0 To 4
Xbarre = Xbarre + Point(i).X
Ybarre = Ybarre + Point(i).Y
Next i
Xbarre = Xbarre / 5
Ybarre = Ybarre / 5
'Calcul de m et b
Numerateur = 0
Denominateur = 0
For i = 0 To 4
Numerateur = Numerateur + (Point(i).X - Xbarre) * (Point(i).Y - Ybarre)
Denominateur = Denominateur + (Point(i).X - Xbarre) ^ 2
Next i
' pente
m = Numerateur / Denominateur
' constante
b = Ybarre - m * Xbarre
' Precision de l'estimation (estimation 'maison')
Precision = 0
For i = 0 To 4: Precision = Precision + ((m * Point(i).X + b) - Point(i).Y) ^ 2: Next i
Y_Moyen = 0
For i = 0 To 4: Y_Moyen = Y_Moyen + Point(i).Y ^ 2: Next i
Y_Moyen = Y_Moyen / 5
Precision = Precision / Y_Moyen
Exit Sub
BONNE JOURNEE
' Effectuer une régression linéaire
' En entrée : un tableau de 5 points (0->4)
' En sortie : m (pente), b (décalage), Precision (Précision)
Public Sub Effectue_Regression(m As Double, b As Double, Precision As Double, Point() As CPoint)
On Error GoTo Erreur
Dim Xbarre As Double
Dim Ybarre As Double
Dim Numerateur As Double
Dim Denominateur As Double
Dim Y_Moyen As Double
Dim i As Integer
' Calcul de XBarre et YBarre
Xbarre = 0
Ybarre = 0
For i = 0 To 4
Xbarre = Xbarre + Point(i).X
Ybarre = Ybarre + Point(i).Y
Next i
Xbarre = Xbarre / 5
Ybarre = Ybarre / 5
'Calcul de m et b
Numerateur = 0
Denominateur = 0
For i = 0 To 4
Numerateur = Numerateur + (Point(i).X - Xbarre) * (Point(i).Y - Ybarre)
Denominateur = Denominateur + (Point(i).X - Xbarre) ^ 2
Next i
' pente
m = Numerateur / Denominateur
' constante
b = Ybarre - m * Xbarre
' Precision de l'estimation (estimation 'maison')
Precision = 0
For i = 0 To 4: Precision = Precision + ((m * Point(i).X + b) - Point(i).Y) ^ 2: Next i
Y_Moyen = 0
For i = 0 To 4: Y_Moyen = Y_Moyen + Point(i).Y ^ 2: Next i
Y_Moyen = Y_Moyen / 5
Precision = Precision / Y_Moyen
Exit Sub
BONNE JOURNEE