clc | clear | %Number of Trials (10000). | m=1;M=zeros(3,5);MSE=zeros(3,5);MAE=zeros(3,5);MRE=zeros(3,5); | for j=1:m | %Size of sample, theta's, alpha's and beta's Values, you can change them. | P=[10 1 3 2]; %[n T A B] | n=P(1); %Size of sample | T=P(2); %theta | A=P(3); %alpha | B=P(4); %beta | for i=1:n | | end | x=round(x',4); | z=sort(x); | syms T A B | %Initial | y0=[P(2) P(3) P(4)]; | %MLE | S1=0;S2=0;S3=0; | for i=1:n | S1=S1+x(i)/n; | S2=S2+log((x(i))); | S3=S3+x(i)^2/n; | end | ; | F=@(y) double(LL(y(1),y(2),y(3))); | [TAB,fval,exitflag1]=fminunc(F,y0); | T_ML=TAB(1); | A_ML=TAB(2); | B_ML=TAB(3); | %OLE. | S=0; | for i=1:n | ; | end | S(T,A,B)=S; | F=@(y) double(S(y(1),y(2),y(3))); | [TAB,fval,exitflag2]=fminunc(F,y0); | T_LS=TAB(1); | A_LS=TAB(2); | B_LS=TAB(3); | %WLS. | S=0; | for i=1:n | ; | ; | end | S(T,A,B)=S; | F=@(y) double(S(y(1),y(2),y(3))); | [TAB,fval,exitflag3]=fminunc(F,y0); | T_WLS=TAB(1); | A_WLS=TAB(2); | B_WLS=TAB(3); | %MPS | syms u | ; | ; | S=0; | y(1)=0;z(n+1)=inf; | for i=1:n+1. | y(i+1)=z(i); | D(i)=CF(y(i+1))-CF(y(i)); | if D(i)==0 | S=S+log(pdf(y(i))); | else | S=S+log(D(i)); | end | end | S(T,A,B)=-S/(n+1); | F=@(y) double(S(y(1),y(2),y(3))); | [TAB,fval,exitflag4]=fminunc(F,y0); | T_MPS=TAB(1); | A_MPS=TAB(2); | B_MPS=TAB(3); | %CVM | S=0; | for i=1:n | ; | end | S(T,A,B)=S+1/(n); | F=@(y) double(S(y(1),y(2),y(3))); | [TAB,fval,exitflag5]=fminunc(F,y0); | T_CVM=TAB(1); | A_CVM=TAB(2); | B_CVM=TAB(3); | E=[P(2) T_ML T_LS T_WLS T_MPS T_CVM;P(3) A_ML A_LS A_WLS A_MPS A_CVM;P(4) B_ML B_LS B_WLS B_MPS B_CVM];%Real MLE,OLS,WLS,MPS,CVM. | E_ML=(E(:,2)-E(:,1)); | E_LS=(E(:,3)-E(:,1)); | E_WLS=(E(:,4)-E(:,1)); | E_MPS=(E(:,5)-E(:,1)); | E_CVM=(E(:,6)-E(:,1)); | %if max(abs(sum(E(:,2:6),2)/5-P(:,2:4)'))<sum(P(:,2:4)) | (exitflag1+exitflag2+exitflag3+exitflag4+exitflag5) | if (exitflag1+exitflag2+exitflag3+exitflag4+exitflag5)>=5 | M=M+E(:,2:6) | MSE=MSE+[E_ML E_LS E_WLS E_MPS E_CVM].^2 | MAE=MAE+abs([E_ML E_LS E_WLS E_MPS E_CVM]) | end | end | M=M/m; | MSE=MSE/m; | MAE=MAE/m; |
|