正态分布的极大似然估计
#生成正态分布的随机数,u=0,sigma=1
y <- as.data.frame(rnorm(1000))
#方法一
normal.lik<-function(theta,y){
mu<-theta[1]
sigma2<-theta[2]
n<-nrow(y)
logl<- -0.5*n*log(2*pi) -0.5*n*log(sigma2) -(1/(2*sigma2))*sum((y-mu)**2)
return(-logl)
}
optim(c(0,1),normal.lik,y=y)
#方法二
normal.lik2<-function(mu,sigma2){
n<-nrow(y)
logl<- -0.5*n*log(2*pi) -0.5*n*log(sigma2) -(1/(2*sigma2))*sum((y-mu)**2)
return(-logl)
}
library(bbmle)
mle2(normal.lik2, start = list(mu=0,sigma2=1))
y <- as.data.frame(rnorm(1000))
#方法一
normal.lik<-function(theta,y){
mu<-theta[1]
sigma2<-theta[2]
n<-nrow(y)
logl<- -0.5*n*log(2*pi) -0.5*n*log(sigma2) -(1/(2*sigma2))*sum((y-mu)**2)
return(-logl)
}
optim(c(0,1),normal.lik,y=y)
#方法二
normal.lik2<-function(mu,sigma2){
n<-nrow(y)
logl<- -0.5*n*log(2*pi) -0.5*n*log(sigma2) -(1/(2*sigma2))*sum((y-mu)**2)
return(-logl)
}
library(bbmle)
mle2(normal.lik2, start = list(mu=0,sigma2=1))
评论
发表评论