Sadece mevcut vejetaryenler hakkında anket verileri elde ettiğimizde vejetaryenliğe ortalama yapışma süresini nasıl hesaplayabiliriz?


16

Rasgele bir popülasyon örneği incelendi. Vejetaryen diyet yapıp yemedikleri soruldu. Evet yanıtı verdiyse, ne kadar süredir kesintisiz vejetaryen diyet yediğini belirtmeleri istendi. Bu verileri vejetaryenliğe ortalama yapışma süresini hesaplamak için kullanmak istiyorum. Başka bir deyişle, vejetaryen olunca ortalama olarak vejetaryen kaldıklarını bilmek istiyorum. Diyelim ki:

  • Tüm katılımcılar doğru ve doğru yanıtlar verdiler
  • Dünya kararlı: Vejetaryenliğin popülerliği değişmiyor, ortalama bağlılık da değişmiyor.

Şimdiye kadar akıl yürütmem

Her yıl başında iki kişinin vejetaryen olduğu dünyanın oyuncak modelini analiz etmeyi yararlı buldum. Her seferinde biri 1 yıl vejetaryen kalır, diğeri 3 yıl kalır. Açıkçası, bu dünyada ortalama yapışma süresi (1 + 3) / 2 = 2 yıldır. İşte örneği gösteren bir grafik. Her dikdörtgen bir vejetaryenlik dönemini temsil eder:

bir örnek

Diyelim ki 4. yılın ortasında bir anket yapalım (kırmızı çizgi). Aşağıdaki verileri alıyoruz:

bir masa

Anketi 3. yıldan başlayarak herhangi bir yılda yapsaydık aynı verileri elde ederiz.

(2 * 0,5 + 1,5 + 2,5) / 4 = 1,25

Biz hafife alıyoruz, çünkü herkes anketten hemen sonra vejeteryan olmayı bıraktığını varsayıyoruz, ki bu yanlış. Bu katılımcıların vejetaryen olarak kalacağı gerçek ortalama sürelere daha yakın bir tahmin elde etmek için, ortalama olarak, vejetaryenlik dönemlerinin yaklaşık yarısında bir süre rapor ettiklerini ve bildirilen süreleri 2 ile çarptıklarını varsayabiliriz. nüfustan (analiz ettiğim gibi), bunun gerçekçi bir varsayım olduğunu düşünüyorum. En azından doğru bir değer verecekti. Ancak, eğer iki katına çıkardığımız tek şey ise, ortalama 2,5 alırız, bu da fazla tahmin eder. Çünkü vejeteryan ne kadar uzun süre kalırsa, mevcut vejeteryanlar örneğinde olma olasılığı da o kadar yüksektir.

Daha sonra birisinin mevcut vejetaryenler örneğinde olma olasılığının vejetaryenlik süresiyle orantılı olduğunu düşündüm. Bu önyargıyı hesaba katmak için, mevcut vejetaryenlerin sayısını tahmini bağlılık sürelerine ayırmaya çalıştım:

yine başka bir masa

Ancak, bu da yanlış bir ortalama verir:

(2 * 1 + ⅓ * 3 + ⅕ * 5) / (2 + ⅓ + ⅕) = 4 / 2.533333 = 1.579 yıl

Vejetaryenler sayısının doğru yapışma sürelerine bölünüp bölünmediği konusunda doğru tahmin verir:

(1 + ⅓ * (1 + 3 + 5)) / (1 + ⅓ * 3) = 2 yıl

Ama tahmin edilen bağlılık uzunluğunu kullanırsam işe yaramaz ve gerçekte sahip olduğum tek şey bunlar. Başka ne denemek bilmiyorum. Hayatta kalma analizi hakkında biraz okudum ama bu durumda nasıl uygulanacağından emin değilim. İdeal olarak,% 90 güven aralığı da hesaplamak istiyorum. Herhangi bir ipucu büyük mutluluk duyacağız.

DÜZENLEME: Yukarıdaki sorunun cevabı olmayabilir. Ancak rastgele bir örneklemin vejeteryan olup olmadıklarını ve geçmişte kaç kez vejetaryen olduklarını soran başka bir çalışma daha vardı. Ayrıca her iki çalışmada ve diğer bazı şeylerde yaşını biliyorum. Belki de bu bilgiler bir şekilde ortalamayı almak için mevcut vejeteryanların araştırmasıyla birlikte kullanılabilir. Gerçekte, bahsettiğim çalışma bulmacanın sadece bir parçası, ama çok önemli ve bundan daha fazlasını elde etmek istiyorum.


1
Bu bir seçenek atm değil. Bu veriler kesinlikle yapışma süresi için bazı kanıtlar sağlar, sadece nasıl kullanılacağını bilmiyorum.
Saulius Šimčikas

1
Resimlerinizden en az biri kayboldu (URL'yi kullandığımda 403 hatası).
barrycarter

2
@kjetilbhalvorsen Vejetaryenler yaşam için vejeteryan olmaya devam ederse sorun önemli değil. Bir noktada, et yiyerek ya da ölerek vejeteryan olmayı bırakacaklar.
Pere

4
@kjetil "Gerçek vejeteryanlar" yorumunuz biraz No True Scotsman gibi geliyor . Bir vejeteryanın sıradan tanımı, gelecekte ne olabileceği veya birisinin neden vejeteryan olduğu hakkında hiçbir şey söylemez, ancak sadece niteliğin değerlendirildiği zamandaki davranışları hakkında hiçbir şey söylemez. Birisi şimdi vejeteryansa, şimdi vejeteryan, ne olursa olsun biri olur. Et yeme fikri hakkındaki kişisel hislerimizin ya da neden olduğumuzu hissetmemizin nedenlerinin burada olduğunu düşünüyorum; başka bir yere aitler.
Glen_b -Monica'yı geri yükleAğustos

2
Daha uzun süre vejetaryenler olan kişilerin örneğinizde görünme olasılıkları daha yüksek olduğundan, bu, örnek verilerinizin olasılık yoğunluk fonksiyonunun, eksi uzunlukların eksi dağılım işlevinin bir eksi ile orantılı olduğu anlamına gelir. Örneğinizden bir örnek vermek için uzunlukların dağılımı [0, 0,5, 0, 0,5] 'dir (1 yıl boyunca% 50, 3 yıl boyunca% 50) ve [0, 0,5, 0,5, 1 CDF'si verir ], bir eksi [1, 0,5, 0,5, 0] olacak ve bu da numunenizin [2, 1, 1, 0] sayılarıyla orantılıdır.
PhiNotPi

Yanıtlar:


10

Let yapışma uzunluğu pdf ifade X popülasyonunda vejetaryenliğin. Hedefimiz E X = 0 x f X ( x ) d xfX(x)XEX=0xfX(x)dx .

Ankete dahil olma olasılığının ( olayı ) X ile orantılı olduğu varsayılarak, ankete dahil olanlar arasında X bağlılık uzunluğu pdf'si f X | S ( x ) = x f X ( x )SXX Ankete dahil edildiği sırada, sadeceZ'ningeçtiğibir zaman. X(veS)şartlı,vejetaryen olduğu bildirilen süre pdf ile eşittir fZ| X=x(z)=1

fX|S(x)=xfX(x)xfX(x)dx=xfX(x)EX.
ZXS Böylece, toplam olasılık yasasını kullanarak,ankete dahil olanlar arasında vejetaryen olarak geçen Zzamanının toplam dağılımı f Z ( z ) olur.
fZ|X=x(z)=1x,0<z<x.
ZFx(Z)CDF olanX. Yanaxpozitif bir değişkendirFx(0)=P(x0)=0ve buönZ(0)=1/E, X.
fZ(z)=zfZ|X=x(z)fX|S(x)dx=z1xxfX(x)EXdx=1FX(z)EX,
FX(z)XXFX(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)

resim açıklamasını buraya girin

fZ(z)fX(0)=FX(0)>0fZ(0)EXEX daha fazla varsayım yapmadan bu gibi durumlarda, aslında bu durumda mevcut olan kısa yapışma süreleri, önyargılı örneklemenin bir sonucu olarak gözlemlenen verilerde pek görülmediği için zor gibi görünmektedir.

fX(x)

L(θ)=i=1n1FX(zi;θ)EX(θ)
sayısal olarak (yukarıdaki şekilde mavi eğri).

Verileri simüle eden ve her iki yöntemi de uygulayan R kodu:

# 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
Hey, cevapladığınız için çok teşekkür ederim, her şeyi anlamak için henüz zaman ayırmadım, sadece başka bir çalışmadan genel dağılımı bildiğimi eklemek istedim. (diğer çalışma ile ilgili tek sorun, insanların ne kadar süredir vejetaryen olduklarını seçebilmeleri ve seçeneklerden biri "10 yıldan fazla" idi ve ortalama neredeyse tamamen 10 yıldan daha uzun sürdü. vejetaryen kalır)
Saulius Šimčikas

Tamam, umarım akıl yürütmemde büyük kusurlar yoktur. Görüyorum ki @PhiNotPi OP'ye yaptığı açıklamada aynı pdf'ye ulaştı.
Jarle Tufto

@Saulius İkinci sağ sansürlü veri kümesine erişiminiz varsa ve temeldeki dağıtımların özdeş olduğu varsayılabilirse, ideal çözüm, söz konusu veri kümesinin olasılığını birleştirmek olacaktır (eğer sadece bazı sağ sansürlü örnekleme) ve ardından eklem olasılığını en üst düzeye çıkarın.
Jarle Tufto

bu doğru sansür değil: imgur.com/U8ofZ3A Şimdi başlangıçta bunu belirtmek zorunda olduğumu fark ettim ama sorunumun daha basit bir çözümü olduğunu düşündüm ...
Saulius Šimčikas

@Saulius Bu veriler aralıklı olarak sansürlenmiştir. Yine, olasılığı hesaplamak kolaydır.
Jarle Tufto

0

(@JarleTufto zaten güzel bir matematiksel yaklaşım vermiş gibi göründüğü için bunu ekledi, ancak cevabını anlayacak kadar zeki değilim ve şimdi aynı yaklaşım olup olmadığını merak ediyorum aşağıda tarif ettiğim yaklaşımın kullanımı vardır.)

Yapacağım şey ortalama bir uzunluk tahmin etmek ve etrafındaki birkaç dağılımı tahmin etmek ve sonra her biri için popülasyonumun bir simülasyonunu yapmak ve düzenli olarak örneklemek.

Vejetaryenlerin toplam nüfusunun değişmediğini varsaymayı söyledin, bu yüzden modelimde bir kişi durduğunda, yepyeni bir vejetaryen yaratıldı. Örneklemeye başlamadan önce, yerleştiğinden emin olmak için modeli birkaç yıl boyunca çalıştırmalıyız. Bundan sonra% 90 güven aralığınızı oluşturmak için yeterli olana kadar her simüle ayda (*) numune alabileceğinizi düşünüyorum.

*: veya verilerinizle hangi çözünürlükte çalışırsa çalışın. Eğer insanlar cevaplarını en yakın yıla verdiyse, her 6 ayda bir numune almak yeterlidir.

Tüm tahminlerinizin arasından, (aldığınız tüm örneklerin ortalaması alınarak) gerçek hayat anketinizin verdiği sonuca en yakın sonucu veren ortalama ve dağılımı seçersiniz.

En iyi eşleşmeyi daraltmak için tahminlerimi birkaç kez tekrarlıyorum.

En iyi dağılım tek pike olamaz. Şahsen yaşadığım eski vejeteryanlar büyük yaşam tarzı değişiklikleri (genellikle vejetaryen olmayan veya hareketli bir ülke ile evlenmek / yaşamak, ciddi şekilde hastalanmak ve bunun diyet olabileceğini düşündüren doktorlar) nedeniyle durduğunu düşünebilirim; diğer tarafta alışkanlığın gücü vardır: ne kadar uzun süre vejetaryen olursanız, bir tane olma olasılığınız o kadar artar. Verileriniz yaş ve ilişki durumu sormuşsa, bunu yukarıdaki simülasyonda da atabiliriz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.