From: <hi...@us...> - 2008-05-30 06:07:44
|
Revision: 5085 http://octave.svn.sourceforge.net/octave/?rev=5085&view=rev Author: highegg Date: 2008-05-29 23:07:51 -0700 (Thu, 29 May 2008) Log Message: ----------- add normalizing constant to likelihoods Modified Paths: -------------- trunk/octave-forge/main/octgpr/ChangeLog trunk/octave-forge/main/octgpr/src/nl0gpr.f trunk/octave-forge/main/octgpr/src/nllgpr.f Modified: trunk/octave-forge/main/octgpr/ChangeLog =================================================================== --- trunk/octave-forge/main/octgpr/ChangeLog 2008-05-27 16:23:05 UTC (rev 5084) +++ trunk/octave-forge/main/octgpr/ChangeLog 2008-05-30 06:07:51 UTC (rev 5085) @@ -1,3 +1,8 @@ +2008-05-30 Jaroslav Hajek <hi...@gm...> + + * src/nllgpr.f, src/nl0gpr.f: add normalizing constant to obtain the + true negative log likelihood. + 2008-05-15 Jaroslav Hajek <hi...@gm...> * inst/demo_octgpr.m: add support for non-interactive running. Modified: trunk/octave-forge/main/octgpr/src/nl0gpr.f =================================================================== --- trunk/octave-forge/main/octgpr/src/nl0gpr.f 2008-05-27 16:23:05 UTC (rev 5084) +++ trunk/octave-forge/main/octgpr/src/nl0gpr.f 2008-05-30 06:07:51 UTC (rev 5085) @@ -32,6 +32,7 @@ integer nx double precision y(nx),nu,nll0,nllinf double precision mu,ssq + parameter (l2pi = 1.83787706640935d0) integer i mu = 0 @@ -47,7 +48,7 @@ end do c set values ssq = ssq / nx - nllinf = 0.5d0 * nx * log(ssq) + nllinf = 0.5d0 * nx * (log(ssq) + l2pi) nll0 = nllinf + 0.5d0 * log(1 + nx/nu**2) end subroutine Modified: trunk/octave-forge/main/octgpr/src/nllgpr.f =================================================================== --- trunk/octave-forge/main/octgpr/src/nllgpr.f 2008-05-27 16:23:05 UTC (rev 5084) +++ trunk/octave-forge/main/octgpr/src/nllgpr.f 2008-05-30 06:07:51 UTC (rev 5085) @@ -66,8 +66,10 @@ external dwdis2,dcopy,daxpy,dscal,dtrsv,dtrsm,xerbla, +dpotrf,dtrtrs,dgeqr2,dorm2r integer i,j,nl1 - real*8 sums,sum,dwdis2 + real*8 sums,sum,dwdis2,l2pi2 + parameter (l2pi = 1.83787706640935d0) + c argument checks info = 0 if (ndim < 0) then @@ -166,7 +168,7 @@ end do c final negative log likelihood - nll = sum + 0.5d0 * nx*log(var) + nll = sum + 0.5d0 * nx*(log(var) + l2pi) c normal return info = 0 return This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |