2012-12-19 82 views
5

對於實施GEE的R包,如geegeepack,似乎不包括負二項系列。我有兩個問題:GEE中的負二項式

  1. 是否有任何其他R包,我不知道的GEE?

  2. 如果沒有,有一個簡單的步驟,以允許一個家庭,即,提供鏈接功能(log mu)和方差函數(mu + mu^2/theta)的創建,假定theta被指定(否則NB不是GLM)然後讓geegeepack代碼以與glm類似的方式開展業務?

+3

快速搜索,製作了以下軟件包:GWAF,MuMIn,multgee,repolr,CorrBin,boss,saws,ape –

+0

https://stat.ethz.ch/pipermail/r-help/2011-June/282116。 html –

+1

'library(「sos」); findFn(「{generalised estimation equation}」)很有用 - 找到與上面的@ RicardoSaporta類似的列表 - 但請注意,並非所有這些實際上都適合GEE,有些只是將'geepack'或其他程序用作其他過程的一部分 –

回答

6

您應該能夠使用在MASS包中定義的negative.binomial家人做這個(建立一個家庭NB用指定的THETA值)。它看起來像geepack::geese(至少)會接受這種形式的家庭規格。爲了估計theta,你可以嘗試將GEE擬合與一個固定的theta嵌套到一個循環中,或者使用geefit_NB(theta)函數並優化theta

如果negative.binomial尚未在MASS存在,你可以定義你自己的家庭(這是無可否認的一點先進的 - 我會通過下載MASS包的源代碼,並查看文件R/neg.bin.R開始)。

+0

謝謝!我計劃通過'VARIANCE'在'geese.fit'函數中添加'negbin'選項,現在只包含高斯,二項式,泊松和Gamma。我猜想關鍵的一點是找到一種有效的方法讓'鵝'fit'從MASS包中得到負二項式擬合的結果。正如你所說,這可能會有點進步,我還沒有找到任何玩具例子的來源...... – alittleboy

+0

你說得對,比我想象的更難 - 我認爲「家庭」的存在意味着它可以自動使用用戶定義的(或至少是非包定義的)方差,但是我發現差異類型在調用C代碼時是硬編碼的...... –

+0

回想起來,我不認爲這個答案實際上回答了這個問題,因爲(如上面評論所述)方差函數比我想象的更加硬編碼。更糟的是,在'gee'或'geepack'中我沒有看到明顯的位置將參數傳遞給方差函數(關於方差的唯一可調參數是尺度參數,這是一個整體的比例常數。 ..) –