Усі мої змінні безперервні. Рівень немає. Можна навіть мати взаємодія між змінними?
Усі мої змінні безперервні. Рівень немає. Можна навіть мати взаємодія між змінними?
Відповіді:
Так, чому ні? У цьому випадку буде застосовано те саме, що і для категоричних змінних: Ефект на результат Y неоднаковий залежно від значення X 2 . Щоб полегшити візуалізацію, ви можете придумати значення, прийняті X 1, коли X 2 приймає великі або низькі значення. На відміну від категоричних змінних, тут взаємодія якраз представлена добутками X 1 і X 2 . Зверніть увагу, краще спершу сфокусувати свої дві змінні (щоб коефіцієнт для, скажімо, X 1 читав як ефект X 1, коли X - середнє значення для його вибірки).
Як ласкаво запропонував @whuber, простий спосіб зрозуміти, як змінюється на Y як функцію X 2 при включенні терміна взаємодії, - це записати модель E ( Y | X ) = β 0 + β 1 X 1 + β 2 X 2 + β 3 X 1 X 2 .
Тоді видно, що ефект збільшення на 1 одиницю коли X 2 підтримується постійним, може бути виражений як:
Аналогічно, ефект, коли збільшується на одну одиницю, утримуючи константу X 1, є β 2 + β 3 X 1 . Це демонструє, чому важко інтерпретувати ефекти X 1 ( β 1 ) та X 2 ( β 2 ) ізольовано. Це буде ще складніше, якщо обидва прогнозисти сильно співвідносяться. Важливо також пам’ятати про припущення про лінійність, яке робиться в такій лінійній моделі.
Ви можете ознайомитись з декількома регресіями: тестування та інтерпретація взаємодій Леона С. Ейкен, Стівен Г. Вест та Реймонд Р. Рено (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, ви завжди можете розглядати варіації як функцію X 2 при різних значеннях X 1 (наприклад, терцили або децили); малюнки шпалер корисні в цьому випадку. Із наведеними вище даними ми будемо діяти так:
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
(11K) і я використовую MiniTab, щоб зробити сюжет взаємодій, і це потрібно вічно обчислювати, але нічого не показує. Я просто не впевнений, як я бачу, чи є взаємодія з цим набором даних.