Académique Documents
Professionnel Documents
Culture Documents
Abderrahman BOUHAMIDI
abderrahman.bouhamidi@eilco-ulco.fr
Modélisation et Apprentissage Automatique
MISC1
Bouhamidi CAO-ING3 1 / 12
Interpolation polynomiale
Régression polynomiale (Polynomial fitting)
Sommaire
1 Interpolation polynomiale
Bouhamidi CAO-ING3 2 / 12
Interpolation polynomiale
Régression polynomiale (Polynomial fitting)
1. Interpolation polynomiale
P(xi ) = yi , i = 0, . . . , n.
P(xi ) = yi , pour i = 0, . . . , n.
Bouhamidi CAO-ING3 3 / 12
Interpolation polynomiale
Régression polynomiale (Polynomial fitting)
Méthode de Lagrange
Les polynômes de Lagrange sont donnés par
n
Y x − xj
Li (x ) = , i = 0, · · · , n.
xi − xj
j=0
j6=i
Ils vérifient
a) deg Li = n, b) Li (xj ) = 0, pour j 6= i, c) Li (xi ) = 1.
Pour tout polynôme Q de degré ≤ n, on a :
n
X
Q(x ) = Q(xi )Li (x ) (formule de Lagrange).
i=0
n
X
P(x ) = Li (x )yi .
i=0
Bouhamidi CAO-ING3 4 / 12
Interpolation polynomiale
Régression polynomiale (Polynomial fitting)
Exemple
xi 1 2 4 5
yi 5 -4 3 1
Le polynômes d’interpolation :
(x − 2)(x − 4)(x − 5) Algorithme de calcul
P(x ) = × y0 +
(1 − 2)(1 − 4)(1 − 5)
(x − 1)(x − 4)(x − 5) function [x,y]=polynomelagrange(x,xi,yi)
× y1 + n=length(xi);
(2 − 1)(2 − 4)(2 − 5) y=zeros(size(x));
(x − 1)(x − 2)(x − 5)
× y2 + for i=1:n
(4 − 1)(4 − 2)(4 − 5) Li=ones(size(x));
(x − 1)(x − 2)(x − 4) for j=1:n
× y3
(5 − 1)(5 − 2)(5 − 4) if jv=i
Li=Li.*(x-xi(j))/(xi(i)-xi(j));
end
end
y=y+Li*xi(i);
end
Bouhamidi CAO-ING3 5 / 12
Interpolation polynomiale
Régression polynomiale (Polynomial fitting)
Estimation de l’erreur
Théorème
Soient f : [a, b] −→ E d une fonction définie sur [a, b] et x0 < x1 < . . . < xn , (n + 1) points de
[a, b], il existe un unique polynôme Pn de degré ≤ n interpolant f aux points x0 , x1 , . . . , xn ,
c-à-d vérifiant :
Pn (xi ) = f (xi ), i = 0, 1 . . . , n.
De plus, si classe f est de C n+1 ([a, b]), alors
(b − a)n+1
||f − Pn ||∞ ≤ ||f (n+1) ||∞ ,
(n + 1)!
avec ||g||∞ = sup ||g(x )|| pour g continue sur [a, b].
x ∈[a,b]
A-t-on lim ||f − Pn ||∞ = 0? (convergence uniforme de (Pn ) vers f sur [a, b]).
n→∞
Bouhamidi CAO-ING3 6 / 12
Interpolation polynomiale
Régression polynomiale (Polynomial fitting)
1
Contre–exemple de Runge : Soit f (x ) = sur [−5, 5]. On interpole f en des points
1 + x2
i
équidistants xi = −5 + 10 avec i = 0, · · · , n
n
i
Instabilité de l’interpolation : Soit f (x ) = sin(2πx ) sur [−1, 1] avec xi = −1 + 10
et
fi = f (xi ) pour i = 0, . . . , 20
Bouhamidi CAO-ING3 7 / 12
Interpolation polynomiale
Régression polynomiale (Polynomial fitting)
2. Régression polynomiale
Données :
x0 < x1 < . . . < xn < b abscisses 2 à 2 distincts dans ]a, b[, avec n très grand.
y0 , . . . , yn , (n + 1) valeurs réelles.
Problème :
Trouver un polynôme P de degré m avec m N vérifiant
n n
X X
|P(xi ) − yi |2 = min |Q(xi ) − yi |2 .
Q∈Pm
i=0 i=0
Bouhamidi CAO-ING3 8 / 12
Interpolation polynomiale
Régression polynomiale (Polynomial fitting)
n
X
||P(xi ) − yi ||2 = ||Aw − b||22 ,
i=0
b − b||22 =
||Aw min ||Aw − b||22 .
w ∈Rm+1
Bouhamidi CAO-ING3 9 / 12
Interpolation polynomiale
Régression polynomiale (Polynomial fitting)
b − b||22 =
||Aw min ||Aw − b||22 .
w ∈Rm+1
(AT A)w
b = AT b.
De la forme
f (w + h) = f (w ) + h∇f (w )|hi + O(||h||2 ),
avec ∇f (w ) est le gradient de f en w . Une condition nécessaire pour que le vecteur w
b réalise le
minimum de f est que ∇f (w ) = 0. Par suite, on doit avoir
(AT A)w
b = AT b.
Inversement, si w
b est solution du système linéaire, on montre alors que w
b est un minimum de f .
Bouhamidi CAO-ING3 10 / 12
Interpolation polynomiale
Régression polynomiale (Polynomial fitting)
Décomposition QR
Posons B = AT A et c = AT b. Alors B est une matrice de taille (m + 1) × (m + 1), et on a
rg(A) = m + 1 ⇔ rg(B) = m + 1
La matrice B est inversible. La solution du problème des moindres carrés est obtenue par
résolution du système linéaire B w
b = c.
On fait la décomposition QR de B, on a B = QR avec
Q matrice orthogonale de taille (n + 1) × (n + 1)
h i
R1
R= triangulaire de taille (n + 1) × (m + 1),
O
La matrice R1 de taille (m + 1) × (m + 1),
O est la matrice nulle (n − m) × (m + 1).
On partitionne AT b de la façon suivante
h i
b1
Q T (AT b) = ⇒ R1 w
b = b1
b2
Bouhamidi CAO-ING3 11 / 12
Interpolation polynomiale
Régression polynomiale (Polynomial fitting)
Script Matlab
fonctions polyfit et polyval
n=200;ti=-5:10/(n-1):5;
e=0.2*rand(1,N)-0.1;
yi=1./(1+xi.*xi)+e;
x=-5:1/10:5;
function y=polylissage(x,xi,yi,degre)
p=polyfit(xi,yi,degre);
yp=polyval(p,x);
plot(xi,yi,’r*’,t,yp);
S=[];
Exercice :
- Donner l’équation de la droite des moindres carrées, lorsque le nuage de points est linéaire.
- Ecrire des codes Python de calcul des polynôme d’interpolation et de lissage de données.
- Appliquer l’algorithme de Horner pour évaluer un polynôme.
- Application à l’apprentissage : Construire via la régression polynomiale un modèle d’estimation
des prix des appartements dans la ville de Paris. Pour simplifier le problème, on ne s’intéressera
qu’à quelque arrondissement de la ville. (Les data sont données en séance TD)
Bouhamidi CAO-ING3 12 / 12