У меня меняется значение частоты с единицами времени (x
), как показано на рисунке ниже. После некоторой нормализации эти значения можно рассматривать как точки данных функции плотности для некоторого распределения.
Q: Предполагая, что эти частотные точки относятся к распределению Вейбулла T
, как я могу приспосабливать наилучшую функцию плотности Вейбулла к точкам, чтобы вывести распределение T
от него?
sample <- c(7787,3056,2359,1759,1819,1189,1077,1080,985,622,648,518,
611,1037,727,489,432,371,1125,69,595,624)
plot(1:length(sample), sample, type = "l")
points(1:length(sample), sample)
Обновление.
Чтобы не допустить неправильного понимания, я хотел бы добавить немного больше объяснений. Говоря, что меняют значения частоты, меняющиеся с помощью единиц времени (x
), я имею в виду, что у меня есть данные, которые говорят, что у меня есть:
- 7787 реализаций значения 1
- 3056 реализации значения 2
- 2359 реализация значений 3... и т.д.
Какой-то путь к моей цели (как мне кажется, некорректный) - создать набор этих реализаций:
# Loop to simulate values
set.values <- c()
for(i in 1:length(sample)){
set.values <<- c(set.values, rep(i, times = sample[i]))
}
hist(set.values)
lines(1:length(sample), sample)
points(1:length(sample), sample)
и используйте fitdistr
на set.values
:
f2 <- fitdistr(set.values, 'weibull')
f2
Почему я думаю, что это неправильный путь и почему я ищу лучшее решение в R
?
-
в представленном выше подходе к распределению, предполагается, что
set.values
является полным набором моих реализаций из распределенияT
-
в моем первоначальном вопросе я знаю точки из первой части кривой плотности - я не знаю его хвоста, и я хочу оценить хвост (и всю функцию плотности)