Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2019, 11:45   #1
tdeni
Новичок
Джуниор
 
Регистрация: 15.11.2019
Сообщений: 2
Печаль Помогите понять почему fitditr дает ошибку, программа R

LL.lnorm<-function(par,x){
X.mean=par[1]
X.sd=par[2]
(-sum(dlnorm(x,X.mean,X.sd,log=TRUE)) )
}

x<-p$Cu
# начальные значения параметров
x.mean<-mean(x)
x.var<-var(x)
lnorm.scale<-x.var/x.mean
lnorm.sd<-1/lnorm.scale
lnorm.mean<-x.mean/lnorm.scale
par.init=c(lnorm.mean,lnorm.sd)
print(par.init)

# нижняя граница
par.lo=c(1e-6,1e-6)
# верхняя граница
par.hi=c(100,100)
# масштаб параметров
par.scale=c(1,2)
# поиск значений
res=optim(par.init,LL.lnorm,method= "L-BFGS-B",lower=par.lo,upper=par.hi,
control=list(maxit=500,trace=1,pars cale=par.scale),x=x)
print(res$par)

#рисуем гистограмму
hist(p$Cu,col="pink", main="Histogram for Cu",xlab="x",prob=TRUE)

# используем fitdistr()
norm.fit<-fitdistr(x,"lnorm",start=list(mean= lnorm.mean,sd=lnorm.sd))
print(norm.fit$estimate)

В консоле дает ошибку Ошибка в fitdistr(x, "lnorm", start = list(mean = lnorm.mean, sd = lnorm.sd)) :
unsupported distribution

я не понимаю почему
tdeni вне форума Ответить с цитированием
Старый 15.11.2019, 11:51   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

https://www.rdocumentation.org/packa...opics/fitdistr
Цитата:
Distributions "beta", "cauchy", "chi-squared", "exponential", "gamma", "geometric", "log-normal", "lognormal", "logistic", "negative binomial", "normal", "Poisson", "t" and "weibull" are recognised, case being ignored.
Вы видите здесь "lnorm"?
p51x вне форума Ответить с цитированием
Старый 15.11.2019, 12:58   #3
tdeni
Новичок
Джуниор
 
Регистрация: 15.11.2019
Сообщений: 2
По умолчанию

Спасибо, исправила. Но теперь там же выдает ошибку

Ошибка в fitdistr(x, "lognormal", start = list(mean = lnorm.mean, sd = lnorm.sd)) :
supplying pars for the log-Normal distribution is not supported

я так думаю у меня ошибка идет тут
x<-p$Cu
# начальные значения параметров
x.mean<-mean(x)
x.var<-var(x)
lnorm.scale<-x.var/x.mean
lnorm.sd<-1/lnorm.scale
lnorm.mean<-x.mean/lnorm.scale
par.init=c(lnorm.mean,lnorm.sd)
print(par.init)

не вижу где что пропустила
tdeni вне форума Ответить с цитированием
Старый 15.11.2019, 13:50   #4
Arpadar
Новичок
Джуниор
 
Аватар для Arpadar
 
Регистрация: 15.11.2019
Сообщений: 6
По умолчанию

Если ошибку выдает в том же операторе, то исправление проведено не полностью.
Обычно так)) Ну иногда и две ошибке можно допустить, хотя это уже не так часто случается.
@Arpadar
Arpadar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу понять почему не работает программа на С. NO ONE Общие вопросы C/C++ 2 13.12.2017 17:23
Cходящийся ряд (программа по идее должна работать но почему не работает понять не могу) в С++ Vultar Помощь студентам 3 17.12.2009 13:04
При выполнении программа отображает ошибку, в чем проблема понять не могу Hyjak Помощь студентам 7 20.10.2008 23:48