Я хотел бы оценить параметр для экспоненциального распределения, используя Максимальное произведение расстояний (MPS)Мне нужно будет минимизировать:
- (1 / (n + 1)) * (сумма log D [i] от i = 1 до n + 1),
где D [i] = F (x [i]) - F (x [i - 1])
И вот мой код R:
n<- 10
mydata<- rexp(n, rate=2)
x<- sort(mydata)
fnn<- function(lambda,x){
for (i in 2:n){
c<- 1-exp(-lambda*x[i])
d<- 1-exp(-lambda*x[i-1])
}
s<- (1/(n-1))*sum(log(c-d))
return(-s)
}
optim(0.8, fnn, x=x)
Может кто-нибудь проверить?правильно ли я здесь поступаю?
Вывод, который я получил, далек от истинного значения lambda = 2
.
$`par`
[1] 0.92375
$value
[1] 0.1847188
$counts
function gradient
18 NA
$convergence
[1] 0
$message
NULL
Какие модификации я должен включить?