I am trying to maximize a likelihood for independent founders using OPTMODEL (I have already written the code to perform a simple grid search but want something quicker). I have a dataset QTp with only one variable (also called QTp). Is the following code valid?
proc optmodel;
set S;
number t{S};
var q GE 0 init 0.5;
var muaa init 0;
var muab init 0;
var mubb init 0;
var sigma>=0.000001 init 0.05;
max logl= sum{i in S} LOG(1/(SQRT(2*3.14)*sigma))+
sum{i in S} LOG(((1-q)**2)*(EXP(-((t-muaa)**2)/(2*((sigma)**2)))+ (2*q*(1-q))*EXP(-((t-muab)**2)/(2*((sigma)**2)))+
((q)**2)*EXP(-((t-mubb)**2)/(2*((sigma)**2))));
read data QTp into S=[_n_] t=QTp;
solve with nlpc / tech=cgr printfreq=1 maxiter=5000;
print q sigma muaa muab mubb;
quit;
Message was edited by: jpunch
I also want q LE 1 but can't put it in the text window. Thanks.
Message was edited by: jpunch
Message was edited by: jpunch