Подгонка новой вероятностной модели с использованием кода R - PullRequest
0 голосов
/ 10 марта 2020

Я разработал новую вероятностную модель, используя обобщенную технику смешения. Теперь я хочу, чтобы это соответствовало дискретному набору данных. Но я получаю ошибку, что

Ошибка в seq.default (0, x): «to» должно иметь длину 1, я не понимаю, как с этим справиться. R код ниже:

# rm(list=ls(all=TRUE))

obs=rep(seq(0,6),c(260,87,32,4,1,0,0))

NBWED<-function(x,r,alpha,beta){
j=seq(0,x)
C=function(n,x){
factorial(n)/(factorial(n-x)*factorial(x))
}
C(x+r-1,x)*sum(C(x,j)*(-1)^j*(alpha^2/(alpha+beta))*((r+j+alpha)+beta)/(r+j+alpha)^2)
}

library(MASS)
fit09=fitdistr(x = obs,densfun = NBWED,start = list(r=1,alpha=0.5,beta=9.4),lower = list(a = 0.1,0.001,0.001),upper=c(Inf,Inf,Inf))  
fit09

1 Ответ

0 голосов
/ 10 марта 2020

seq(0,n) создает вектор от 0 до n. Возможно, ваш x является вектором или чем-то подобным, поэтому он выдает ошибку.

Просто попробуйте: seq(0,5) и посмотрите результат. Это помогло бы.

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