Vous êtes sur la page 1sur 12

Interpolation polynomiale

Régression polynomiale (Polynomial fitting)

Chapitre 2 : Interpolation et Régression polynomiales

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

2 Régression polynomiale (Polynomial fitting)

Bouhamidi CAO-ING3 2 / 12
Interpolation polynomiale
Régression polynomiale (Polynomial fitting)

1. Interpolation polynomiale

Données : x0 , . . . , xn : n + 1 valeurs de R deux à deux distincts.


y0 , . . . , yn : n + 1 valeurs de R
Problème : Déterminer une fonction polynomiale P de degré ≤ n telle que

P(xi ) = yi , i = 0, . . . , n.

Théorème (Existence et unicité)


Il existe une unique fonction polynomiale P de degré ≤ n telle que

P(xi ) = yi , pour i = 0, . . . , n.

P est le polynôme d’interpolation.

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

En particulier, le polynôme d’interpolation est donné par

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)

Inconvénient de l’interpolation polynomiale

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

P polynôme des moindres carrés, Pm espace des polynômes de degré≤ m.

Bouhamidi CAO-ING3 8 / 12
Interpolation polynomiale
Régression polynomiale (Polynomial fitting)

On cherche P sous la forme canonique P(x ) = wm x m + wm−1 x m−1 + · · · + w0 , avec ai ∈ R. On a

n
X
||P(xi ) − yi ||2 = ||Aw − b||22 ,
i=0

avec w = (w0 , w1 , · · · , wm )T de taille (m + 1) × 1 et b = (y0 , · · · , yn )T de taille (n + 1) × 1.


On a  1 x x2 ··· x0m

0 0
1 x1 x12 ··· x1m
A= .
 ,
.. .. .. .. 
. . .
1 xn xn2 ··· xnm

A est de taille (n + 1) × (m + 1), son rang est rg(A) = m + 1.

Problème des des moindres carrés


b ∈ Rm+1 vérifiant
Trouver w

b − b||22 =
||Aw min ||Aw − b||22 .
w ∈Rm+1

Bouhamidi CAO-ING3 9 / 12
Interpolation polynomiale
Régression polynomiale (Polynomial fitting)

Problème des des moindres carrés


b ∈ Rm+1 vérifiant
Trouver w

b − b||22 =
||Aw min ||Aw − b||22 .
w ∈Rm+1

est équivalent à résoudre le système linéaire

(AT A)w
b = AT b.

Preuve : On considère la fonction : f (w ) = ||Aw − b||22 . On a pour w , h ∈ Rm+1 :

f (w + h) = ||Aw − b||22 + h2AT (Aw − b)|hi + ||Ah||22 .

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

Le dernier système est triangulaire supérieur facile à résoudre.

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

Vous aimerez peut-être aussi