1

ではRoptimコマンドは Nelder-Mead 法を使用して関数を最適化します。記事には次のように記載されています

The parameters to be estimated are optimized over initial values. As a result,
different initial values will lead to different estimates.

とはどういう意味the parameters to be estimated are optimized over initial valuesですか?

4

1 に答える 1

10

ソースを引用するという@GavinSimpsonの要求には十分な根拠があります。

つまり、これは基本的な最適化の概念です。一般に、パラメータの開始値を選択する必要があります (またはルーチンがそれらを推測する必要があります)。最適化では通常、局所的な最小値または最大値が検出されるため、グローバルな最小値ではない局所的な最小値の近くで開始すると、グローバルな最小値ではなく、その局所的な最小値が検出される可能性があります。

これが例です。最初に、6 次多項式を作成してプロットします (複数の極小値を使用)。次に、3 つの異なるポイントから開始して最適化します。

f <- function(x)  {
  1/30 * (x+3.5)*(x+2)*(x+1)*(x-1)*(x-3)*(x-4) + 2
}
vec <- seq(-4,4, .01)
plot( f(vec) ~ vec, type="l" )

for( startX in c(-3.5,-.5,3) ) {
  opt <- optim( list(x=startX), fn=f )
  points( x=opt$par, y=opt$value, pch="x", col="red"  )
}

開始値の重要性がわかりますか?

プロット

注意: Nelder-Mead は一変量分布には理想的ではないことを理解していますが、ここではポイントを説明するために簡単にするために使用しました。

于 2013-01-25T13:27:54.150 に答える