Méthode de Newton Raphson avec matlab
Bonjour, je voudrais estimer les paramètres a, b, c et d par la méthode de Newton Raphson sous matlab, donc j'ai calculé la hessienne et le grad de la fonction vraisemblance et j'ai l'écrit sous matlab comme suit au dessous, quand je l’exécute, les SK1,SK2,SK3,SK21,... sont tous des vecteurs infinis
par exemple
par exemple
SK2 = Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Infje ne comprends pas pourquoi ils sont tous des vecteurs infinis
syms a b c d; a0=0.8; b0=2; d0=0.5; c0=1.2 N=15; x=linspace(0.001,20,N) K1=[]; K2=[]; SK2=[]; SK3=[]; fL=[]; G=[]; SK21=[]; SK22=[]; SK23=[]; i=1:N G(i)= (c0-1)/c0.*gammainc(a0.*x(i),b0); fL(i) = (1/c0).*(a0^(b0+1).*x(i).^(b0-1).*(b0+d0.*x(i)).*exp(-a0.*x(i)))/((d0+a0).*gamma(b0+1)); K1(i)=G(i)/(G(i)+fL(i)); K2(i)=1-K1(i) SK3(i)=K2(i)/(b+d.*x(i)).^2; SK2(i)=K2(i)/(b+d.*x(i)); SK21(i)=(K2(i).*x(i))/(b+d.*x(i)) SK22(i)=(K2(i).*x(i))/(b+x(i)*d).^2; SK23(i)=(K2(i).*x(i).^2)/(b+d.*x(i)).^2; S=sum(x(i)); S1=sum(log(x(i))); k1=sum (K1(i)); k2=sum (K2(i)); sk3=sum (SK3(i)); sk2=sum(SK2(i)); sk21=sum(SK21(i)); sk22=sum(SK22(i)); sk23=sum(SK23(i)); K=a0+1; F1=a^2*S+a*(k2-N*(b+1)+d*S)-N*(b+1)*d; F2=N.*log(a)+S1-N.*psi(b+1)+sk2; F3=sk21-(N/(a+d)); F=size(3,1); F=[F1 ; F2 ; F3 ]; H=size(3,3); H11=k2/(d+a)^2-(b+1)/a^2; H12= N/a; H13=N/(d+a)^2; H21=-N*(a+d); H22=-N*psi(1,b+1)-sk3; H23=-sk22; H31=a.*S-N*(b+1); H32=-sk22; H33=-sk23+1/(a+d)^2;
Réponses
-
Qu'est ce que tu veux dire avec l'instruction suivante ?
i = 1:N G(i) = ...
Tu ne voudrais pas parler d'une boucle, par hasard ?for i = 1:N G(i) = ... ... ... end
-
Ah ok.
Je pense que le problème est simplement que tu as oublié les `./`
Au lieu deSK3(i)=K2(i)/(b+d.*x(i)).^2;
Tu veux direSK3(i) = K2(i) ./ (b+d.*x(i)).^2;
-
merci pour votre réponse, j'ai essayé de faire ça et j'ai obtenu le même résultat, ça ne marche pas
-
Inutile d'ouvrir une nouvelle discussion pour ton problème. AD
Bonjour, je veux estimer les paramètres a b et d par la méthode de Newton Raphson sous matlab, voila mon code, après l’exécution j'ai trouvé que a et b et d sont des nombres complexes je ne comprends pas pourquoi, toutes mes donnes initiales sont des réelssyms a b d ; a0=0.8; b0=0.1; d0=0.5; c0=1.2; N=15; K1=[]; K2=[]; SK2=[]; SK3=[]; fL=[]; G=[]; SK21=[]; SK22=[]; SK23=[]; n=10 aold=a0; bold=b0; dold=d0; for k = 0:n x=linspace(0.001,20,N) i=1:N G(i)= (c0-1)/c0.*gammainc(aold.*x(i),bold); fL(i) = (1/c0).*(aold^(bold+1).*x(i).^(bold-1).*(bold+dold.*x(i)).*exp(-aold.*x(i)))/((dold+aold).*gamma(bold+1)); K1(i)=G(i)/(G(i)+fL(i)) K2(i)=1-K1(i) SK3(i)=K2(i)/(bold+dold.*x(i)).^2 SK2(i)=K2(i)/(bold+dold.*x(i)) SK21(i)=(K2(i).*x(i))/(bold+dold.*x(i)) SK22(i)=(K2(i).*x(i))/(bold+x(i)*dold).^2 SK23(i)=(K2(i).*x(i).^2)/(bold+dold.*x(i)).^2 S=sum(x(i)) S1=sum(log(x(i))) k1=sum (K1(i)) k2=sum (K2(i)) sk3=sum (SK3(i)) sk2=sum(SK2(i)) sk21=sum(SK21(i)) sk22=sum(SK22(i)) sk23=sum(SK23(i)) F1=aold^2*S+aold*(k2-N*(bold+1)+dold*S)-N*(bold+1)*dold F2=N.*log(aold)+S1-N.*psi(bold+1)+sk2 F3=sk21-(N/(aold+dold)) F=size(3,1) F=[F1 ; F2 ; F3 ] H=size(3,3) H11=k2/(dold+aold)^2-(bold+1)/aold^2 H12= N/aold H13=N/(dold+aold)^2 H21=-N*(aold+dold) H22=-N*psi(1,bold+1)-sk3 H23=-sk22 H31=aold.*S-N*(bold+1) H32=-sk22 H33=-sk23+1/(aold+dold)^2 H=[H11,H12,H13;H21,H22,H23;H31,H32,H33] A=inv(H)*F; a=aold-A(1,1) b=bold-A(2,1) d=dold-A(3,1) aold=a; bold=b; dold=d; if norm(F)<0.0001 break; end end
-
C'est peut-être que $F_2 = N \cdot \log(\dots) \dots$ reçoit un argument $a_{old}$ négatif à un moment donné ?
-
ahhhh oui ta raison, avez-vous une idée pour choisir les donnes initiales pour obtenir a, b et d des réelles positifs?
-
Aucune idée, d'ailleurs je ne reconnais même pas la méthode de Newton dans tout ce que tu as écrit.
À quel problème t'intéresses-tu au juste ? -
je ne peux pas te dire parce que c'est mon sujet de thèse, merci beaucoup pour ta réponse :-)
Connectez-vous ou Inscrivez-vous pour répondre.
Bonjour!
Catégories
- 165.8K Toutes les catégories
- 69 Collège/Lycée
- 22.2K Algèbre
- 37.7K Analyse
- 6.3K Arithmétique
- 61 Catégories et structures
- 1.1K Combinatoire et Graphes
- 13 Sciences des données
- 5.1K Concours et Examens
- 28 CultureMath
- 51 Enseignement à distance
- 2.9K Fondements et Logique
- 10.9K Géométrie
- 86 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 84 Informatique théorique
- 3.9K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 30 Mathématiques et finance
- 345 Mathématiques et Physique
- 5K Mathématiques et Société
- 3.4K Pédagogie, enseignement, orientation
- 10.1K Probabilités, théorie de la mesure
- 810 Shtam
- 4.2K Statistiques
- 3.8K Topologie
- 1.4K Vie du Forum et de ses membres