1

我有一个基于 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)

我试图理解

  1. weibull 发行版真的最适合这些数据吗?
  2. 我如何使用 R 做出相同的预测(如何计算值高于 60N 的概率);
  3. 是否可以计算该值的 95% 置信区间(即 1.2% +/- x%)

感谢阅读皮特

4

1 回答 1

3

为了解决您的第一个项目,

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函数 withlower.tail=FALSE从理论生存函数 (S(x) = 1 - F(x)) 中获取概率:

## Pr(X >= 60)
> pweibull(
   60,shape=Shape,scale=Scale,
   lower.tail=FALSE)
[1] 0.01268268

至于您的最后一项,我认为计算估计分布的概率(以及某些其他统计量)的置信区间需要使用Delta 方法;不过我可能记错了,所以你可能想仔细检查一下。如果是这种情况,并且您不熟悉 Delta 方法,那么不幸的是,您可能需要对该主题进行大量阅读,因为所涉及的计算通常不重要 - 这是另一个链接;维基百科的文章没有对这​​个主题进行非常深入的处理。或者,您也可以在 Cross Validated 上查询。

于 2014-09-17T15:46:14.083 回答