Christophe LOOTS
2008-Sep-22 09:01 UTC
[R] Likelihood between observed and predicted response
Thank you so much for your help. The function "dbinom" seems to work very well. However, I'm a bit lost with the "dnorm" function. Apparently, I have to compute the mean "mu" and the standard deviation "sd" but what does it mean exactly? I only have a vector of predicted response and a vector of observed response that I would like to compare! What are "mu" and "sigma". Thanks again. Christophe > Hi, > > I've two fitted models, one binomial model with presence-absence data > that predicts probability of presence and one gaussian model (normal or > log-normal abundances). > > I would like to evaluate these models not on their capability of > adjustment but on their capability of prediction by calculating the > (log)likelihood between predicted and observed values for each type of > model. > > I found the following formula for Bernouilli model : > > -2 log lik = -2 sum (y*log phat + (1-y)*log(1-phat) ), with "phat" is > the probaility (between 0 and 1) and "y" is the observed values (0 or 1). > > 1) Is anybody can tell me if this formula is statistically true? This looks correct. > 2) Can someone tell me what is the formula of the likelihood between > observed and predicted values for a gaussian model ? > -2 L = sum( (x_i - mu_i)^2)/sigma^2 - 2*n*log(sigma) + C assuming independence and equal variances: but don't trust my algebra, see ?dnorm and take the log of the likelihood shown there for yourself. You're reinventing the wheel a bit here: -2*sum(dbinom(y,prob=phat,size=1,log=TRUE)) and -2*sum(dnorm(x,mean=mu,sd=sigma,log=TRUE)) will do what you want. Ben Bolker -- Christophe LOOTS PhD student - Hydrobiological modelling of fish habitats Sea Fisheries Laboratory - IFREMER Boulogne sur Mer 150, Quai Gambetta. BP 699 62321 Boulogne sur Mer- FRANCE T?l : +33(0)3 21 99 56 78 Fax : +33(0)3 21 99 56 01 E-mail : cloots at ifremer.fr http://www.ifremer.fr/drvboulogne/labo/equipe.htm
Christophe LOOTS <Christophe.Loots <at> ifremer.fr> writes:> > Thank you so much for your help. > > The function "dbinom" seems to work very well. > > However, I'm a bit lost with the "dnorm" function. > > Apparently, I have to compute the mean "mu" and the standard deviation > "sd" but what does it mean exactly? I only have a vector of predicted > response and a vector of observed response that I would like to compare! > > What are "mu" and "sigma". >mu is the mean (which you might as well set to the predicted value). sd is the standard deviation; in order to calculate the likelihood in this case, you'll need an *independent* estimate (from somewhere) of the standard deviation. Without thinking about it too carefully I think you could probably get this from sqrt(sum((predicted-observed)^2)/(n-1)) ....> Thanks again. > Christophe >