4

正規分布の対数尤度の最適化を実行しようとしています。対数尤度の機能は機能し、渡されたデータセットを認識しますが、最適化はデータセットがそこにあることを認識しませんか? このコードを設定data_x=rnorm(100,0,1)すると正しい答えが返されますが、別のデータ セットを渡すことができる必要があります。

x <- rnorm ( 100, 0, 1)
loglike <- function( pars, data_x=x) {
  mu <- pars[1]
  sigma2 <- pars[2]^2
  numobs <- length( data_x )
  sumsq <- sum( ( data_x-mu )^2 )
  val.log.like <- -numobs / 2 * log( sigma2 ) - ( 1 / (2*sigma2) ) * sumsq
  return( val.log.like )
}

optimization <- optim( c( 0, 1), loglike)
answer <- matrix( optimization$par, 2, 1) 
answer
4

2 に答える 2

5

optim最適化している関数に追加のパラメーターを渡すことができます。この場合data_x=your_new_data_set、最適なパラメータに追加するだけです。

optim(c(0,1), loglike, data_x = your_new_data_set)

これは、...パラメータでoptimできることです。詳細を確認?optimしてください。

于 2012-11-23T21:26:05.840 に答える
2

...引数を使用して最適化します。

y <- 1:100
optimization<-optim(c(0,1), loglike, data_x=y)
于 2012-11-23T21:25:36.293 に答える