Все мои переменные являются непрерывными. Там нет уровней. Возможно ли даже иметь взаимодействие между переменными?
источник
Все мои переменные являются непрерывными. Там нет уровней. Возможно ли даже иметь взаимодействие между переменными?
Да, почему бы и нет? В этом случае будет применяться то же соображение, что и для категориальных переменных: влияние на результат не одинаково в зависимости от значения . Чтобы помочь визуализировать это, вы можете думать о значениях, принятых когда принимает высокие или низкие значения. В отличие от категориальных переменных, здесь взаимодействие просто представлено произведением и . Следует отметить, что лучше сначала расположить две переменные по центру (чтобы коэффициент, скажем, читался как эффект когда находится в среднем по выборке).
Как любезно предложено @whuber, простой способ увидеть, как изменяется в зависимости от как функции когда включается член взаимодействия, - это записать модель .
Затем можно видеть, что эффект увеличения единицу, когда поддерживается постоянным, может быть выражен как:
Аналогично, эффект, когда увеличивается на одну единицу при константы равен . Это показывает, почему трудно интерпретировать эффекты ( ) и ( ) изолированно. Это будет даже сложнее, если оба предиктора сильно коррелируют. Также важно учитывать предположение о линейности, которое делается в такой линейной модели.
Вы можете взглянуть на Множественную регрессию: тестирование и интерпретацию взаимодействий Леоны С. Айкен, Стивена Г. Уэста и Рэймонда Р. Рено (Sage Publications, 1996), чтобы получить обзор различных видов эффектов взаимодействия в множественной регрессии. , (Возможно, это не самая лучшая книга, но она доступна через Google)
Вот игрушечный пример в R:
library(mvtnorm)
set.seed(101)
n <- 300 # sample size
S <- matrix(c(1,.2,.8,0,.2,1,.6,0,.8,.6,1,-.2,0,0,-.2,1),
nr=4, byrow=TRUE) # cor matrix
X <- as.data.frame(rmvnorm(n, mean=rep(0, 4), sigma=S))
colnames(X) <- c("x1","x2","y","x1x2")
summary(lm(y~x1+x2+x1x2, data=X))
pairs(X)
где вывод фактически читает:
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.01050 0.01860 -0.565 0.573
x1 0.71498 0.01999 35.758 <2e-16 ***
x2 0.43706 0.01969 22.201 <2e-16 ***
x1x2 -0.17626 0.01801 -9.789 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.3206 on 296 degrees of freedom
Multiple R-squared: 0.8828, Adjusted R-squared: 0.8816
F-statistic: 743.2 on 3 and 296 DF, p-value: < 2.2e-16
А вот как выглядят смоделированные данные:
Чтобы проиллюстрировать второй комментарий @ whuber, вы всегда можете посмотреть на вариации как функцию от при различных значениях (например, терцили или децили); решетчатые дисплеи полезны в этом случае. С данными выше, мы будем действовать следующим образом:
library(Hmisc)
X$x1b <- cut2(X$x1, g=5) # consider 5 quantiles (60 obs. per group)
coplot(y~x2|x1b, data=X, panel = panel.smooth)
n
(11 КБ) и я использую MiniTab для построения графика взаимодействий, и для его расчета требуется вечность, но он ничего не показывает. Я просто не уверен, как я вижу , есть ли взаимодействие с этим набором данных.