MCMCglmm
Karışık efektler modeli çalıştırmak için R paketini kullanarak performans sorunları yaşıyorum . Kod şöyle görünür:
MC1<-MCMCglmm(bull~1,random=~school,data=dt,family="categorical"
, prior=list(R=list(V=1,fix=1), G=list(G1=list(V=1, nu=0)))
, slice=T, nitt=iter, ,burnin=burn, verbose=F)
Verilerde yaklaşık 20.000 gözlem vardır ve bunlar yaklaşık 200 okulda kümelenmiştir. Kullanılmamış tüm değişkenleri veri çerçevesinden bıraktım ve çalıştırmadan önce diğer tüm nesneleri bellekten kaldırdım. Benim sorunum, yinelemeleri kabul edilemeyecek kadar küçük bir sayıya indirmediğim sürece çalıştırmak için çok uzun zaman almasıdır. 50.000 yineleme ile 5 saat sürer ve çalışacak birçok farklı modelim var. Bu yüzden kod yürütmeyi veya kullanabileceğim diğer paketleri hızlandırmanın yolları olup olmadığını bilmek istiyorum. Kullanıyorum MCMCglmm
çünkü rastgele etkiler için güven aralıkları istiyorum.
Öte yandan, bu yıl yeni bir PC almayı umuyordum ama biraz şansla bunu öne getirebilirim, bu yüzden yeni donanıma en iyi sınırlı parayı nasıl harcayacağımı merak ediyordum - daha fazla RAM , daha hızlı CPU vb. Görev yöneticisini izlemekten RAM'in sorun olduğuna inanmıyorum (asla kullanılan fizikselin% 50'sinin üzerine çıkmaz), ancak CPU kullanımı da% 50'nin üzerine çıkmaz, bu da beni tuhaf olarak vurur . Mevcut kurulumum bir intel core i5 2.66GHz, 4GB RAM, 7200rpm HDD. Ek RAM pahasına mümkün olduğunca hızlı CPU almak mantıklı mı? Seviye 3 CPU önbellek boyutunun bunun gibi istatistiksel hesaplama problemleri üzerindeki etkisini merak ettim.
Güncelleme: olması SO meta üzerinde sorulan Ben Süper kullanıcı üzerinde soru ve yazı ifadeleri tavsiye edildi. Bunu yapmak için MCMCglmm'de "başlık altında" neler olduğu hakkında daha fazla ayrıntı vermem gerekiyor. Hesaplamaların büyük bir bölümünün optimizasyon için harcandığını düşünmekte haklı mıyım - yani bazı karmaşık fonksiyonların maksimumunu bulmak? Matris inversiyonu ve / veya diğer doğrusal cebir işlemleri de darboğazlara neden olabilecek ortak bir işlem midir? Superuser topluluğuna verebileceğim diğer bilgiler en çok minnetle alınır.
lmer()
, büyük veri setlerine model takmanın, özellikle de birçok kez yapmanız gerekiyorsa, biraz zaman alabileceğini buldum . Diğer kullanıcılar (örn. @DirkEddelbuettel) bu konuda benden çok daha yararlı olsa da, sorunuzun bir cevabı paralel hesaplamada olabilir. Stackoverflow üzerinde daha iyi cevaplar alma şansı da vardır.
glmer
(diğer gönderilerimden bildiğiniz gibi) kullandım ve bu yaklaşık 20 saniye sürüyor, ancak sorun, güven aralıkları veya standart hatalar vermemesi ve bir posta listesinde okuduğumdan lme4
paketi, rastgele etkilerin örnekleme dağılımının çok çarpık olabileceğini söylüyor, bu nedenle bu istatistikler rapor edilmiyor. Aslında MCMCglmm
şu ana kadar buldum ki, benim durumumda normal yaklaşıyorlar (bu çok yardımcı değil - sadece söylüyorum). SO'ya geçirmek istersem daha iyi olur mu?