Для решения вашего первого пункта,
- это дистрибутив Weibull, который лучше всего подходит для этих данных?
концептуально, это скорее вопрос о статистических выводах, а не программировании, так что вы, скорее всего, хотите решить, что на CrossValidated, а не SO. Тем не менее, вы можете, конечно, узнать о способах исследования этого программного обеспечения, таких как сравнение предполагаемой плотности наблюдаемых данных с теоретической функцией плотности или с функцией плотности случайных выборок из распределения вейбулла с оценками параметров:
library(MASS)
##
Weibull <- read.csv(
"F:/Studio/MiscData/force_in_newtons.txt",
header=TRUE)
##
params <- fitdistr(Weibull$F, 'weibull')
##
Shape <- params[[1]][1]
Scale <- params[[1]][2]
##
set.seed(123)
plot(
density(
rweibull(
500,shape=Shape,scale=Scale)),
col="red",
lwd=2,lty=3,
main="")
##
lines(
density(
Weibull$F),
col="blue",
lty=3,lwd=2)
##
legend(
"topright",
legend=c(
"rweibull(n=500,...)",
"observed data"),
lty=c(3,3),
col=c("red","blue"),
lwd=c(3,3),
bty="n")
конечно, есть много других способов оценки подгонки модели, это просто быстрая проверка здравомыслия.
Что касается вашего второго вопроса, то вы можете использовать функцию pweibull
с lower.tail=FALSE
, чтобы получить вероятности с функцией теоретического выживания (S (х) = 1 - F (х)):
## Pr(X >= 60)
> pweibull(
60,shape=Shape,scale=Scale,
lower.tail=FALSE)
[1] 0.01268268
Что касается вашего конечный элемент, я считаю, что для расчета доверительных интервалов по вероятностям (а также для некоторых других статистических величин) для предполагаемого распределения требуется использовать the Delta method; Я мог бы вспомнить неправильно, поэтому, возможно, вы захотите дважды проверить это. Если это так, и вы не знакомы с методом Delta, то, к сожалению, вам, вероятно, придется сделать достаточное количество чтения по этому предмету, потому что расчет, как правило, нетривиальный - вот another link; статья в Википедии не дает глубокого изучения предмета. Или вы можете узнать об этом на Cross Validated.
+1, Незначительный nitpicking ... если вы можете написать все эти слова, почему бы просто не написать * распространение * вместо * distro *?:-) –
Ха-ха на самом деле это была копия и вставка собственных слов OP; Я был на заборе об изменении его на «распространение». – nrussell
Отличный материал - спасибо. Это очень помогло мне. Это также помогло мне понять, насколько мало я понимаю об этом распределении. В попытке увидеть, сделал ли кто-нибудь жесткие ярды, которые у меня есть, вызванные вашим сообщением, нашли библиотеку «abrem», которая имеет ряд функций Вейбулла. Кстати, извините за «дистрибутив» - я выйду за спину и жужжаю себя влажной капустой. – PJP