私はRの初心者であり、いくつかのフォーラムで検索しましたが、これまでの回答はありませんでした。 arima()
コマンドを使用せずにAR(1)モデルに対してRで最尤推定を行うように求められます。我々は、切片アルファ、係数ベータおよび分散σ2を推定すべきである。データは正規分布に従い、ここで対数尤度関数を導出する必要があります。私は、次のコードを使用して機能をプログラムしようとしていた:Error in Y - (theta[1]/(1 - theta[2]))^2 : 'Y' is missing
:Rの正規分布のための手による最大尤度推定
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)
このコードを実行しているとき、私は常にエラーメッセージが表示されます。 尤度関数が正しく導出されているかどうかを調べることができれば幸いです。
ご協力いただきありがとうございます。
ヒント:?optimドキュメントに用意されている例題の目的関数の引数を詳しく見ることができます – chinsoon12