Sayım verileri için zaman serileri, sayımlar <20


23

Geçenlerde bir tüberküloz kliniği için çalışmaya başladım. Halen tedavi ettiğimiz TBC vakalarının sayısını, uygulanan testlerin sayısını vb. Tartışmak için periyodik olarak görüşüyoruz. Bu sayıları modellemeye başlamak istiyorum, böylece sadece sıra dışı olup olmadığını tahmin etmiyoruz. Ne yazık ki, zaman serilerinde çok az eğitim aldım ve maruz kalmamın çoğu, sürekli veri (stok fiyatları) veya çok sayıda sayı (grip) için modellerdi. Ancak şu şekilde dağıtılan ayda 0-18 vaka ile ilgileniyoruz (ortalama 6.68, ortanca 7, var 12.3):

[görüntü buğulanmayla kayboldu]

[bir yulaf tarafından yenen görüntü]

Bu gibi modelleri ele alan birkaç makale buldum, ancak hem yaklaşımlar hem de bu yaklaşımları uygulamak için kullanabileceğim R paketleri için sizden duyma önerilerinizi takdir ediyorum.

DÜZENLE: mbq'nin cevabı, burada ne sorduğum hakkında daha dikkatli düşünmemi sağladı; Aylık rakamlara fazla takıldım ve sorunun asıl odağını kaybettim. Bilmek istediğim şey şudur: 2008'den itibaren (oldukça gözle görülür) düşüş, genel vaka sayısındaki düşüş eğilimini yansıtıyor mu? Bana göre 2001-2007 yılları arasında aylık davaların sayısı istikrarlı bir süreci yansıtıyor; belki biraz mevsimsellik, ama genel olarak kararlı. 2008'den günümüze kadar olan süreç değişiyor gibi görünüyor: genel sayıları, rastgele ve mevsimsellik nedeniyle aylık sayıları aşağı yukarı sallayabilmesine rağmen düşüyor. Sürecinde gerçek bir değişiklik olup olmadığını nasıl test edebilirim? Ve eğer bir düşüş tespit edebilirsem,


2
Bağlantılar öldü. Görüntüleri elde edebiliyorsanız (veya onları yenileyebilirseniz), lütfen onları imgur'da depolayan yeni sistemi kullanın.
Glen_b

Ne yazık ki, bu araziler birkaç işten önceydi. Özür!
Matt Parker,

1
Bu gönderi göz önüne alındığında (# 173), site betadayken çok eskiden beri, bu sürpriz değil - çok az sayıda kişi bu noktada bu noktaya kadar olan yayınlardan gelen bir komployu yeniden yapabilirdi. Yine de teşekkürler.
Glen_b -Reinstate Monica

Yanıtlar:


15

Tarihsel eğilimi değerlendirmek için trend ve mevsimsel unsurları olan bir oyun kullanırdım. Örneğin

require(mgcv)
require(forecast)
x <- ts(rpois(100,1+sin(seq(0,3*pi,l=100))),f=12)
tt <- 1:100
season <- seasonaldummy(x)
fit <- gam(x ~ s(tt,k=5) + season, family="poisson")
plot(fit)

O summary(fit)zaman trenddeki değişimin önemini test edecek ve arsa size bazı güven aralıklarını verecektir. Buradaki varsayımlar gözlemlerin bağımsız olduğu ve koşullu dağılımın Poisson olduğu şeklindedir. Ortalamanın zaman içinde sorunsuz bir şekilde değişmesine izin verildiğinden, bunlar özellikle güçlü varsayımlar değildir.

Trendi geleceğe yansıtmanız gerektiğinden tahmin etmek daha zordur. Verilerin sonundaki eğilimin doğrusal bir ekstrapolasyonunu kabul etmeye istekliyseniz (ki bu durum kesinlikle tehlikeli olabilir, ancak birkaç ay boyunca sorun olmaz)

fcast <- predict(fit,se.fit=TRUE,
               newdata=list(tt=101:112,season=seasonaldummyf(x,h=12)))

Tahminleri aynı grafik üzerinde görmek için:

plot(x,xlim=c(0,10.5))
lines(ts(exp(fcast$fit),f=12,s=112/12),col=2)
lines(ts(exp(fcast$fit-2*fcast$se),f=12,s=112/12),col=2,lty=2)
lines(ts(exp(fcast$fit+2*fcast$se),f=12,s=112/12),col=2,lty=2)

Olağandışı ayları, formun (sapma) kalıntılarında aykırı değerlere bakarak tespit edebilirsiniz.


8

Strucchange'e bir göz atmak isteyebilirsiniz :

(Doğrusal) regresyon modellerinde yapısal değişiklikleri test etme, izleme ve tarihleme. strucchange, genelleştirilmiş dalgalanma testi çerçevesinden ve F testi (Chow testi) çerçevesinden testler / yöntemler içerir. Bu, sırasıyla dalgalanma işlemlerine (örn. CUSUM, MOSUM, özyinelemeli / hareketli tahminler) ve F istatistiklerine uymak, çizmek ve test etmek için yöntemler içerir. Dalgalanma işlemlerini kullanarak gelen verileri çevrimiçi olarak izlemek mümkündür. Son olarak, regresyon modellerinde yapısal değişikliklere sahip sınır değerler güven aralıkları ile birlikte tahmin edilebilir. Verileri görselleştirme yöntemlerine her zaman önem verilir. "

PS. Güzel grafikler;)


Daha sonra daha ayrıntılı olarak okumak zorunda kalacağım, ama evet, bu paket kesinlikle burada karşılaştığım sorunlara yönelik. Teşekkürler! Ve ayrıca, arsalar hakkında tür sözler için teşekkürler, p
Matt Parker

6

Gerçekten gelişmiş bir modele ihtiyaç duyuyor mu? TB hakkında bildiklerime dayanarak, herhangi bir salgın olmaması durumunda, enfeksiyonların stokastik davranışlar olduğu ve bu nedenle Ay ay sayım formu, Ay N-1 ay sayımı ile ilişkilendirilmemelidir. (Bu varsayımı otomatik korelasyon ile kontrol edebilirsiniz). Eğer öyleyse, sadece sayıların dağılımını analiz etmek, bazı sayıların normalden önemli ölçüde yüksek olup olmadığına karar vermek için yeterli olabilir.
Öte yandan, mevsim, seyahat trafiği veya ilgili olabileceğini hayal edebileceğiniz herhangi bir şey gibi bazı diğer değişkenlerle de korelasyonlar arayabilirsiniz. Böyle bir şey bulursanız, bazı veri normalizasyonu için kullanılabilir.


1
N ayı ile ilgili sayınız, mutlaka N-1 ile ilişkili olmamanız gereken şarttır. TB gibi yavaş büyüyen bir hastalıkta, dikkatlice bakmak zorunda kalacağım bir şey, ancak kaynak bir vakayı bildirdiğimiz zaman ile herhangi bir sekonder bildirdiğimiz zaman arasında ne kadar gecikme olduğunu belirleyebileceğime eminim. vakalar.
Matt Parker,

1
Bununla birlikte, sorumun özünde yer alan aylık sayıların dağılımını analiz etmek konusundaki noktanız. TB'de, hem ABD'de hem de bölgemde kesin bir düşüş var. Örneğin, 2009'u önceki yıllarla karşılaştırdığımda, kesin olarak daha az vaka vardır. 2010 hala daha azına sahip olmak için yolda. Belirlemeye çalıştığım şey (bu soruyu açıklamakta zayıf bir iş yaptığım), bu düşüşlerin devam eden bir düşüş eğiliminin bir parçası mı yoksa sadece bir düşüşün bir parçası mı olduğu. Teşekkürler - sorun hakkında daha dikkatli düşünmemi sağladın.
Matt Parker,

5

Genellikle, bunun gibi hastalık verileri genel bir lineer model ile gerçekleştirilir, bunun zorunlu bir zaman serisi analizi uygulaması olması gerekmez - aylar genellikle birbiriyle ilişkili değildir.

Bu veri bana verilseydi, ne yapacağımı (ve gerçekten de buna benzer verilerle yaptım):

Verilerinizi doğru şekilde gözetliyorsam, "1/1/2000 tarihinden beri ay" olarak daha doğru bir şekilde açıklanan "zaman" değişkeni oluşturun. Ardından Poisson dağılımını (veya Negatif Binomial) ve kabaca aşağıdaki forma sahip bir log bağlantısını kullanarak R'de genel bir lineer model kullanırdım:

log(Counts) = b0 + b1*t + b2*(t^2) + b3*cos(2pi*w*t) + b4*sin(2pi*w*t)

T yukarıda tarif edilen zamandır ve w, grip benzeri bir yıllık hastalık için 1/365'dir. Genellikle 1 / n'dir, burada n, hastalığınızın döngüsünün uzunluğudur. Bunun TB için ne anlama geldiğini bilmiyorum.

İki zaman eğilimi, zaman içinde anlamlı bir farkınız varsa - normal mevsimsel değişimin dışında - gösterecektir.


4

Verilere bir Tukey Kontrol çizelgesi uygulamayı düşünebilirsiniz .


Heh - Bu aslında benim yazıya yapmadı yaptığım arazilerden biriydi. Yaptığım sorun sınırların nasıl hesaplanacağına karar vermek - ilk girişim Poisson sınırlarıyla, lambda verilerimin ortalamasına ayarlanmış durumdaydı, ancak varyansım uygun Poisson olamayacak kadar yüksek (pratikte madde için yeterince yüksek? bilmiyorum).
Matt Parker,

Diğer bir problem, dağılımın merkezinin zaman içinde değişebilmesidir - örneğin, Colorado'nun TB hastaları için bir sığınak olduğu 1900'lerin başındaki verileri kullanarak bu sınırları ayarlamak mantıklı olmaz. Öyleyse, sapmaları tespit edebilmek için süreçte uzun vadeli değişikliklerle çizgileri güncel tutmanın uygun bir yolu nedir?
Matt Parker,

4

Verilerinizi bir Dinamik Genelleştirilmiş Doğrusal Model (DGLM) kullanarak modellemeyi deneyebilirsiniz. R'de sspir ve KFAS paketlerini kullanarak bu tür modellere uyabilirsiniz. Bir bakıma, bu, Poisson gözlemlerinin günlük ortalamasının zamanın pürüzsüz bir işlevi olduğunu varsaymak yerine, stokastik bir dinamiği takip ettiğini varsaymak yerine, Rob tarafından önerilen gam yaklaşımına benzer.


Harika - KFAS paketini bilmiyordum. Ayrıca devlet-uzay yaklaşımları için dlm ve dse ve burada R kullanıcıları için genel bir bakış var: cran.r-project.org/web/views/TimeSeries.html
conjugateprior

2
dlmPaketi tavsiye ederim . DLM'lerin diğer çözümler kadar kullanımı kolay değildir, ancak dlmolabildiğince kolay olmasını sağlar ve işlem boyunca sizi yönlendiren hoş bir skeç içerir.
Wayne

2

Asıl soruyu yalnız bırakacağım, çünkü yanlış anlatacağımı düşünüyorum (bir sağlık hizmeti sağlayıcısının verilerini de analiz etsem ve dürüst olmak gerekirse, bu verilere sahip olsaydım, sadece standart teknikleri kullanarak analiz ederdim ve En iyisini umuyorum, bana oldukça iyi bakıyorlar.

R paketleri gelince, TSA kütüphanesini buldum ve beraberindeki kitap gerçekten çok kullanışlı. armasubsetsKomut, özellikle, bence büyük bir zaman tasarrufu olduğunu.


2

Deming'in önereceği ve geleneksel analitik istatistiklere girdiği gibi geleneksel numaralandırma istatistiklerinden kaçış - bu durumda kontrol çizelgeleri. Daha fazla bilgi için Donald Wheeler PhD tarafından yazılmış kitaplara, özellikle de "SPC'de İleri Düzey Konuları" na bakınız.


Birisi sadece R grafikleri (QC aka) SPC hakkında bir soru sordu stats.stackexchange.com/questions/15809/... bazı paket ipuçları sağlar. SPC / QC'nin kendimden emin değilim: Bilgisayar öncesi dönemde ve atölye katındaki çalışanlar için daha yararlı olup olmadığını merak ediyorum, ama dikkate değer.
Wayne

Aslında, bu cevap @ babelproofreader'inki için gereksiz mi?
Wayne

2

Doğrudan sorunuza cevaben "Süreçte gerçek bir değişiklik olup olmadığını nasıl test edebilirim? Ve bir düşüşü tespit edersem, bu eğilimi nasıl kullanabilirim ve hangi mevsimsellikte olursa olsun, görebileceğimiz vakaların sayısını tahmin etmek için neler olabilir? önümüzdeki aylar? " ARIMAX dahil olmak üzere dönemsel bağımlılığı ve dönemsel bağımlılığı kolayca açıklayan bir Transfer Fonksiyonu Modeli (ARMAX) geliştirin. Müdahale Tespiti gibi deneysel / analitik yöntemlerle önerilmiş olabilecek Tanımlanabilir Seviye Değişimlerini, Mevsimsel Nabızları, Yerel Zaman Eğilimlerini ve PUls'leri ekleyin. BU ROBUST MODELİ "azalır" ile eşleşen bir FAKTÖR / SERİ DAHİLDİRSA Dualarınız cevaplandı. Alternatif olarak, basitçe varsayımsal bir yapı ekleyin, örneğin T1 noktasındaki bir zaman eğilimi değişimini test etmek için iki kukla inşa edin X1 = 1,1,2,3 ,,,,,, T ve X2 = 0,0,0,0,0,0,0,1,2,3,4,5, .... T1-1 DÖNEMİNDE SONA EREN YERLER NEREDE. T1 zamanında önemli bir eğilim değişikliğinin hipotezi testi, X2 için "t değeri" kullanılarak değerlendirilecektir.

Düzenlendi 9/22/11

Genelde, bunun gibi hastalık verilerinin aylık etkileri vardır, çünkü hava / sıcaklık genellikle belirsiz bir nedenseldir. Gerçek caudsal serinin çıkarılmasında, ARIMA modelleri vekil olarak bellek veya mevsimsel mankenleri kullanır. Ek olarak, bunun gibi diziler zaman içindeki yapısal değişimi yansıtan seviye kaymalarına ve / veya yerel zaman eğilimlerine sahip olabilir. Otoregressif yapının zaman ve zaman kare ve zaman kübik gibi çeşitli eserler uygulamak yerine verilerde kullanılmasının oldukça yararlı ve daha az tahmin edici ve geçici olduğu bulunmuştur. "Sıradışı değerleri" belirlemeye özen gösterilmeli, çünkü bunlar ek neden değişkenleri önermede ve asgari olarak diğer model parametrelerinin sağlam tahminlerine yol açarken yararlı olabilir. Sonunda değişkenliğin / paramatörlerin zamana göre değişebileceğini bulduk, bu nedenle bu model iyileştirmeleri sırayla olabilir.


Kişi T- post hoc'yu tanımlamak için hesaba katan p-değerini nasıl ayarlar ( yani verileri gözden geçirdikten sonra fark etmek)?
whuber

Tüm iyileştirmeler, yani büyütmeye yol açan diyagnostik kontrol, veriler çekmecedeyken önerilen yapıyla aynı şekilde işlem görür. Tanı kontrolüne dayalı bir tahmin değişkenine gecikme eklemek, listeye başka bir boş hipotez ekler. Bu, anlamlı olmayan bir katsayıyı silmekten farklı değildir.
IrishStat

@Irish Bunu takip etmiyorum. T1 bir gecikme gibi görünmüyor: bir değişim noktası öngörüyor. Başlangıç ​​noktasının nerede olduğunu seçmek için önce verileri kontrol etmenize izin verilirse, "önemli" değişiklikler bulmak kolay değil mi?
whuber

@whuber Evet haklısınız. Ancak, Regresyonda "potansiyel birleşme" için alternatif (atlanmış) değişkenleri incelediğiniz, Kademeli Bir İleri İşlem düşünün. Bu, sonuçta ortaya çıkan hata sürecini Gaussian yapmak için modele hangi "ihmal edilen eğilimin" eklenmesi gerektiğine karar verdiğinizden farklı değildir.
IrishStat

@Irish Bu aydınlatıcı bir analoji. Eğer anlarsam, aslında her dönem için bir potansiyel değişkeni düşünürsünüz (o dönemde olası bir değişikliği belirlersiniz) ve bunlardan hangisinin modele dahil edilmesi gerektiğini belirlemek için sistematik bir süreç başlatıyorsunuz. Bu, Bonferroni gibi bazı standart p-seviye ayar prosedürlerinin makul olarak uygulanabileceğini göstermektedir. Bu geçerli olur mu?
whuber
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.