No BSD License  

Highlights from
Ordinal Data Modeling

image thumbnail
from Ordinal Data Modeling by Valen Johnson
Companion Software

post=p_disc(p,prior,data)
function post=p_disc(p,prior,data)
%
% P_DISC Posterior distribution for a proportion with discrete models.
%	POST = P_DISC(P,PRIOR,DATA) returns a vector of posterior probabilities.
%	P is the vector of values of the proportion, PRIOR is the corresponding
%	vector of prior probabilities and DATA is the vector of data (number of
%	successes and failures in set of independent bernoulli trials.

s=data(1); f=data(2);
p1=p+.5*(p==0)-.5*(p==1);

like=s*log(p1)+f*log(1-p1);
like=like.*(p>0).*(p<1)-999*((p==0)*(s>0)+(p==1).*(f>0));
like=exp(like-max(like));

product=like.*prior;
post=product/sum(product);



Contact us at files@mathworks.com