2014-06-06 45 views
0

我希望獲得一個預測變量的參數估計值,以便將另一個預測變量限制爲負二項式glm中的特定值,以更好地解釋交互效應。負二項式迴歸中相互作用的簡單斜率

我的模式是這樣的:

model <- glm.nb(outcome ~ IV * moderator + covariate1 + covariate2) 

因爲IV:moderator項是顯著,我想在特定值而獲得的參數估計IVmoderator(即在+1和-1 SD) 。我可以使用visreg包獲得的moderator不同級別的斜率估計,但我不知道如何估算SE和測試統計。 moderator是一個連續變量,因此我不能使用multcomp包和其他設計用於查找簡單斜率的包(例如,pequodQuantPsyc)與負二項迴歸不兼容。謝謝!

+1

考慮發佈一個小的(也許是假的)數據集,以便您的代碼實際運行。雖然,我想知道交叉驗證可能是一個更適合您的問題的論壇,如果它更多關於統計而不是編程。 –

+0

有_is_一個'predict.glm'函數。 –

回答

2

如果要限制迴歸中的某個值,請考慮從模型中取出該變量並將其作爲偏移量添加。例如與示例數據。

dd<-data.frame(
    x1=runif(50), 
    x2=runif(50) 
) 

dd<-transform(dd, 
    y=5*x1-2*x2+3+rnorm(50) 
) 

與參數

lm(y ~ x1 + x2,dd) 

# Call: 
# lm(formula = y ~ x1 + x2, data = dd) 
# 
# Coefficients: 
# (Intercept)   x1   x2 
# 3.438438  4.135162 -2.154770 

或者說,我們知道,x2係數爲-2,我們可以運行兩個x1x2的典範。然後,我們無法估計x2,但把這個詞作爲偏移

lm(y ~ x1 + offset(-2*x2), dd) 

# Call: 
# lm(formula = y ~ x1 + offset(-2 * x2), data = dd) 
# 
# Coefficients: 
# (Intercept)   x1 
# 3.347531  4.153594 

offset()選項基本上只需要創建一個協誰的係數始終爲1。儘管我與lm證明,這同樣的方法應該適用於glm.nb和許多其他迴歸模型。