множество причин

Aug 20, 2014 16:31

В психологии нечасто используются методы симуляционного моделирования, а напрасно -- они могут помочь решить определенные пробюлемы даже без проведения эмпирических исследований. Мое внимание привлекла статья, не так давно опубликованная в Journal of Personality and Social Psychology (1989 год). В ней авторы задались резонным вопросом: в большинстве психологических исследований изучается влияние на поведение всего одной черты. Между тем никто не станет спорить, что поведение всегда комплексно детерминированно и на него оказывает влияние множество причин. Какой величины связь можно ожидать между измеренной чертой и поведением, если предположить, что поведение полидетерминировано? Чтобы найти ответ, авторы создали несложную модель, которую я переписал на R. В основу модели положили такие допущения: пусть у нас имеется пять нормально распределенных (среднее 5.5, ст. отклонение 2) независимых черт, каждая из которых измеряется двумя тестами. Эти пять черт оказывают влияние на два поведения, причем на каждое поведение влияют по три черты, но общей является только одна.  Измерение, как полагается, не свободно от ошибок измерения, поэтому к каждому тесту и поведению (оно ведь тоже измеряется небезупречно) примешали нормально распределенную ошибку со средним 0 стандартным отклонением 1. Я написал скрипт на R, который соответствует описанным условиям:
# Stephan Ahadi and Edward Diener
# Multiple Determinants and Effect Size
# Journal of Personality and Social Psychology. 1989, Vol. 56, No. 3, 398-406

make_sample <- function(n) {
# черты
t1 <- rnorm(n, mean = 5.5, sd = 2.0)
t2 <- rnorm(n, mean = 5.5, sd = 2.0)
t3 <- rnorm(n, mean = 5.5, sd = 2.0)
t4 <- rnorm(n, mean = 5.5, sd = 2.0)
t5 <- rnorm(n, mean = 5.5, sd = 2.0)

# тесты
m1.t1 <- t1 + rnorm(n, mean = 0.0, sd = 1.0)
m2.t1 <- t1 + rnorm(n, mean = 0.0, sd = 1.0)
m1.t2 <- t2 + rnorm(n, mean = 0.0, sd = 1.0)
m2.t2 <- t2 + rnorm(n, mean = 0.0, sd = 1.0)
m1.t3 <- t3 + rnorm(n, mean = 0.0, sd = 1.0)
m2.t3 <- t3 + rnorm(n, mean = 0.0, sd = 1.0)
m1.t4 <- t4 + rnorm(n, mean = 0.0, sd = 1.0)
m2.t4 <- t4 + rnorm(n, mean = 0.0, sd = 1.0)
m1.t5 <- t5 + rnorm(n, mean = 0.0, sd = 1.0)
m2.t5 <- t5 + rnorm(n, mean = 0.0, sd = 1.0)

# поведение
b1 <- (t1 + t2 + t3)/3 + rnorm(n, mean = 0.0, sd = 1.0)
b2 <- (t1 + t4 + t5)/3 + rnorm(n, mean = 0.0, sd = 1.0)

cor(b1, m1.t1)
# data.frame(m1.t1, m2.t1, m1.t2, m2.t2, m1.t3, m2.t3, m1.t4, m2.t4, m1.t5, m2.t5, b1, b2)
}

n <- 150
res <- replicate(10000, make_sample(n))
quantile(res)
Что показали результаты моделирования на выборках объемом 150 испытуемых? Картинка получилась очень похожей на то, что имеет место в большинстве психологических исследований: корреляция между поведениями составила порядка 0.30, корреляция между измеренной чертой и поведением в среднем равна 0.39, надежность тестов около 0.8 (неплохой уровень, надо сказать). Так что не нужно комплексовать по поводу невысоких корреляций, просто нужно использовать такой дизайн исследований, который учитывает сложность изучаемых нами явлений. Ну и про надежность измерения не следует забывать

r, методология, как много нам открытий чудных

Previous post Next post
Up