我是 R 的新手,在几个论坛中进行了搜索,但到目前为止还没有得到答案。我们被要求在 R 中对 AR(1) 模型进行最大似然估计,而不使用该arima()
命令。我们应该估计截距 alpha、系数 beta 和方差 sigma2。数据应该遵循正态分布,我从中得出对数似然函数。然后我尝试使用以下代码对该函数进行编程:
Y <- data$V2
nlogL <- function(theta,Y){
alpha <- theta[1]
rho <- theta[2]
sigma2 <- theta[3]
logl <- -(100/2)*log(2*pi) - (100/2)*log(theta[3]) - (0.5*theta[3])*sum(Y-(theta[1]/(1-theta[2]))**2)
return(-logl)
}
par0 <- c(0.1,0.1,0.1)
opt <- optim(par0, nlogL, hessian = TRUE)
运行此代码时,我总是收到错误消息:Error in Y - (theta[1]/(1 - theta[2]))^2 : 'Y' is missing
. 如果您可以查看似然函数是否正确导出,那就太好了。
非常感谢您的帮助!