我有一个基于N(http://pastebin.com/Huwg4vxv)
轴向力的连接力数据集之前的一些分析(由另一方进行)并且已经对其进行了Weibull分布,然后预测记录60N或更高的力的概率约为1.2%。
我不得不说眼睛看数据,这对我来说似乎不太可能,但我对这个特定的分布一无所知。
到目前为止,我能够适应曲线:
force<-read.csv(file="forcestats.csv",header = T)
library(MASS)
fitdistr(force$F, 'weibull')
hist(force$F)
我想了解
感谢阅读 皮特
答案 0 :(得分:2)
要解决您的第一项,
从概念上讲,这更像是关于统计推断而不是编程的问题,所以你很可能想要在CrossValidated而不是SO上解决这个问题。但是,您当然可以通过编程方式查询调查方法,例如将观测数据的估计密度与理论密度函数或威布尔分布随机样本的密度函数进行比较,并与参数估计值进行比较:是一个weibull发行版真的最适合这个数据吗?
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(x)= 1 - F(x)):
## Pr(X >= 60)
> pweibull(
60,shape=Shape,scale=Scale,
lower.tail=FALSE)
[1] 0.01268268
至于你的最终项目,我认为计算估计分布的概率(以及某些其他统计量)的置信区间需要使用the Delta method;我可能会错误地回忆起来,所以你可能想要仔细检查一下。如果是这种情况并且你不熟悉Delta方法,那么很遗憾你可能不得不对这个主题进行大量的阅读,因为所涉及的计算通常是非平凡的 - 这里是another link;维基百科的文章没有对该主题进行非常深入的处理。或者,您也可以在Cross Validated上查询此信息。