2018.01.27 R の optimize 関数が変数を 1 つだけもつ目的関数の最適化に用いるのに対し、変数が 2 つ以上のときも利用できるのが optim 関数である。 正規分布のパラメーター推定 正規分布のパラメーターとして平均と分散の 2 つある。optim 関数を利用して、最尤推定法によりパラメーターを推定する例を示す。まず、平均 10、分散 5 の正規分布に従う乱数を 100 個生成し、変数 y に格納する。 y <- rnorm(100, mean = 10, sd = 4) 次に正規分布のパラメーター推定時に用いる対数尤度関数を作成する。パラメーターを x とし、x[1] を平均、x[2] を分散とする。 loglikelihood <- function(x, y) { - sum(0.5 * (y - x[1]) ^ 2 / x[2] + 0.5 * log(x[2