Fichier:Regression pic assymetrique.gif
De testwiki
Aller à la navigation
Aller à la recherche
Regression_pic_assymetrique.gif (610 × 460 pixels, taille du fichier : 22 kio, type MIME : image/gif, en boucle, 10 trames, 5,0 s)
Ce fichier provient de Wikimedia Commons et peut être utilisé par d'autres projets. Sa description sur sa page de description est affichée ci-dessous.
Description
| DescriptionRegression pic assymetrique.gif |
English: Successive steps of Gauss-Newton regression, with variable damping factor α, to fit a dissymetrical noisy peak.
Pictures created with Scilab, animated with The Gimp.
Français : Étapes successives d'une régression de Gauss-Newton, avec facteur d'amortissement α variable, pour ajuster un pic assymétrique.
Images créées avec Scilab ; animation créée avec The Gimp. |
| Date | |
| Source | Travail personnel |
| Auteur | Cdang (Christophe Dang Ngoc Chan) |
Scilab source
| This media was created with Scilab, a free open-source software. Here is a listing of the Scilab source used to create this file. |
Le fichier de données et celui de fonctions communes sont identiques à ceux de File:Regression pic gaussien dissymetrique bruite.svg.
// **********
// Constantes et initialisation
// **********
clear;
clf;
chdir('monchemin/')
// Paramètres de Newton-Raphson
precision = 1e-7; // condition d'arrêt
itermax = 60; // idem
// Précision de la linéarisation approchée
epsilon = 1e-6;
// **********
// Fonctions
// **********
exec('fonctions_communes.sce', -1)
function [e] = res(Yexp, Ycal)
e = sqrt(sum((Yexp-Ycal).^2));
endfunction
function [A, R] = gaussnewton(f, X, Yexp, A0, imax, epsilon)
// A : jeu de paramètres optimisé par régression (vecteur)
// R : liste des facteurs de qualité de la régression
// pour chaque étape (vecteur)
// X : variable explicative (vecteur)
// Yexp : variable expliquée, valeurs mesurées (vecteur)
// A0 : paramètres d'initialisation du modèle (vecteur)
// epsilon : valeur d'arrêt (scalaire)
k = 1; // facteur d'amortissement initial, <=1,
// évite la divergence
n = size(X,'*');
e0 = sqrt(sum(Yexp.^2)); // normalisation du facteur de qualité
Ycal = f(A0, X); // modèle initial
R(1) = res(Yexp, Ycal)/e0; // facteur de qualité initial
disp('i = 1 ; k = 1 ; R = '+string(R(1))) // affichage param initiaux
i = 1;
B = A0;
subplot(2,1,1)
plot2d(X, Yexp, rect=[-3, -2, 3, 12])
plot(X, Ycal, "-r")
xstring(-2.8, -1.5, string(B))
subplot(2,1,2)
plot2d(R, rect=[1, 0, 10, 1])
xstring(1.2, 0.1, 'α = '+string(k)+' ; R = '+string(R(i)))
nom = 'picassym'+string(i)+'.gif';
xs2gif(0,nom)
drapeau = %t;
while (i < imax) & drapeau // teste la convergence globale
i = i+1;
deltay = Yexp - Ycal;
J = linearisation_approchee(f, B, X, epsilon); // matrice jacobienne
tJ = J'; // transposée
deltap0 = inv((tJ*J))*tJ*deltay;
drapeau2 = %t // pour une 1re exécution
while drapeau2 & (k>0.1) // teste la divergence sur 1 étape
deltap = k*deltap0;
Bnouveau = B + deltap';
Ycal = f(Bnouveau, X);
R(i) = res(Yexp, Ycal)/e0;
drapeau2 = (R(i) >= R(i-1)) // vrai si diverge
if drapeau2 then k = k*0.75; // atténue si diverge
else k0 = k; // pour affichage de la valeur
k = (1 + k)/2; // réduit l'atténuation si converge
end
end
B = Bnouveau;
drapeau = abs(R(i-1) - R(i)) > epsilon
clf;
subplot(2,1,1)
plot2d(X, Yexp, rect=[-3, -2, 3, 12])
plot(X, Ycal, "-r")
xstring(-2.8, -1.5, string(B))
subplot(2,1,2)
plot2d(R, rect=[1, 0, 10, 1])
xstring(1.2, 0.1, 'α = '+string(k0)+' ; R = '+string(R(i)))
nom = 'picassym'+string(i)+'.gif';
xs2gif(0,nom)
// disp('i = '+string(i)+' ; k = '+string(k0)+' ; R = '+string(R(i)))
end
A = B;
endfunction
// **********
// Programme principal
// **********
// lecture des données
donnees = read('pic_gauss_dissym_bruite.txt',-1,2);
// carcatéristiques des données
Xdef = donnees(:,1);
Ydef = donnees(:,2);
// Ainit = [-0.03, 9.7, 8*((0.84 - 0.03)/2.35)^2, 8*((0.45 + 0.03)/2.35)^2];
Ainit = [1, 1, 1, 1];
// Régression
tic();
[Aopt, Rnr] =...
gaussnewton(gauss_dissym, Xdef, Ydef,...
Ainit, itermax, precision)
t = toc();
// Courbe calculée
Yopt = gauss_dissym(Aopt, Xdef);
// Affichage
print(%io(2),Ainit)
print(%io(2),Aopt)
print(%io(2),t)
clf
subplot(2,1,1)
plot(Xdef, Ydef, "-b")
plot(Xdef, Yopt, "-r")
subplot(2,1,2)
plot(Rnr)
Conditions d’utilisation
Moi, en tant que détenteur des droits d’auteur sur cette œuvre, je la publie sous les licences suivantes :
| Vous avez la permission de copier, distribuer et modifier ce document selon les termes de la GNU Free Documentation License version 1.2 ou toute version ultérieure publiée par la Free Software Foundation, sans sections inaltérables, sans texte de première page de couverture et sans texte de dernière page de couverture. Un exemplaire de la licence est inclus dans la section intitulée GNU Free Documentation License.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
Ce fichier est sous licence Creative Commons Attribution – Partage dans les Mêmes Conditions 3.0 Non Transposé, 2.5 Générique, 2.0 Générique et 1.0 Générique.
- Vous êtes libre :
- de partager – de copier, distribuer et transmettre cette œuvre
- d’adapter – de modifier cette œuvre
- Sous les conditions suivantes :
- paternité – Vous devez donner les informations appropriées concernant l'auteur, fournir un lien vers la licence et indiquer si des modifications ont été faites. Vous pouvez faire cela par tout moyen raisonnable, mais en aucune façon suggérant que l’auteur vous soutient ou approuve l’utilisation que vous en faites.
- partage à l’identique – Si vous modifiez, transformez ou vous basez sur cet élément, vous devez distribuer votre contribution sous une license identique ou compatible à celle de l’original.
Vous pouvez choisir l’une de ces licences.
Légendes
Ajoutez en une ligne la description de ce que représente ce fichier
Éléments décrits dans ce fichier
dépeint
Valeur sans élément de Wikidata
5 décembre 2012
image/gif
Historique du fichier
Cliquer sur une date et heure pour voir le fichier tel qu'il était à ce moment-là.
| Date et heure | Vignette | Dimensions | Utilisateur | Commentaire | |
|---|---|---|---|---|---|
| actuel | 5 décembre 2012 à 14:13 | 610 × 460 (22 kio) | wikimediacommons>Cdang | {{Information |Description ={{en|1=alpha (damping factor) value corrected}} |Source ={{own}} |Author =Cdang |Date = |Permission = |other_versions = }} |
Utilisation du fichier
Les 2 pages suivantes utilisent ce fichier :

