我試圖找到shape1
和shape2
在dbeta()
使得從dbeta()
兩個輸入值答案:.6
和.8
成爲3
。在R中使用`optim()`解決兩個參數?
我使用下面的optim()
但沒有得到確切的結果,這是我希望得到值shape1
和shape2
與.6
和.8
使用時給3
和3
,但他們不這樣做,爲什麼呢?
f <- function(x) {
y <- c(3, 3) - dbeta(c(.6, .8), shape1 = x[1], shape2 = x[2])
}
AA = optim(c(1, 1), function(x) sum(f(x)^2), control = list(reltol = (.Machine$double.eps)))
parms = unname(AA$par)
dbeta(c(.6, .8), parms[1], parms[2]) # Here I expect to get `3` for `.6` and `.8` but I don't.
我不知道是怎麼回事就在這裏,但是當我與周圍的參數有點玩,例如F'設置'來'c(1,1) - ...'並將'optim'的初始值設置爲c(0.5,0.5)',或者將'f'設置爲'c(2,2) - ...'相同的初始值,我得到了預期的結果。將這些值中的一個或另一個設置爲更大的數值,會拋出結果。 – lmo