Как автоматически извлекать оценки из категориального * непрерывного взаимодействия из GLMER и решать для индивидуальной оценки конкретной категории - PullRequest
0 голосов
/ 10 июля 2019

Я запустил несколько GLMM, используя lme4 :: glmer, и у меня есть несколько вопросов, чтобы убедиться, что я все сделал правильно, как с точки зрения интерпретации, так и с точки зрения кодирования R. Первоначально я писал на CrossValidated, но характер вопросов, которые у меня есть, может сделать его более подходящим для SO.

  1. Я бы хотел быстро и легко найти для моих оценок ( b s) для каждой группы / уровня фактора в моем взаимодействии между факторами (Условие, 2 уровня: EtOH, CTRL) и непрерывная переменная (c.conc).
  2. Я также хотел бы знать, как это сделать для каждого уровня 3-уровневого фактора, так как он понадобится мне позже и сделать этот пример легко расширяемым для факторов с 3 или более уровнями для других. К тому же, здесь я не совсем понятен в математике и считаю, что это всего лишь вопрос того же подключения переменных кодировок и решения, которое я знаю из ситуации, когда одна переменная имеет двухуровневый коэффициент. Я помню, как видел способ сделать это с помощью команды R, но я не могу, по жизни, найти то, где я это видел. Любая помощь будет принята с благодарностью. Пожалуйста, найдите модель ниже.
  3. Мой третий и, пожалуй, самый важный вопрос относится к интерпретации и обратному масштабированию / преобразованию оценок в логарифмическом пространстве для 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% прироста в.конц

Любая помощь очень ценится!

...