当我们只有关于当前素食者的调查数据时,如何计算对素食主义者的平均坚持时间?


16

调查了随机样本。他们被问是否吃素食。如果他们回答“是”,他们还被要求说明他们吃素饮食已经连续多长时间了。我想使用此数据来计算对素食主义的平均坚持时间。换句话说,当某人成为素食主义者时,我想知道他们平均会长期保持素食。假设:

  • 所有受访者都给出了正确准确的答复
  • 世界是稳定的:素食主义的流行没有改变,平均遵守时间也没有改变。

到目前为止我的推理

我发现分析世界的玩具模型很有帮助,每年年初两个人成为素食主义者。每次,他们其中一名保持素食一年,另一年保持三年。显然,这个世界的平均遵守时间为(1 + 3)/ 2 = 2年。这是说明该示例的图形。每个矩形代表一个素食主义时期:

an illustration

假设我们在第4年中期(红线)进行了调查。我们得到以下数据:

a table

如果从第3年开始的任何一年进行调查,我们将获得相同的数据。

(2 * 0.5 + 1.5 + 2.5)/ 4 = 1.25

我们低估了我们的假设,因为我们假设所有人在调查后都不再是素食主义者,这显然是错误的。为了获得接近于这些参与者保持素食的真实平均时间的估计,我们可以假设他们平均报告了素食主义时期的一半时间,并且将报告的持续时间乘以2。从人群中(就像我正在分析的人群),我认为这是一个现实的假设。至少它会给出正确的期望值。但是,如果只做一倍,我们的平均值为2.5,这被高估了。这是因为人保持素食的时间越长,他在当前素食者样本中的可能性就越大。

然后,我认为当前素食者样本中某人的概率与他们的素食主义时长成正比。为了解决这种偏见,我尝试将当前素食者的人数除以他们预计的坚持时间:

yet another table

但是,这也会给出错误的平均值:

(2 * 1 +⅓* 3 +⅕* 5)/(2 +⅓+⅕)= 4 / 2.533333 = 1.579年

如果将素食者的人数除以他们的正确坚持时间,就会得出正确的估计:

(1 +⅓*(1 + 3 + 5))/(1 +⅓* 3)= 2年

但是,如果我使用预测的坚持时间是行不通的,那是我实际拥有的全部。我不知道还能尝试什么。我读了一些有关生存分析的信息,但是我不确定在这种情况下如何应用它。理想情况下,我还希望能够计算90%的置信区间。任何提示将非常感谢。

编辑:可能上面的问题没有答案。但是还有另一项研究随机询问了人们是否是素食主义者,以及过去有多少次素食主义者。我也知道学习和其他方面每个人的年龄。也许可以将此信息与当前素食者的调查结合使用,以某种方式获得平均值。实际上,我所说的研究只是其中的一个难题,但它是非常重要的一个难题,我想从中得到更多。


1
那不是atm选项。这些数据肯定为遵守时间提供了一些证据,我只是不知道如何使用。
SauliusŠimčikas17年

1
您的至少一张图片似乎已消失(当我使用URL时出现403错误)。
barrycarter

2
@kjetilbhalvorsen对于素食主义者是否一生都是素食主义者来说,问题并不重要。在某个时候,他们将不再通过吃肉或垂死而成为素食主义者。
佩雷

4
@kjetil您的“真正的素食主义者”评论听起来有点像是“ 不真正的苏格兰人”。素食主义者的普通定义并没有说明未来可能发生的事情,也没有说明为什么某人是素食主义者,而只是考虑了在考虑该属性时他们的行为。如果某人现在是素食主义者,那么无论出于何种原因,他们现在都是素食主义者。我不认为我们对吃肉的想法有个人的看法,也不认为我们这样做是有原因的。他们属于其他地方。
Glen_b-恢复莫妮卡

2
由于吃素时间更长的人更有可能会出现在您的样本中,因此这意味着样本数据的概率密度函数与1减去依从长度的累积分布函数成正比。为了在您的示例中做一个例子,长度的分布为[0,0.5,0,0.5](50%持续1年,50%持续3年),CDF为[0,0.5,0.5,1 ],一减[1,0.5,0.5,0],它与样本的[2,1,1,0]计数成比例。
PhiNotPi

Answers:


10

fX(x)表示素食主义者在人口中的依从长度的pdf 。我们的目的是估计Ë X = ∫ 0 X ˚F XX d XXEX=0xfX(x)dx

假设被纳入调查(事件)的概率与S的依从长度 X的pdf为 f X | |。Sx = x f Xx XX 在被纳入调查之时,只有一段时间

fX|S(x)=xfX(x)xfX(x)dx=xfX(x)EX.
已经过去。以 X(和 S)为条件,所报告的素食时间与pdf f Z |一致 X = xz = 1ZXS 因此,使用总概率定律,调查中包括的素食者所经历 的时间Z的总体分布为 f Zz
fZ|X=x(z)=1x,0<z<x.
Z 其中FXzX的cdf。由于X是正变量FX0=PX
fZ(z)=zfZ|X=x(z)fX|S(x)dx=z1xxfX(x)EXdx=1FX(z)EX,
FX(z)XX,因此 ˚F Ž0 = 1 / Ë XFX(0)=P(X0)=0fZ(0)=1/EX

EXfZ(z)z1,z2,,znz=0fZ(z)z=0f^Z(0)fZ(z)z=0EXEX^=1/f^Z(0)

enter image description here

fZ(z)fX(0)=FX(0)>0fZ(0)EXEX 在这种情况下,不做更多假设就很难了,这主要是因为在这种情况下,由于采样有偏差,因此在观察数据中几乎没有出现很短的依从时间。

fX(x)

L(θ)=i=1n1FX(zi;θ)EX(θ)

R代码模拟数据并实现两种方法:

# Simulate lognormal duration length in population
set.seed(1)
n <- 1e+4
x <- rlnorm(n,mean=2,sd=.2)
# Biased sampling
x.given.S <- sample(x, size=n/10, prob=x, replace=TRUE)
# Duration at time of sampling
z <- runif(length(x.given.S),min=0, max=x.given.S)
hist(z,prob=TRUE,main="")

# Compute kernel density estimate with reflection around z=0
to <- max(x) + 3
fhat <- density(z,from = -to, to=to)
m <- length(fhat$y)
fhat$y <- fhat$y[(m/2+1):m] + fhat$y[(m/2):1]
fhat$x <- fhat$x[(m/2+1):m]
lines(fhat,col="red")
# Estimate of EX
1/fhat$y[1]
# True value (mean of above lognormal)
exp(2+.2^2/2)

# Maximum likelihood
nll <- function(theta, z) {
  - sum(plnorm(z, theta[1], theta[2], log.p=TRUE, lower.tail = FALSE)) + length(z)*(theta[1] + theta[2]^2/2)
}
fit <- optim(c(0,1),nll,z=z)
fit$par
EXhat <- exp(fit$par[1]+fit$par[2]^2/2) # MLE of EX
EXhat
curve(plnorm(z, fit$par[1], fit$par[2], lower.tail=FALSE)/EXhat, xname="z", col="blue",add=TRUE)

1
嘿,非常感谢您的回答,我还没有花时间去理解所有内容,只是想补充一点,我确实知道另一项研究的总体分布。(另一项研究的唯一问题是,它使人们可以选择吃素的时间长短,其中一个选择是“超过10年”,平均水平几乎完全取决于人们吃了10年以上的食物保持素食)
SauliusŠimčikas17年

好的,我希望我的推理没有大的缺陷。我看到@PhiNotPi在对OP的评论中得到了相同的pdf。
Jarle Tufto

@Saulius如果您可以访问第二个右检查的数据集,并且可以认为基础分布确实是相同的,那么理想的解决方案是合并该数据集的可能性(如果只是一些正确的审查样本),然后最大程度地提高联合可能性。
Jarle Tufto

那个不正确的审查:imgur.com/U8ofZ3A我现在意识到我必须在开始时提到这一点,但是我认为我的问题有一些更直接的解决方案……
SauliusŠimčikas17年

@Saulius这些数据是间隔检查的。同样,很容易计算出可能性。
Jarle Tufto

0

(我对添加此内容感到困惑,因为@JarleTufto似乎已经给出了一种很好的数学方法;但是我不够聪明,无法理解他的答案,现在我很好奇它是否是完全相同的方法,或者是否我在下面描述的方法有其用途。)

我要做的是猜测平均长度,并猜测周围的一些分布,然后针对每个分布模拟我的人口,并定期对其进行抽样。

您说过要假设素食主义者的总人数没有变化,因此每次我的模型中有人停下来时,都会创建一个全新的素食主义者。在开始进行抽样之前,我们需要对模型运行多个模拟年份,以确保模型已经稳定下来。之后,我认为您可以在每个模拟月份(*)进行抽样,直到您有足够的时间来形成90%的置信区间。

*:或任何适合您数据的分辨率。如果人们给出最近一年的答案,则每6个月抽样一次就足够了。

从您的所有猜测中,您选择均值和分布(对所抽取的所有样本取平均值)可以得出与实际调查结果最接近的结果。

我会重复几次我的猜测,以缩小最佳匹配范围。

最佳分布可能不是单峰的。我个人可以想到的前素食主义者是因为生活方式的重大改变而停下来的(通常是与非素食主义者或搬家的国家结婚/一起生活,或者生病严重且医生建议饮食可能是饮食);另一方面是习惯的力量:您吃素的时间越长,成为一个人的可能性就越大。如果您的数据询问了年龄和人际关系状况,我们也可以将其放入上述模拟中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.