Bonjour
Je cherche à faire un fit d'une série de données comme étant la convolution de deux fonctions de densité de probabilité gaussiennes, l'une; f1, ayant comme moyenne (1-tau)*m et de variance (1-tau)*sigma²
et l'autre, f2, de moyenne tau*mu, et de variance P*tau*sigma²

La fonction pour fitter les données est donc la somme de i=0 à k des f1(i)*f2(k-i),

sigma et m peuvent être connus et donc fixés si nécessaire

je souhaite que tau soit le paramètre sur lequel se réalise le fit; éventuellement P aussi (mais on peut le fixer à 2 si nécessaire).
tau prend des valeurs entre 0 et 1, et P des valeurs entières entre 2 et 10.

Comment puis-je faire cela? Je suis sûr que c'est très simple mais n'y arrive pas.


J'ai essayé par plusieurs moyens, en tentant de faire le fit par l'outil cftool à chaque fois:
J'ai défini les 2 gaussiennes par normpdf et:
--utilisé conv pour la convolution; la fonction théorique est bien et "plottable" mais alors cftool refusait de faire le fit (il me dit que les valeurs sont des NaN)
--faire un programme avec une boucle pour la somme:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
gaussienneconv[d] = gaussienneconv(tau, P, sigma, mu,x)
compteur=0
for i=0:1:x
compteur=compteur+f1(tau,sigma,m,i)+f2(tau,P,sigma,m,x-i);
end;
d=compteur;
end
Et là le fit cftool fonctionne mais est complètement à côté de la plaque même pour des séries de données avec des valeurs exactes il me sort des valeurs aberrantes pour les paramètres.

J'ai essayé aussi avec une intégrale pour le produit de convolution mais le cftool refuse de fonctionner (taille des objets?)
Peut-être dois-je employer un autre fit que cftool, une autre forme plus simple de la fonction, et/ou changer les paramètres de cftool?

Merci d'avance pour votre aide

Bill