suivant: Ajustement linéaire et corrélation
monter: Les fonctions statistiques à
précédent: La covariance et la
Table des matières
Index
La régression linéaire : linear_regression
Pour approcher les données par la droite des moindres carrés qui a pour
équation y = mx + b, on utilise linear_regression.
linear_regression a les mêmes arguments que covariance.
Si linear_regression a comme argument la liste X des xj et la
liste Y des yj, linear_regression renvoie (m, b) tel que
y
m*x + b.
Pour traiter une régression linéaire à 2 ou plusieurs variables on se
reportera à la section 1.11.8.
Avec le tableur
Pour traiter les exemples, on remplit la colonne A par
0,1,2,..,n et la colonne
B par 0,1,4,..,n^
2 (cf 1.10.4).
Puis, on tape dans la case C0 :
linear_regression(A1:A4,B1:B4)
On obtient dans la case C0 :
5,-5
Dans une ligne d'entrée
On tape :
linear_regression([[1,1],[2,4],[3,9],[4,16]])
Ou on tape
linear_regression([1,2,3,4],[1,4,9,16])
On obtient :
(5,-5)
ce qui veut dire que y = 5x - 5 est la droite qui approche au mieux les points
de coordonnées :
(1, 1),(2, 4),(3, 9),(4, 16).
Remarques
- La deuxième droite de régression
Si on tape (on échange X et Y) :
linear_regression([1,4,9,16],[1,2,3,4])
Ou on tape :
linear_regression([[1,1],[4,2],[9,3],[16,4]])
On obtient la deuxième droite de régression :
25/129,45/43
On tape :
evalf(25/129,45/43)
On obtient :
(0.193798449612,1.04651162791)
- Ajustement linéaire et corrélation linéaire
Si R2 est le carré du coefficient de corrélation linéaire de X et de
Y si m1 (resp m2) est la pente de la première (resp deuxième) droite
de régression linéaire on a :
R2=m1*m2
On tape :
normal(correlation([1,2,3,4],[1,4,9,16])2
)
On obtient :
125/129
On tape :
5* 25/129
On obtient :
125/129
On tape :
evalf(125/129)
On obtient :
0.968992248062
Autre exemples
On suppose qu'il y a 1 couple (xj, yj) avec :
x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] et
y = [7.3, 9.53, 12.47, 16.3, 21.24, 27.73, 36.22, 47.31, 61.78, 80.68, 105]
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.267*x + 1.99
qui approche au mieux les données.
On suppose qu'il y a nj couples (xj, yj) avec :
x = [1, 2, 3, 4],
y = [1, 4, 9, 16], et
n = [3, 1, 5, 2]
On tape :
linear_regression([1,2,3,4],[1,4,9,16],[3,1,5,2])
On obtient :
(331/70, -22/5)
c'est donc la fonction linéaire d'équation
y = 331*x/70 - 22/5
qui approche au mieux les données.
On suppose qu'il y a nj, k couples (xj, yk) avec :
x = [1, 2],
y = [11, 13, 14], et
n = [[3, 4, 5],[12, 1, 2]]
On tape :
linear_regression([1,2],[11,13,14],[[3,4,5],[12,1,2]])
Ou on tape :
linear_regression([["x\y",11,13,14],[1,3,4,5], [2,12,1,2]],-1)
On obtient :
(-83/60,143/10)
c'est donc la fonction linéaire d'équation
y = - 83*x/60 + 143/10
qui approche au mieux les données.
On calcule le coefficient de corrélation
On tape :
normal(correlation([1,2],[11,13,14],[[3,4,5],[12,1,2]])2
)
On obtient :
6889/25600
Donc
R2
0.2691015625 ce qui ne justifie pas un ajustement linéaire.
suivant: Ajustement linéaire et corrélation
monter: Les fonctions statistiques à
précédent: La covariance et la
Table des matières
Index
Documentation de giac écrite par Renée De Graeve