saverio vicario
2006-Jan-20  15:30 UTC
[R] big difference in estimate between dmvnorm and dnorm, how come?
Dear R community,
I was trying to estimate density at point zero of a multivariate 
distribution (9 dimensions) and for this I was using a multinormal 
approximation and the function dmvnorm , gtools package.
To have a sense of the error I tried to look the mismatch between a 
unidimensional version of my distribution and estimate density at 
point zero with function density, dmvnorm and dnorm.
At my big surprise dmvnorm and dnorm give very different result and 
dmvnorm match even better the theoritical distribution than the 
function density. How come?
#sampling from triangular distribution
X<-runif(10000)- runif(10000)
X<-matrix(X,length(X),1)
#dnorm estimate
plot(-100:100/100,
dnorm((-100:100)/100,mean(X),var(X)),col=2,type="l")
#kernel density estimate
lines(density(X))
#dmvnorm estimate
res<-rep(NA,201);for ( i in 
-100:100){res[i+101]<-dmvnorm(i/100,mean(X),var(X))}
lines(-100:100/100, res,col=3)
#Theoretic triangular distribution
lines(-1:1,c(0,1,0),col=4)
Ben Bolker
2006-Jan-20  15:49 UTC
[R] big difference in estimate between dmvnorm and dnorm, how come?
saverio vicario <saverio.vicario <at> yale.edu> writes:> > Dear R community, > I was trying to estimate density at point zero of a multivariate > distribution (9 dimensions) and for this I was using a multinormal > approximation and the function dmvnorm , gtools package. > To have a sense of the error I tried to look the mismatch between a > unidimensional version of my distribution and estimate density at > point zero with function density, dmvnorm and dnorm. > At my big surprise dmvnorm and dnorm give very different result and > dmvnorm match even better the theoritical distribution than the > function density. How come?Because dnorm takes the standard deviation and dmvnorm (which is in the mvtnorm package, not the gtools package) takes the variance as an argument. replace var(X) with sd(X) in your call to dnorm and everything will make more sense. cheers Ben Bolker
Marco Geraci
2006-Jan-20  17:58 UTC
[R] big difference in estimate between dmvnorm and dnorm, how come?
Maybe I am missing something, but I do believe that the function
  dmvnorm is in the package 'mvtnorm'.
  If you take a look at ?dmvnorm you'll see that you must specify the
  variance/covariance, while dnorm takes the standard deviation, so your code
should be
  > dnorm((-100:100)/100,mean(X),sd(X))
   
  
saverio vicario <saverio.vicario@yale.edu> wrote:
  Dear R community,
I was trying to estimate density at point zero of a multivariate 
distribution (9 dimensions) and for this I was using a multinormal 
approximation and the function dmvnorm , gtools package.
To have a sense of the error I tried to look the mismatch between a 
unidimensional version of my distribution and estimate density at 
point zero with function density, dmvnorm and dnorm.
At my big surprise dmvnorm and dnorm give very different result and 
dmvnorm match even better the theoritical distribution than the 
function density. How come?
#sampling from triangular distribution
X<-runif(10000)- runif(10000)
X<-matrix(X,length(X),1)
#dnorm estimate
plot(-100:100/100,
dnorm((-100:100)/100,mean(X),var(X)),col=2,type="l")
#kernel density estimate
lines(density(X))
#dmvnorm estimate
res<-rep(NA,201);for ( i in 
-100:100){res[i+101]<-dmvnorm(i/100,mean(X),var(X))}
lines(-100:100/100, res,col=3)
#Theoretic triangular distribution
lines(-1:1,c(0,1,0),col=4)
______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
  
		
---------------------------------
 Ring in the New Year with Photo Calendars. Add photos, events, holidays,
whatever.
	[[alternative HTML version deleted]]