Vous êtes sur la page 1sur 5

TD ➂ - Traitement de données et inversion - 2023/2024 1

Master 2 Géoénergies, Université de Pau et des Pays de l’Adour


Traitement de données et inversion, 2023/2024

TP ➂ Régression linéaire à l’aide de


différentes normes – Linear regression using
different norms

Régression linéaire – Linear regression


On cherche à déterminer les valeurs des paramètres (a, b) du modèle suivant yi = axi + b en
ajustant des données à ce modèle, à l’aide de différentes normes matricielles.
The aim is to determine the values of the parameters (a, b) of the following model yi = axi + b
by fitting data to this model, using different matrix norms.

1) Soient les lignes de commandes suivantes Octave© destinées à générer un jeu de données
“bruitées”
1) Let the following command lines Octave© be used to generate a set of noisy “data”

N = 100;
coef x = 5;
coef y = 5;
x = 1 : N;
x = x + randn(size(x)) ∗ N/coef fx ;
y = 2 ∗ x + 1 + randn(size(y)) ∗ N/coef fy .

Que produit la commande randn ? A quoi servent les variables N , coef fx et coef fy ? Quel
type de jeu de données produisent au final ces lignes de commandes ?
What does the command randn produce? What is the purpose of the variables N , coef fx and
coef fy ? What type of dataset do these command lines ultimately produce?

2) On vous demande de visualiser ce jeu de données synthétiques en choisissant correctement


les valeurs des abscisses et des ordonnées afin d’obtenir le meilleur rendu. On pourra superposer
sur un même graphe les données bruitées et non bruitées (y = 2 ∗ x + 1) par exemple comme, sur
la figure 1.
2) You are asked to visualize this synthetic dataset, choosing the abscissa and ordinate val-
ues correctly to obtain the best rendering. Noisy and non-noisy data (y = 2 ∗ x + 1) can be
superimposed on the same graph, as shown in figure 1.
TD ➂ - Traitement de données et inversion - 2023/2024 2

200

150

100

50

0 50 100

Figure 1: Jeu de données synthétiques obtenu avec N = 100, coef x = 5 et coef y = 5 – Synthetic
dataset obtained with N = 100, coef x = 5 and coef y = 5.
TD ➂ - Traitement de données et inversion - 2023/2024 3

Dans la suite du TP on souhaite déterminer le meilleur modèle (a, b) satisfaisant le jeu de don-
nées à l’aide de différente normes matricielles. Pour cela, on commence par définir des fonctions
calculant l’erreur commise pour chacune des normes entre les données et un modèle (a0 , b0 ). Dans
un second temps, on utilise ces fonctions au sein d’une boucle où l’on fait varier a et b sur une
gamme donnée. On sélectionne alors le couple (a, b) donnant la valeur minimum de l’erreur pour
chacune des normes.
In the rest of the TP, we want to determine the best (a, b) model satisfying the dataset, using
different matrix norms. To do this, we first define functions calculating the error committed for
each norm between the data and a model (a0 , b0 ). These functions are then used in a loop in which
a and b are varied over a given range. We then select the pair (a, b) giving the minimum error
value for each standard.

3) Définir une fonction Octave© e1.m au sein de votre répertoire, cette fonction pouvant
être appelé comme une commande prédéfinie dans votre script principal. Cette fonction aura pour
paramètres d’entrée a, b, x, y et nc (nc étant le nombre d’éléments de la variable x) . Cette fonction
calcule la norme l1 de la difference entre!le modèle et les données soit
||yi − mi ||l1 = ||yi − (a ∗ xi + b)||l1 = i |yi − (a ∗ xi + b)|.
La fonction e1.m pourra être définie de la manière suivante :
3) Define a function Octave© e1.m within your directory, which can be called as a predefined
command in your main script.The input parameters of this function are a, b, x, y and nc (nc being
the number of elements in the variable x) .This function calculates the l1 norm! of the difference
between the model and the data, i.e. ||yi − mi ||l1 = ||yi − (a ∗ xi + b)||l1 = i |yi − (a ∗ xi + b)|.
The function e1.m can be defined as follows:
...
function [y1]=e1(a,b,x,y,nc)
...
y1=..;
end
...

4) Faire varier a et b sur une étendue que que vous définirez et calculer l’erreur commise au
sens de la norme l1 . On utilisera la fonction définie à la question 3). Pour faire varier a et b on
pourra utiliser deux boucles imbriquées. Déterminer alors le meilleur modèle au sens de la norme
l1 en sélectionnant le couple (a, b) donnant la valeur minimum de l’erreur.
4) Vary a and b over a range that you define and calculate the error committed in the sense
of the l1 norm. We’ll use the function defined in question 3). Two nested loops can be used to vary
a and b. Determine the best model in the sense of the l1 norm by selecting the pair (a, b) giving the
minimum error value.

5) Même questions ( 3) et 4) ) pour les normes l2 et l∞ .

5) Same questions ( 3) and 4) ) for l2 and l∞ norms.

6) Représenter les résultats avec les trois normes sur une même figure.
6) Represent the results with the three norms on the same figure.

6bis) Montrer les résidus || ||l1 , || ||l2 , || ||l∞ des résultats de l’inversion obtenue avec les
trois normes en utilisant des fonctions type contour avec en abscisse et ordonnée a et b. Vous
TD ➂ - Traitement de données et inversion - 2023/2024 4

pourrez ainsi estimer une incertitude sur a et b en fonction de la norme choisie.


6bis) Show the residuals || ||l1 , || ||l2 , || ||l∞ of the inversion results obtained with the
three norms using functions of type contour with abscissa and ordinate a and b. You can then
estimate the uncertainty on a and b as a function of the chosen standard.

6ter) Caractériser comment évolue cette incertitude en fonction de N .


6ter) Characterize how this uncertainty evolves as a function of N .

7) Poser le problème sous la forme matricielle d = Gm et déterminer les solutions a et b par


la méthode des moindres carrés (on l’a fait en cours). Superposer le résultat sur les figure obtenues
précédemment. Qu’en concluez vous ?
7) Put the problem in matrix form d = Gm and determine the solutions a and b by the method
of least squares (we did this in class). Superimpose the result on the figures obtained previously.
What conclusions can you draw?

Les figures 2a) et b) donnent des exemples de résultats attendus.


Figures 2a) and b) show examples of expected results.
TD ➂ - Traitement de données et inversion - 2023/2024 5

TP2, linear regression with distinct norms


14

12

10

8
Y

data
0 least square inversion
l1 norm
l2 norm
linf norm
-2
0 1 2 3 4 5 6

a)
X
TP2, linear regression with distinct norms
250

200

150
Y

100

50

0 data
least square inversion
l1 norm
l2 norm
linf norm
-50
0 10 20 30 40 50 60 70 80 90 100

b)
X
Figure 2: a) Regression linéaire avec les normes l1 , l2 , l∞ et avec N = 5, b) Regression linéaire
avec les normes l1 , l2 , l∞ et avec N = 100. – a) Linear regression with norms l1 , l2 , l∞ and with
N = 5, b) Linear regression with norms l1 , l2 , l∞ and with N = 100.

Vous aimerez peut-être aussi