Я запустил несколько GLMM, используя lme4 :: glmer, и у меня есть несколько вопросов, чтобы убедиться, что я все сделал правильно, как с точки зрения интерпретации, так и с точки зрения кодирования R. Первоначально я писал на CrossValidated, но характер вопросов, которые у меня есть, может сделать его более подходящим для SO.
- Я бы хотел быстро и легко найти для моих оценок ( b s) для каждой группы / уровня фактора в моем взаимодействии между факторами (Условие, 2 уровня: EtOH, CTRL) и непрерывная переменная (c.conc).
- Я также хотел бы знать, как это сделать для каждого уровня 3-уровневого фактора, так как он понадобится мне позже и сделать этот пример легко расширяемым для факторов с 3 или более уровнями для других. К тому же, здесь я не совсем понятен в математике и считаю, что это всего лишь вопрос того же подключения переменных кодировок и решения, которое я знаю из ситуации, когда одна переменная имеет двухуровневый коэффициент. Я помню, как видел способ сделать это с помощью команды R, но я не могу, по жизни, найти то, где я это видел. Любая помощь будет принята с благодарностью. Пожалуйста, найдите модель ниже.
- Мой третий и, пожалуй, самый важный вопрос относится к интерпретации и обратному масштабированию / преобразованию оценок в логарифмическом пространстве для c.conc, который является перемасштабированной средне-центрированной переменной, можно найти ниже. Я знаю, что это можно легко решить, запустив нетрансформированную модель, но мне пришлось изменить масштаб из-за проблем с собственным значением. Интерпретация и объяснение масштабирования приведены ниже.
#data = mydetoh
#adjust Condition to contrast coding
contrasts(mydetoh$Condition)=contr.sum(2)
contrasts(mydetoh$Condition)
# [,1]
#CTRL 1
#EtOH -1
#GLMER for count data
Ehed <-glmer(Total.Hedonic...MM.~c.conc*Age*Condition
+ (c.conc|RatID), data=mydetoh, family=poisson)
fixef(Ehed)
#(Intercept) c.conc Age1 Condition1
#4.32440049 0.79390057 -0.06944094 -0.27231297
#c.conc:Age1 c.conc:Condition1 Age1:Condition1 c.conc:Age1:Cond1
#0.11673471 -0.87249891 0.08017314 0.20839079
#Below generates a one dimensional array of contrast coding for each level of
#Condition to get the *b* for the interaction of c.conc and Condition. I know #I need this, I just do not know the next step in R.
Ehed.CTRL.contr <- c(0,1,0,0,0,1,0,0)
Ehed.EtOH.contr <- c(0,1,0,0,0,-1,0,0)
Я уже знаю, как сделать это для двухуровневого фактора вручную, например: (для группы CTRL), добавив фиксированную оценку эффекта из c.conc: Condition к фиксированной оценке эффекта c.conc и (для EtOH group) путем вычитания фиксированной оценки эффекта из c.conc: Условие из фиксированного эффекта c.conc. Это дает:
CTRL b = -0.07859834 #across c.conc
EtOH b = 1.666399 #across c.conc
#Concentration was rescaled from % to proportions before running the stats (from
#5, 20, and 40% to .05, .20, .40) and then mean centered to make the c.conc
#variable.
#Rescaling c.conc from proportion to % yields:
CTRL b = -0.0007859834 #across c.conc
EtOH b = 0.01666399 #across c.conc
Это подводит нас к моему третьему вопросу:
Правильно ли обратное изменение масштаба и интерпретация ниже?
- CTRL группа уменьшается в Total.Hedonic ... MM. на 0,079% за каждый 1% прироста по сравнению с предыдущим годом.
- EtOH группа увеличивается на 1,7% на каждый 1% -ный рост концентрации.
редактирование:
ИЛИ интерпретация:
- CTRL: exp (-0,0007859834) = 0,9992; чтобы получить% уменьшения 1 - 0,9992 = 0,0008 * 100 = 0,08% уменьшения Total.Hedonic ... MM. на каждые 1% прироста в г.Конк
- EtOH: exp (0,01666399) = 1,0168; чтобы получить% увеличение 1,0168 - 1 = 0,0168 * 100 = 1,68% увеличение Total.Hedonic ... MM. на каждые 1% прироста в.конц
Любая помощь очень ценится!