FACULTE DE TECHNOLOGIE
DÉPARTEMENT DES ÉNERGIES RENOUVELABLES
TP N°6 (15)
METHODE DU MAXIMUM DE
VRAISEMBLANCE
Module :
Méthode numérique
Nom et prénom :
DJATOU ABDELHAK
Spécialité :
CONVERSION THERMIQUE
Année universitaire
2020/2021
Introduction :
Dans ce TP nous ferons une étude sur la méthode du maximum de vraisemblance
pour résolution le problème à une seul variable avec deux coefficients non
linaire.
Bien sûr nous prenons les exemples pour connue comment faire et métrisé ça, et
pour réaliser tout ça on doit utiliser un logiciel qui s'appelle «MATLAB».
Méthode du Maximum de Vraisemblance :
En statistique, l'estimateur du maximum de vraisemblance est un estimateur
statistique utilisé pour inférer les paramètres de la loi de probabilité d'un
échantillon donné en recherchant les valeurs des paramètres maximisant
la fonction de vraisemblance.
Cette méthode a été développée par le statisticien Ronald Aylmer Fisher en 1922.
Le critère d'efficacité permet de comparer des estimateurs. On peut aussi s'en servir
pour construire un estimateur. Soit X une variable aléatoire de densité de
probabilité f(x,θ) connue analytiquement mais dont l'un des paramètres θ est
inconnu (numériquement).
Le problème consiste donc à construire une expression analytique fonction des
réalisations de cette variable dans un échantillon de taille n, permettant de trouver
la valeur numérique la plus vraisemblable pour le paramètre θ.
Si {x1, x2, …, xn} sont des réalisations indépendantes de la variable aléatoire.
On peut dire que :
𝑥𝑥1 𝑋𝑋1
𝑥𝑥⃑ = � ⋮ � est une réalisation d'un vecteur aléatoire 𝑋𝑋⃑ = � ⋮ �
𝑥𝑥𝑛𝑛 𝑋𝑋𝑛𝑛
Talque x : échantillon ; X : le modèle
Dont les composantes Xi sont indépendantes deux à deux.
L'approche retenue consiste à chercher la valeur de θ qui rend le plus probable les
réalisations que l'on vient d'obtenir. La probabilité d'apparition a priori de
l'échantillon en question peut alors être caractérisée par le produit des probabilités
d'apparition de chacune des réalisations (puisque celles-ci sont supposées
indépendantes deux à deux). Soit :
𝑛𝑛
Théorème
S’il existe un estimateur efficace sans biais, il sera donné par la
méthode du maximum de vraisemblance.
Méthode de newton :
La méthode de Newton (également connue sous le nom de La méthode de
Newton-Raphson «NR») est un moyen de trouver rapidement une bonne
approximation pour la racine d'une fonction à valeur réelle f(x)=0. Il utilise l'idée
qu'une fonction continue et différentiable peut être approchée par une ligne droite
tangente à elle.
L’utilisation :
Supposons que vous avez besoin de trouver la racine d'une fonction «f(x)»
continue et différentiable et que vous sachiez que la racine que vous recherchez
est proche du point «x = x0».
Ensuite, la méthode de Newton nous dit qu'une meilleure approximation pour la
racine est :
𝑓𝑓(𝑥𝑥0 )
𝑥𝑥1 = 𝑥𝑥0 −
𝑓𝑓′(𝑥𝑥0 )
Ce processus peut être répété autant de fois que nécessaire pour obtenir la
précision souhaitée. En général, pour toute valeur de x à xn , la valeur suivante est
donnée par :
𝑓𝑓(𝑥𝑥𝑛𝑛 )
𝑥𝑥𝑛𝑛+1 = 𝑥𝑥𝑛𝑛 −
𝑓𝑓′(𝑥𝑥𝑛𝑛 )
Le principe de cette équation :
Par développement limité « DL » de série du Taylor on a :
∆𝑥𝑥²
𝑓𝑓(𝑥𝑥 + ∆𝑥𝑥 ) = 𝑓𝑓(𝑥𝑥 ) + 𝑓𝑓 ′ (𝑥𝑥 )∆𝑥𝑥 + 𝑓𝑓 ′′ (𝑥𝑥 ) +⋯
2!
Avec ∆𝑥𝑥 2 ≪≪ ∆𝑥𝑥 très petit Donc :
𝑓𝑓(𝑥𝑥 + ∆𝑥𝑥 ) = 𝑓𝑓(𝑥𝑥 ) + 𝑓𝑓 ′ (𝑥𝑥 )∆𝑥𝑥
𝑓𝑓(𝑥𝑥+∆𝑥𝑥)−𝑓𝑓(𝑥𝑥)
∆𝑥𝑥 = ……….(*)
𝑓𝑓 ′ (𝑥𝑥)
y = f (x, λ, β)
Donné : x, y et l’estimation de l’équation du graph
y=f(x) et des paramètres non linaire (λ, β ...)
Non
|R|<1e-3
Oui
Affiché
Les nouvelles valeurs de y = f (x) sur un
graph
End
Organigramme d’exemple (2)
(Méthode de newton ajusté)
Début
y = f (x, λ, β)
Donné : 10 valeur de x, y et l’estimation de
l’équation du graph y=f(x) et des paramètres non
linaire (λ, β ...)
Calcule les
coefficients
(a,…)
Calcule la fonction
𝑦𝑦�=f(x) ; R=y−𝑦𝑦�
Calcule le dérivé
𝛿𝛿𝛿𝛿 𝛿𝛿𝛿𝛿
𝑔𝑔 = 𝑒𝑒𝑒𝑒 𝑗𝑗 =
𝛿𝛿𝛿𝛿 𝛿𝛿𝛿𝛿
𝛽𝛽=𝛽𝛽-𝑔𝑔\R
𝜆𝜆=𝜆𝜆-𝑗𝑗\R
Non
|R|<1e-3
Oui
Affiché
Les valeurs de y = f(x) sur un graph
End
Exemple (1) :
Soit X une loi normale N (m,σ). L'objectif est de construire un estimateur de m et
un estimateur de σ, étant donné un échantillon de réalisation 𝑥𝑥⃑=(x1, x2, …, xn).
Pour cela, on part de la fonction de vraisemblance de cet échantillon :
𝑛𝑛
1 1 𝑥𝑥 −𝑚𝑚 2
−2� 𝑖𝑖 σ �
𝐿𝐿(𝑥𝑥⃑, 𝑚𝑚, σ) = � 𝑒𝑒
𝑖𝑖=1
σ√2𝜋𝜋
𝑛𝑛 𝑛𝑛
1 1 𝑥𝑥 −𝑚𝑚 2
−2� 𝑖𝑖 σ �
𝐿𝐿(𝑥𝑥⃑, 𝑚𝑚, σ) = � � � 𝑒𝑒
σ√2𝜋𝜋 𝑖𝑖=1
𝑛𝑛
11 𝑥𝑥𝑖𝑖 − 𝑚𝑚 2
ln�𝐿𝐿(𝑥𝑥⃑, 𝑚𝑚, σ)� = 𝑛𝑛 ln � �− �� �
σ√2𝜋𝜋 2 σ
𝑖𝑖=1
Exemple d’utilisation :
1 application :
er 𝛽𝛽: Représente facteur de forme « k ».
� Dans domaine d’éolienne (PER)
𝜆𝜆: Représente facteur d’échelle « C ».
On prendre : C’est pour ça il divisé des valeurs « y » sur 100 dans leur correction pour
avoir le pourcentage entre 0 et 1.
𝛽𝛽 𝑥𝑥 𝛽𝛽
𝛽𝛽−1 −�𝜆𝜆 �
𝛽𝛽 𝛽𝛽−1 −�𝑥𝑥�𝛽𝛽
𝑦𝑦 = . 𝑥𝑥 . 𝑒𝑒 = 𝛽𝛽 . 𝑥𝑥 . 𝑒𝑒 𝜆𝜆
𝜆𝜆. 𝜆𝜆𝛽𝛽−1 𝜆𝜆
𝛽𝛽
a = 𝛽𝛽 𝑥𝑥 ∈ [0: 20]
𝜆𝜆
Ensuite ploté le graphe 𝑦𝑦(𝑥𝑥) est prendre 10 valeur sur ce graphe de 𝒙𝒙 𝒆𝒆𝒆𝒆 𝒚𝒚 pour chercher
les coefficients a, 𝛽𝛽 𝑒𝑒𝑒𝑒 𝜆𝜆 de l’équation ce qui nous avons pensé qu’il pourrait être la
solution :
𝑥𝑥 𝛽𝛽
𝛽𝛽−1 −� �
𝑦𝑦 = 𝑎𝑎 × 𝑥𝑥 × 𝑒𝑒 𝜆𝜆
Je sais que nous avons utilisé cette équation pour dessiner ce graph. Mais le but est de
trouver des équations adaptées aux graphiques que nous essayons de traiter par des défirent
méthodes comme la méthode que nous allons travailler « la méthode de newton ajusté ».
On sépare y à X1 et X2 tel que :
𝑥𝑥 𝛽𝛽
−� �
𝑋𝑋1 = 𝑥𝑥 𝛽𝛽−1 ; 𝑋𝑋2 = 𝑒𝑒 𝜆𝜆
𝑋𝑋 = 𝑋𝑋1 × 𝑋𝑋2
𝑦𝑦 = 𝑎𝑎 × 𝑋𝑋
On trouve 𝑎𝑎 : 𝛼𝛼 = 𝑎𝑎 = 𝑦𝑦\𝑋𝑋
On calcule 𝑦𝑦� : 𝑦𝑦� = 𝑎𝑎 × 𝑋𝑋
On calcule l’erreur : f = 𝑦𝑦� − y
On calcule la dérivée de X par rapport 𝛽𝛽 :
dX 𝛽𝛽−1
𝑥𝑥 𝛽𝛽
−� � 𝑥𝑥 𝑥𝑥 𝛽𝛽 −�𝑥𝑥�𝛽𝛽 𝛽𝛽−1
𝑋𝑋𝑝𝑝1 = = 𝑎𝑎 �ln(𝑥𝑥) . 𝑥𝑥 . 𝑒𝑒 𝜆𝜆 − ln � � . � � . 𝑒𝑒 𝜆𝜆 . 𝑥𝑥 �
d𝛽𝛽 𝜆𝜆 𝜆𝜆
On calcule la dérivée de X par rapport 𝛽𝛽 :
dX 𝛽𝛽−1
𝑥𝑥 𝛽𝛽
𝛽𝛽 −𝛽𝛽−1 −�𝜆𝜆 �
𝑋𝑋𝑝𝑝2 = = 𝑎𝑎. 𝑥𝑥 �𝛽𝛽. 𝑥𝑥 . 𝜆𝜆 . 𝑒𝑒 �
d𝜆𝜆
𝑋𝑋𝑋𝑋 = [𝑋𝑋𝑝𝑝1 𝑋𝑋𝑝𝑝2 ]
On calcule 𝛽𝛽 𝑒𝑒𝑒𝑒 𝜆𝜆:
𝛽𝛽 = 𝛽𝛽 − Xp\f
𝜆𝜆 = 𝜆𝜆 − Xp\f
−3
Et on refait jusqu’à l’erreur f < 10 .
Le programme :
clear all
close all
clc
% On déclarer les coefficients et les variables x0,y0 par modèle proposé.
bit=1.6;
lam=6;
x0=0:0.1:20;
xl=x0/lam;
y0=(bit/(lam)*xl.^(bit-1).*exp(-xl.^bit))';
% On dessinons le graphe y(x).
plot(x0,y0);grid on
% prendre 10 valeur sur ce graphe de x et y.
[x,y]=ginput(10);
% déclarer i pour limité l'itération et f
pour on peut entré dans la boucle.
f=1;i=0;
%clear x0 y0 ... %comme vous voulez
while f>10^-3
% On sépare y à X1 et X2
X1=x.^(bit-1);
X2=exp(-(x./lam).^bit);
X=X1.*X2;
% On trouve coefficients a Fig. 1 : représentation graphique de la
a=X\y; variation de ‘y0’ en fonction de ‘x0’ et
% On calcule y estimé choisir les point (x, y) dans ce graphe.
ye=a.*X;
% On calcule l’erreur
f=(ye-y); %ff=norm(f); pour la valeur soit positive
% On calcule la dérivée de X par rapport 'bit'.
Xp1=a.*(x.^(bit-1).*log(x).*X2-x.^(bit-1).*log(x./lam).*(x./lam).^bit.*X2);
% On calcule la dérivée de X par
rapport 'lamda'.
Xp2=a.*X1.*bit.*x.^bit.*lam.^(-
bit-1).*X2;
Xp=[Xp1 Xp2];
% On calcule 'bit'.
bit=bit-Xp1\f;
lam=lam-Xp2\f;
% la boucle arrête quand i devin
supérieur à 20.
if i>20
break
end
i=i+1;
end
𝑛𝑛 𝑛𝑛 𝑛𝑛
𝜕𝜕 𝑙𝑙𝑙𝑙(𝐿𝐿) 𝑛𝑛 𝑥𝑥𝑖𝑖 𝛽𝛽 𝑥𝑥𝑖𝑖 𝛽𝛽
= 0 ⟹ − 𝑛𝑛 𝑙𝑙𝑙𝑙(𝜆𝜆) + � 𝑙𝑙𝑙𝑙(𝑥𝑥𝑖𝑖 ) − � � � 𝑙𝑙𝑙𝑙(𝑥𝑥𝑖𝑖 ) + � � � 𝑙𝑙𝑙𝑙(𝜆𝜆) = 0
𝜕𝜕𝜕𝜕 𝛽𝛽 𝜆𝜆 𝜆𝜆
𝑖𝑖=1 𝑖𝑖=1 𝑖𝑖=1
𝑛𝑛 𝑛𝑛
1 1 1
⟹ = � 𝛽𝛽 � 𝑥𝑥𝑖𝑖 𝛽𝛽 𝑙𝑙𝑙𝑙(𝑥𝑥𝑖𝑖 ) + � 𝑙𝑙𝑙𝑙(𝑥𝑥𝑖𝑖 )�
𝛽𝛽 𝑛𝑛 𝜆𝜆
𝑖𝑖=1 𝑖𝑖=1