数学建模社区-数学中国

标题: 求高手指点写 ell,optim code [打印本页]

作者: HongYu_柳    时间: 2012-12-10 04:20
标题: 求高手指点写 ell,optim code
mu<-00 M: n/ ?: y3 s9 B5 ~6 K
sigma2<-1
( }3 X$ E* H% V! t7 L! |- V  n<-20
/ `: j7 V! f' s6 k. ^' K  L<--0.25) U, k+ g# n/ e) N
  y<-rnorm(n,mu,sqrt(sigma2))
8 K( n+ r& C  k! O9 c2 Y: A; K  x<-y+ h" t7 o' q0 s
  c<-(y<=L): h9 C2 X$ B8 a* E, y, S. B
x[c]<-L+ \4 {* P0 a- ~; u1 j, ^/ _5 ^
x; @$ @# R) ~9 l1 w$ k; s
Q1:写一个ell function compute log-likelihood od x.
) B" {& {5 K6 L/ `( XQ2用 R optim来maximize这个likelihood.% n0 e0 e. l: M$ C% l# ]7 X# q. L

+ W- z7 y. L' m, |4 y8 r/ o我现在写了一个ell的试子了,但是怎么也求不出最大值。( S& D6 P4 R' q& X9 Q+ u- X
theta<-c(mu,sigma2)5 P- z) v; J/ Y% G
ell<-function(theta,x,L=-0.25){+ b( P/ t; j6 W+ d
stopifnot(is.vector(theta),length(theta)==2)( L* f& B; J( h4 X
if(theta[2]<=0)6 i/ V  s$ x5 H3 P2 J
return(NA)
6 |) u. i, R* A" H$ t else(c<-(x==L))
3 T# P$ {- i+ D; U( K* Rsum(dnorm(x[c],theta[1],sqrt(theta[2]),log=TRUE))
& h3 V  ?( r& H/ t& T sum2(dnorm(x[!c],theta[1],sqrt(theta[2]),lop=true))}
! n6 @% ?; v. G9 q$ e3 j3 d- T) i6 r5 `3 I. L
我的求最大值试子是init<-c(mu=0,sigma2=1)
; z5 z, s7 Q) D& s3 ?& [0 q
# B0 h4 N$ }9 P5 K( k4 {9 W& y' Sopt<-optim(par=init,fn=ell,method="L-BFGS-B",, q& K- D  F. c
  lower=c(-Inf,0.01),6 V2 B) Y/ G- _# x1 m
  upper=c(Inf,Inf),hessian=TRUE,
+ A( |0 ]) T9 q: @' z  P+ _( W  control=list(fnscale=-1))0 `  ]( M8 w$ s# f& e0 x
谁能看看哪里错了。谢谢了。
作者: zxtttxxqm    时间: 2012-12-11 14:05
这个的话你去问版主吧




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5