Régression linéaire en VBA

Bonjour !

Je dois faire une régression linaire sur deux colonnes afin de trouver ma pente et mon ordonnée à l'origine, cependant je dois prendre en compte le terme d'erreur...

Etant déjà nulle en stats au départ, cela me semble insurmontable.

J'ai commencé comme ceci :

Sub regression()

Dim beta As Double

Worksheets("Feuil1").Cells(2, 37).Value = beta
Worksheets("Feuil1").Cells(1, 37).Value = "Bêta"

beta = Application.WorksheetFunction.Slope("T6:T205", "AI6:A205")

End Sub

bêta étant mon b

Cependant, cela ne fonctionne pas je suis donc bloquée

Merci de votre aide

Sub reg_lin()

n = 200

Dim x(200)
Dim y(200)

For i = 1 To n

x(i) = Cells(11 + i, 1)
y(i) = Cells(11 + i, 2)

Next i

sumx = 0
sumy = 0
sumxy = 0
sumx2 = 0

For i = 1 To n

sumx = sumx + x(i)
sumy = sumy + y(i)
sumxy = sumxy + x(i) * y(i)
sumx2 = sumx2 + x(i) * x(i)

Next i

a1 = (n * sumxy - sumx * sumy) / (n * sumx2 - (sumx) ^ 2)

ym = sumy / n
xm = sumx / n

a0 = ym - a1 * xm

st = 0
sr = 0
For i = 1 To n
st = st + (y(i) - ym) ^ 2
sr = sr + (y(i) - a0 - a1 * x(i)) ^ 2

Next i

r2 = (st - sr) / st

Cells(12, 12) = a0
Cells(13, 12) = a1
Cells(14, 12) = r2

End Sub

J'ai finalement fait ça mais je n'obtiens pas les mêmes valeur qu'en utilisant la formule pente dans excel par exemple, je ne sais ou est mon erreur

Rechercher des sujets similaires à "regression lineaire vba"