#r #statistics #montecarlo #confidence-interval #psych
#r #Статистика #монтекарло #доверительный интервал #психология
Вопрос:
Я пытаюсь установить доверительные интервалы начальной загрузки для моих точечных оценок косвенных эффектов модели посредничества. Поскольку на самом деле это (первый этап, a-path) модерируемое посредничество, мне нужно фактически проделать это три раза, чтобы найти косвенный эффект, когда мой модератор ( fiscal
ниже) находится на среднем (бюджетном) и -1 стандартном отклонении.
Я оценил свою модель двумя способами:
1. Использование mediation
пакета.
summary(model_m <- lm(unaccept_i ~ condition*fiscal, data=d1))
summary(model_y <- lm(redis_i ~ condition*fiscal unaccept_i, data=d1))
mod_med <- mediation::mediate(model_m, model_y,
covariates = list(fiscal = 0),
treat="condition",
mediator="unaccept_i",
boot=T,
sims = 5000)
2. Использование psych
пакета.
psy_med <- psych::mediate(redis_i ~ condition*fiscal (unaccept_i),
data=d1, plot=F, n.iter=5000)
Я могу либо попытаться получить доступ к косвенным эффектам от любого из двух описанных выше подходов (если это возможно? Неясно) или путем непосредственного вычисления его самостоятельно:
#conditional effect of X on Y through M: (a1 a3*W)*b
a1 <- mod_med$model.m$coefficients[2]
a3 <- mod_med$model.m$coefficients[4]
b <- mod_med$model.y$coefficients[4]
cond_fx_pap <- tibble(fis_val = c(mean(d1$fiscal)-sd(d1$fiscal),
mean(d1$fiscal),
mean(d1$fiscal) sd(d1$fiscal)),
cond_ind_fx = (a1 a3*fis_val)*b)
Единственная проблема в том, что этот подход не дает мне доверительных интервалов.
Кто-нибудь может выяснить, как имитировать доверительные интервалы начальной загрузки / Монте-Карло, чтобы я мог построить условные косвенные эффекты (a * b) при среднем значении и — 1 SD моего модератора?
Заранее большое спасибо!
PS: Вот фрагмент того, как выглядят данные:
df <- tibble(
redis_i = c(1.6666667, -1.3333333, 2.0000000, -0.6666667, 0.0000000, 1.3333333, 3.0000000, 4.3333333, -0.3333333, 3.3333333),
condition = c(0.5, -0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, 0.5, 0.5),
fiscal = c(3, 0, -2, -3, -1, -1, 1, 0, 1, -1),
unaccept_i = c(3.3333333, 1.2222222, 3.2222222, 2.2222222, -0.2222222, 2.2222222, 4.3333333, 5.0000000, 2.1111111, 1.1111111))
Комментарии:
1. Простая начальная загрузка должна быть довольно простой при загрузке пакета, хотя часто возникают проблемы с достоверностью, которые требуют доработок. Обычная рекомендация — приобрести и прочитать книгу, на которой основан этот пакет. Поэтому предлагаю закрыть по двум причинам: нет усилий по исследованию методов начальной загрузки и нет видимых усилий по фактическому созданию кода для начальной загрузки.
2. Привет, спасибо за ваш комментарий! Я пытался использовать
boot
пакет, но безуспешно, поскольку оценка, которая меня интересует, является не термином из регрессии, а скорее сконструированным термином (a-оценка * b-оценка для данного уровня моего модератора,fiscal
). Таким образом, я не смог заставитьboot
синтаксис работать. Но если бы вы знали, как это сделать, это было бы очень ценно!3. Я не понимаю, откуда я (или кто-либо другой) мог знать, как исправить такую проблему, поскольку вы не включили какой-либо код для неудачной начальной загрузки, а также не включили способ построения тестового набора данных.
4. Можете ли вы хотя бы опубликовать образцы данных? Пожалуйста, отредактируйте вопрос с выводом
dput(d1)
. Или, если оно слишком велико с выводомdput(head(d1, 20))
.5. @42-: Так что извините за то, что нащупал это. Не думал, что вам это понадобится. Я удалил свои неудачные попытки заставить
boot
работать, но теперь буду работать над воссозданием этого.