Using fminunc for probit estimation
5 views (last 30 days)
Show older comments
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 Comment
Joshua Scott
on 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
Accepted Answer
More Answers (2)
J Ahmed
on 23 Jan 2012
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!
See Also
Categories
Find more on Frequency Response Estimation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!