Эксперимент: я собрал данные от N
участников, каждому показывали по 50 фотографий и попросили предоставить sharing likelihood
(зависимая переменная). Я также измерил личные качества (например, аффилированную оценку, которая затем была сгруппирована), и каждая фотография имела ассоциированный показатель валентности (также сгруппированный). Было три экспериментальных условия. Я хочу измерить влияние состояния, валентности и личных качеств на вероятность совместного использования.
Я создал lmer
модель:
lmer1.model=lmer(share ~ gender+ age_group + overall_photo_share_freq_group+
affiliative_score_group*valence_group*condition+
self_enhancing_score_group*valence_group*condition+
self_defeating_score_group*valence_group*condition+
aggressive_score_group*valence_group*condition+
(1|photo), data = picshare_df, REML = TRUE)
Вопрос
Должна ли случайная часть быть participant_id
вместо photo
?
Я хочу использовать ее для последующих тестов c. Но средние значения, которые я получаю из модели, сильно отличаются от средних значений, которые я вычисляю напрямую. В модели зависимой переменной является share
, и я хочу проверить гипотезы для различных уровней affiliative_score_group
, которые имеют три уровня.
С
aggregate(picshare_df$share, by=list(picshare_df$affiliative_score_group),FUN=mean)
Я получаю
Low -0.8699349
Medium -0.9134223
High -0.8120141
Но из модели:
lsmeans(lmer.model,list(trt.vs.ctrl1~affiliative_score_group))
affiliative_score_group lsmean SE df asymp.LCL asymp.UCL
Low -0.707 0.0568 Inf -0.819 -0.596
Medium -1.038 0.0565 Inf -1.149 -0.927
High -1.088 0.0563 Inf -1.198 -0.977
Эти средства отличаются от прежних, даже порядок также отличается, ранее Medium
имел самое низкое значение, а High
имел самое высокое .
Результаты теста с использованием lsmeans
$`differences from control of affiliative_score_group`
contrast estimate SE df z.ratio p.value
Medium - Low -0.331 0.0262 Inf -12.639 <.0001
High - Low -0.380 0.0285 Inf -13.343 <.0001
Если я выполняю тесты напрямую:
pairwise.t.test( g=picshare_df$affiliative_score_group , x=picshare_df$share ,p.adjust.method="bonferroni" ,pool.sd=TRUE )
Low Medium
Medium 0.28793 -
High 0.05501 0.00015
Теперь только High-Medium
контраст значим.
Оба способа тестирования показывают результаты, соответствующие соответствующим средним (от lsmeans
и арифметического c среднего соответственно), но они дают противоречивые результаты для одного и того же результата. Также меня очень смущают средние значения.
Вопрос
Что я делаю неправильно или не понимаю?
Обновление
С более простой моделью я получаю это:
lmer1.model=lmer(share ~ gender+ age_group + overall_photo_share_freq_group+
affiliative_score_group*valence_group*condition+
(1|photo), data = picshare_df, REML = FALSE)
lsmeans(lmer1.model, list(trt.vs.ctrl1~affiliative_score_group))
$`lsmeans of affiliative_score_group`
affiliative_score_group lsmean SE df asymp.LCL asymp.UCL
Low -0.892 0.0550 Inf -1.000 -0.785
Medium -0.995 0.0554 Inf -1.103 -0.886
High -0.889 0.0547 Inf -0.997 -0.782
Results are averaged over the levels of: gender, age_group, overall_photo_share_freq_group, valence_group, condition
Degrees-of-freedom method: asymptotic
Confidence level used: 0.95
$`differences from control of affiliative_score_group`
contrast estimate SE df z.ratio p.value
Medium - Low -0.102 0.0250 Inf -4.093 0.0001
High - Low 0.003 0.0235 Inf 0.128 0.9817
Они соответствуют наблюдаемым средним и получаются из pairwise.t.test
. Допустимо ли запускать 4 такие более простые модели, чем сложные? Я так не думаю. Кроме того, для меня интуитивно средства из lsmean
из сложной модели имеют больше смысла (он имеет предиктор Lowaffiliative_score_group), чем наблюдаемое среднее.
Больше вопросов
Если я использую сложную модель, должен ли я сообщать оценки от lsmeans
, когда я говорю о среднем эффекте, или строить их (например, гистограмму или график взаимодействия)?