我試圖在R.使用MCMCglmm
包創建模型多項式模型MCMCglmm中的R
的數據的結構如下,其中對子,局竈性,其他都是隨機效應,predict1-2是預測變量,和響應1-5是結果變量,不同亞型的觀察到的行爲的捕獲#:
dyad focal other r present village resp1 resp2 resp3 resp4 resp5
1 10101 14302 0.5 3 1 0 0 4 0 5
2 10405 11301 0.0 5 0 0 0 1 0 1
…
所以只有一個結果(示教)的模型如下:
prior_overdisp_i <- list(R=list(V=diag(2),nu=0.08,fix=2),
G=list(G1=list(V=1,nu=0.08), G2=list(V=1,nu=0.08), G3=list(V=1,nu=0.08), G4=list(V=1,nu=0.08)))
m1 <- MCMCglmm(teaching ~ trait-1 + at.level(trait,1):r + at.level(trait,1):present,
random= ~idh(at.level(trait,1)):focal + idh(at.level(trait,1)):other +
idh(at.level(trait,1)):X + idh(at.level(trait,1)):village,
rcov=~idh(trait):units, family = "zipoisson", prior=prior_overdisp_i,
data = data, nitt = nitt.1, thin = 50, burnin = 15000, pr = TRUE, pl = TRUE, verbose = TRUE, DIC = TRUE)
哈德菲爾德的課程筆記(第5章)給出了一個多項式模型的例子,該模型只使用一個單一的結果變量,3個級別(3種類型的綿羊角)。類似的處理可以在這裏找到:http://hlplab.wordpress.com/2009/05/07/multinomial-random-effects-models-in-r/這是不完全正確的,我在做什麼,但包含有用的背景信息。
另一參考文獻(Hadfield 2010)給出了一個多響應MCMCglmm的例子,它遵循相同的格式,但使用cbind()來預測響應向量,而不是單個結果。與多個響應同型號的應該是這樣的:
m1 <- MCMCglmm(cbind(resp1, resp2, resp3, resp4, resp5) ~ trait-1 +
at.level(trait,1):r + at.level(trait,1):present,
random= ~idh(at.level(trait,1)):focal + idh(at.level(trait,1)):other +
idh(at.level(trait,1)):X + idh(at.level(trait,1)):village,
rcov=~idh(trait):units,
family = cbind("zipoisson","zipoisson","zipoisson","zipoisson","zipoisson"),
prior=prior_overdisp_i,
data = data, nitt = nitt.1, thin = 50, burnin = 15000, pr = TRUE, pl = TRUE, verbose = TRUE, DIC = TRUE)
我有兩個方案規劃問題,在這裏:
如何指定一個以前這種模式?我查看了這篇文章中提到的材料,但無法弄清楚。
我已經運行一個類似的版本只有兩個響應變量,但我只得到一個斜坡 - 我認爲我應該得到不同的斜率爲每個
resp
變量。我錯在哪裏,或者我誤解了模型?
你有沒有檢查'R = list(V = diag(2),nu = 0.08,fix = 2)中是否有'fix = 2''真的有意義?在我對MCMCglmm先前規範的理解中,'fix'應該像布爾值一樣讀取:'fix = 0'是不將方差固定爲'V'的默認值,'fix = 1'表示「將方差修正爲「V」的值。所以'fix = 2'(或類似的)imo根本就沒有意義。 (但他的課程103頁上沒有Hadfield使用這個規範:ftp://cran.r-project.org/pub/R/web/packages/MCMCglmm/vignettes/CourseNotes.pdf) – Qaswed 2016-11-28 16:53:23
@Qaswed我回來了這些數據在幾年後再次看到這些模型。我的理解是,由於存在分類組件(預測零)和連續組件(預測非零值),所以「修復」組件與先前模型的哪一部分有關。這是專門針對zipoisson模型的,它們在技術上是多項式的。警告:我可能會感到困惑! – 2018-03-08 19:19:07