### 8.2.10 Régression linéaire : `linear_regression`

Pour approcher les données par la droite des moindres carrés ayant pour équation y=mx+b, on utilise `linear_regression` qui renvoie le couple (m,b).
Si les données sont xi,yi avec i=1..n, on a :
m=cov(X,Y)/σ(X)2
et b=Ȳ−m X
car la somme des carrés des distances di=|yi−mxi−bi| est minimale pour ces valeurs et ce minimum (qui est donc l’erreur quadratique moyenne verticale) vaut (1−ρ2)σ(Y)2 où r est le coefficient de corrélation (ρ=cov(X,Y/σ(X)σ(Y)).
`linear_regression` a les mêmes arguments que `covariance`.
On tape :

`linear_regression([[0,0],[1,1],[2,4],[3,9],[4,16]])`

Ou on tape :

`linear_regression([0,1,2,3,4],[0,1,4,9,16])`

On obtient :

`4,-2`

c’est donc la fonction linéaire d’équation y=4x−2 qui approche au mieux les données.
On tape :

`X:=[0,1,2,3,4,5,6,7,8,9,10]`
`Y:=[7.3,9.53,12.47,16.3,21.24,27.73,36.22,`
`47.31,61.78,80.68,105]`
`Z:=log(Y)`
`linear_regression(X,Z)`

On obtient :

`0.266729219953,1.98904252589`

c’est donc la fonction linéaire d’équation z=ln(y)=0.267x+1.99 qui approche au mieux les données.