I am estimating a simple probit model using fminunc as an optimization tool. The reason why I don't use other optimization strategies is because I want to change code later to estimate ordered probit. I get an error "Input to ROOTS must not contain NaN or Inf." while estimating. Could you please suggest what might be wrong with my code? (see below: w- vector of independent vars, yd-dependent dummy). Many thanks, Yevgeniya
w=M.data(:,3);
yd=M.data(:,5);
k=size(w,2);
[b,r,stats]=regress(yd,w);
start0=b;
data=[w yd];
f0=find(yd==0);
f1=find(yd==1);
opts = optimset ('Display','iter','TolX',1e-15,'TolFun',1e-15,'MaxIter',2000,'MaxFunEvals',1000000);
[param,fval] = fminunc(@(start)P_Lik(data,k,indiv,f0,f1,start),start0,opts);
function L = P_Lik(X,k,indiv,f0,f1,start);
bcoef=start(1:k);
y=X(:,end);
Xb=X(:,1:k)*bcoef;
w=zeros(size(X,1),1);
w(f0)=log(1-normcdf(Xb(f0)));
w(f1)=log(normcdf(Xb(f1)));
L=-sum(w);

1 Kommentar

Joshua Scott
Joshua Scott am 5 Aug. 2021
Hello Yevgeniya,
I realize this post was made awhile back. I am curious, what edits did you make in order to make this ordered probit?
Thank you
Best,
Josh

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 2 Aug. 2011

1 Stimme

You should probably be using the FunValCheck option

Weitere Antworten (2)

J Ahmed
J Ahmed am 23 Jan. 2012

0 Stimmen

Hi...
I am having same problem even when I turn 'FunValCheck' on. After few simulations it stops with the captioned message. Probably, Yevgeniya, you might help if you have already solved the problem.
Thanks!

1 Kommentar

Yevgeniya
Yevgeniya am 24 Jan. 2012
Hi Ahmed,
I ended up switching to fmimcon and setting up the constraints to make sure that I don't get numbers out of the acceptable range.
Hope this helps.
Yevgeniya

Melden Sie sich an, um zu kommentieren.

J Ahmed
J Ahmed am 26 Jan. 2012

0 Stimmen

Thanks Yvegeniya. I'll try that then.

Kategorien

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by