率の最尤推定Iは観測でexp(λ)
分布の結果から、サイズ6のランダムなサンプルを持っている場合は、私は本当にR.`最適化()`:指数分布
でMLE計算を理解することに苦労しています:私は
mean(x)
を次のようにMLEから計算され、1.111667まし
x <- c(1.636, 0.374, 0.534, 3.015, 0.932, 0.179)
(私は右のこの部分をやっていない、100%確信して)。
しかし、私はRを使用して数値計算をコード化しようとすると、エラーまたは一致しない回答が得られます。
lik <- function(lam) prod(dexp(x)) # likelihood function
nlik <- function(lam) -lik(lam) # negative-likelihood function
optimize(nlik, x)
は私に与え
#$minimum
#[1] 3.014928
#
#$objective
#[1] -0.001268399
もともと私は
lik <-function(lam) prod(dexp(x, lambda=lam)) # likelihood function
nlik <- function(lam) -lik(lam) # negative-likelihood function
optim(par=1, nlik) # minimize nlik with starting parameter value=1
を持っていたしかし、私はあなたの観測ベクトルだからここ
#Error in dexp(x, lambda = lam) :
# unused argument (lambda = lam)
#In addition: Warning message:
#In optim(par = 1, nlik) :
# one-dimensional optimization by Nelder-Mead is unreliable:
#use "Brent" or optimize() directly
あなたの関数は引数 'lam'を使用しません:あなたはそれを呼び出しても同じ値を返します。おそらくあなたはそれが 'prod(dexp(lam))'であることを望んでいますか?一方、あなたの以前のバージョンは、 'lambda'という名前の引数を使って' dexp'と呼ばれていました。 '?dexp'は、この関数にその名前の引数がないことを示します。 – dash2