Vous êtes sur la page 1sur 1

PCSI Informatique

Informatique : ajustement (fitting) de données par la méthode des moindres


carrés
Méthode des moindres carrées

On cherche à ajuster un ensemble de n points (xi,yi) par une fonction d'équation y = f(x) ; on note si l'incertitude associée à
2
n
( yi −f ( xi ) )
la mesure de yi. On va déterminer les paramètres de la fonction qui minimisent la somme χ =∑ 2
.
i= 0 s i2
n n
1 xi
Dans le cas d'une régression linéaire la fonction modèle est une droite f (x )=a x +b . En notant S=∑ 2 , S x=∑ 2 ,
i=1 s i i=1 s i
n n 2 2
y x y n
x n
y S S xy−S x S y
S y =∑ i2 , S xy=∑ i 2 i , S xx=∑ i2 , S yy =∑ i2 , la condition qui minimise χ 2 aboutit à avoir a= et
i=1 s i i=1 s i i=1 s i i=1 si
Δ
S S −S S
b= xx y Δ x xy où Δ=S S xx−(S x )2 .
Remarque :
Il existe sous python une fonction qui permet de détermine les paramètres de la fonction, il s'agit de la fonction curve_fit
de la librairie scipy.optimize.

Travail à faire

Dans toute la suite on fixera si = 1.

Première partie

On souhaite modéliser l'évolution temporelle de la température T de l'atmosphère en fonction de l'altitude z par une
fonction affine.
z (km) 0 0,9 2,1 3 4,1 5,3
T (°C) 15 8 2 –5 –11 –18
n

➢ Compléter le code suivant permettant de calculer la somme S x=∑ x i :


i=1
n = 5 # initialisation de la variable n
X = [0.0,0.9,2.1,3.0,4.1,5.3] # initialisation de la liste des abscisses X
s = 0 # initialisation de la variable s
for i in range(0,n+1):
s = …. # incrémentation pour la mise à jour de la variable s
Sx = s

➢ Déterminer (sans utiliser la fonction curve_fit) les paramètres de la droite modèle utilisant les expressions des
paramètres de la régression linéaire.

Deuxième partie

➢ On souhaite modéliser l'évolution temporelle de la tension électrique u aux bornes d'un dipôle lors d'une évolution
transitoire par une fonction de type u (t )=U 0 e−t / τ .
t (ms) 10 20 40 60 80 100 120
u (V) 10,87 8,77 6,91 5,38 4,65 3,83 2,89
➢ Exprimer ln(u)(t) en fonction de t. Quelle droite modèle faut-il envisager dans le cadre d'une régression linéaire ?
Déterminer les paramètres U0 et τ (sans utiliser la fonction curve_fit).
➢ En utilisant la fonction curve_fit déterminer les paramètres U0 et τ ..

Instructions utilisées

from pylab import * for... in range() : nom_liste.append()


Si besoin : http://python.lycee.free.fr/

Lyes KIOUS Informatique : ajustement