正在加载图片...
98 1.J.Myung Journal of Mathematical Psychology 47(2003)90-100 %optimization for power model that minimizes minus log-likelihood (note that minimization of minus log-likelihood is equivalent to maximization of log-likelihood) %w1:MLE parameter estimates lik1:maximized log-likelihood value exit1:optimization has converged if exit1 >0 or not otherwise [w2,lik2,exit2]FMINCON(EXPO_MLE',INIT_W,[,[0,[,LOW_W,UP_W,[OPTS); optimization for exponential model that minimizes minus log-likelihood prd1=w1(1,1)t.(-w1(2,1)):%best fit prediction by power model r2(1,1)=1-sum((prd1-y).2)/sum((y-mean(y)).2);r2 for power model prd2=w2(1,1)"exp(-w2(2,1)"t):%best fit prediction by exponential model r2(2,1)=1-sum((prd2-y).2)/sum((y-mean(y)).2);%r2 for exponential model if sum(r2>0)==2 break; else init_w=rand(2,1); end; end; format long; disp(num2str([w1 w2 r2],5));%display results disp(num2str([lik1 lik2 exit1 exit2],5));%display results end end of the main program function loglik power_mle(w) POWER_MLE The log-likelihood function of the power model global n t x; p=w(1,1)t.(-w(2,1)):%power model prediction given parameter p=p+(p==zeros(6,1)*1e-5-(p==ones(6,1)*1e-5;%ensure0<p<1 1og1ik=(-1)*(x.*1og(p)+(血-x.*1og(1-p): minus log-likelihood for individual observations loglik sum(loglik);%overall minus log-likelihood being minimized function loglik expo_mle(w) EXPO_MLE The log-likelihood function of the exponential model global n t x; p=w(1,1)"exp(-w(2,1)t):%exponential model prediction p=p+(p==zeros(6,1)*1e-5-(p==ones(6,1)*1e-5;%ensure0<p<1 1og1ik=(-1)*(x.*1og(p)+(n-x).*1og(1p) minus log-likelihood for individual observations loglik sum(loglik);%overall minus log-likelihood being minimized Matlab Code for LSE This is the main program that finds LSE estimates.Given a model,it takes sample size (n),time intervals (t)and observed proportion correct %(y)as inputs.It returns the parameter values that minimize the sum of squares error global t;define global variable opts=optimset(‘DerivativeCheck',‘off',‘Display',‘off',‘TolX',1e-6,‘TolFun',le-6,Diagnostic- s',off','MaxIter',200,'LargeScale','off'); option settings for optimization algorithm n=100;%number of independent binomial trials (i.e.,sample size) t =[1 3 6 9 12 18)%time intervals as a column vector% optimization for power model that minimizes minus log-likelihood (note that minimization of minus log-likelihood is equivalent to maximization of log-likelihood) % w1: MLE parameter estimates % lik1: maximized log-likelihood value % exit1: optimization has converged if exit1 40 or not otherwise ½w2; lik2; exit2 ¼ FMINCONð‘EXPO MLE’; INIT W;½ ; ½ ; ½ ; ½ ; LOW W; UP W; ½ ; OPTSÞ; % optimization for exponential model that minimizes minus log-likelihood prd1 ¼ w1ð1; 1Þ n t: # ð-w1ð2; 1ÞÞ;% best fit prediction by power model r2ð1; 1Þ ¼ 1-sumððprd1-yÞ: # 2Þ=sumððy-meanðyÞÞ: # 2Þ; % r# 2 for power model prd2 ¼ w2ð1; 1Þ n expð-w2ð2; 1Þ n tÞ;% best fit prediction by exponential model r2ð2; 1Þ ¼ 1-sumððprd2-yÞ: # 2Þ=sumððy-meanðyÞÞ: # 2Þ; %r# 2 for exponential model if sumðr240Þ ¼¼ 2 break; else init w ¼ randð2; 1Þ; end; end; format long; disp(num2str([w1 w2 r2],5));% display results disp(num2str([lik1 lik2 exit1 exit2],5));% display results end % end of the main program function loglik ¼ power mleðwÞ % POWER MLE The log-likelihood function of the power model global n t x; p ¼ wð1; 1Þ n t: # ð-wð2; 1ÞÞ;% power model prediction given parameter p ¼ p þ ðp ¼¼ zerosð6; 1ÞÞn 1e-5  ðp ¼¼ onesð6; 1ÞÞn 1e-5; % ensure 0opo1 loglik ¼ ð1Þ n ðx: * logðpÞþðn-xÞ: * logð1-pÞÞ; % minus log-likelihood for individual observations loglik ¼ sumðloglikÞ;% overall minus log-likelihood being minimized function loglik ¼ expo mleðwÞ % EXPO MLE The log-likelihood function of the exponential model global n t x; p ¼ wð1; 1Þ n expð-wð2; 1Þ n tÞ;% exponential model prediction p ¼ p þ ðp ¼¼ zerosð6; 1ÞÞn 1e-5  ðp ¼¼ onesð6; 1ÞÞn 1e-5; % ensure 0opo1 loglik ¼ ð1Þ n ðx: * logðpÞþðn-xÞ: * logð1pÞÞ; % minus log-likelihood for individual observations loglik ¼ sumðloglikÞ;% overall minus log-likelihood being minimized Matlab Code for LSE % This is the main program that finds LSE estimates. Given a model, it % takes sample size (n), time intervals (t) and observed proportion correct % (y) as inputs. It returns the parameter values that minimize the sum of % squares error global t; % define global variable opts ¼ optimset(‘DerivativeCheck’,‘off’,‘Display’,‘off’,‘TolX’,1e-6,‘TolFun’,1e-6, ‘Diagnostic￾s’,‘off’,‘MaxIter’,200,‘LargeScale’,‘off’); % option settings for optimization algorithm n ¼ 100; % number of independent binomial trials (i.e., sample size) t ¼ ½1 3 6 9 12 18 0 ;% time intervals as a column vector 98 I.J. Myung / Journal of Mathematical Psychology 47 (2003) 90–100
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有