Оценка параметров распределения вероятности Бенини с использованием R - PullRequest
0 голосов
/ 03 июня 2018

Хочу оценить параметры двухпараметрической модели Бенини.Смотрите функцию модели здесь: https://en.wikipedia.org/wiki/Benini_distribution Мы обобщили данные из этой модели, используя метод Inverse CDF, и попытались оценить параметры, используя процедуру fitdistr в R в пакете "MASS".Код ниже

###################################################
n=100
u=runif(n,0,1)
beta=.1
sigma=0.002
your_data<-sigma*exp((-1/beta*log(1-u))^(0.5));your_data
hist(your_data,prob=T,col=3,angle=c(45),density=20,main="Benini",cex.main=1)
mean(your_data)
length(your_data)
ELL=function(x,beta,sigma) ((2*beta)/x)*(exp(-beta*(log(x/sigma))^2))*(log(x/sigma))
library(MASS)
your_estimate=fitdistr(x = your_data,densfun = ELL,start = list(beta=0.01,sigma=0.002))
your_estimate

##############################################################

Но мы получаем ошибку оптимизации, я не знаю почему?потому что мы должны получить оценки, поскольку мы сгенерировали данные только из этой модели.Может ли кто-нибудь помочь отладить код R.Я попытался с другим методом, как показано ниже, но с той же ошибкой.

##############################################

n=100
u=runif(n,0,1)
beta=.1
sigma=0.002
x<-sigma*exp((-1/beta*log(1-u))^(0.5));your_data



hist(x,prob=T,col=3,angle=c(45),density=20,main="Benini",cex.main=1)

library(stats4) ## loading package stats4
ll<-function(beta,sigma) 
{
n<-length(x)
-(n*log(2*beta)*sum(log(x))-beta*sum((log(x/sigma))^2)+sum(log(log(x/sigma))))
}

fit=mle(minuslogl=ll,start=list(beta=0.1,sigma=0.002),method="CG")
summary(fit)
#

Помогите отладить код R.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...