Припустимо, ваше рівняння множинної регресії було
у^= 2 х1+ 5 х2+ 3
де у означає «передбачив у ».у^у
Тепер візьмемо лише ті точки, для яких . Тоді якщо ділянка у від ї 1 , ці точки будуть задовольняти рівняння:х2= 1у^х1
у^= 2 х1+ 5 ( 1 ) + 3 = 2 х1+ 8
Отже, вони повинні лежати на лінії схилу 2 і з -перехопленням 8.у
Тепер візьмемо ті точки, для яких . При виведенні у с ї 1 , то ці точки задовольняють:х2= 2у^х1
у^= 2 х1+ 5 ( 2 ) + 3 = 2 х1+ 13
Отже, це лінія нахилу 2 і з -перехоплення 13. Ви можете переконатись у тому, що якщо x 2 = 3, то ви отримаєте іншу лінію схилу 2, а y- інтерцепт дорівнює 18.ух2= 3у
Ми бачимо, що точки з різними значеннями будуть лежати на різних прямих, але всі з однаковим градієнтом: значення коефіцієнта 2 x 1 у вихідному рівнянні регресії полягає в тому, що ceteris paribus, тобто утримуючи постійні інші прогноктори, одиницю збільшення одиниці в х 1 збільшується середній прогнозований відгук у на дві одиниці, в той час як значення перехоплення 3 в рівняння регресії було те , що , коли х 1 = 0 і х 2 = 0 , то прогнозований середній відповідь 3х22 х1х1у^3х1= 0х2= 03. Але не всі ваші точки мають однаковий , а значить, вони лежать на лініях з різним перехопленням - лінія мала б перехоплення 3 лише для тих точок, для яких х 2 = 0 . Отже, замість того, щоб бачити один рядок, ви можете побачити (якщо є лише певні значення х 2, які виникають, наприклад, якщо х 2 завжди ціле число) ряд діагональних "прожилок". Розглянемо наступні дані, де у = 2 х 1 + 5 х 2 + 3 .х23х2= 0х2х2у^= 2 х1+ 5 х2+ 3
Тут є помітні «прожилки». Тепер, якщо я забарвлюю в тих точках, для яких як червоні кола, x 2 = 2 як золоті трикутники і x 2 = 3 як сині квадрати, ми бачимо, що вони лежать на трьох чітких лініях, всі нахилі 2 і y - інтерцепти 8, 13 та 18, як було обчислено вище. Звичайно, якби х 2 не обмежувались приймати цілі значення, або ситуація ускладнювалася включенням до регресії інших змінних провісника, то діагональне прошивання було б менш чітким, але все одно випадок, коли кожна передбачена точка лежить на окремій лініїх2= 1х2= 2х2= 3ух2на основі значень інших прогнокторів, не показаних на графіку .
ух1х2у^= 2 х1+ 5 х2+ 3ух1х2ух1-ось вказує праворуч.
уу
у^х1х2х2у^х1х2ух1 х2ух1
Код для R ділянок
library(scatterplot3d)
data.df <- data.frame(
x1 = c(0,2,4,5,8, 1,3,4,7,8, 0,3,5,6,7),
x2 = c(1,1,1,1,1, 2,2,2,2,2, 3,3,3,3,3)
)
data.df$yhat <- with(data.df, 2*x1 + 5*x2 + 3)
data1.df <- data.df[data.df$x2==1,]
data2.df <- data.df[data.df$x2==2,]
data3.df <- data.df[data.df$x2==3,]
#Before lines added
mar.default <- c(5,4,4,2) + 0.1
par(mar = mar.default + c(0, 1, 0, 0))
plot(data.df[c("x1","yhat")], main=expression("Predicted y against "*x[1]),
xlab=expression(x[1]), ylab=expression(hat(y)))
#After lines added
plot(data.df[c("x1","yhat")], main=expression("Predicted y against "*x[1]),
xlab=expression(x[1]), ylab=expression(hat(y)), pch=".")
points(data1.df[c("x1","yhat")], pch=19, col="red")
abline(lm(yhat ~ x1, data=data1.df), col="red")
points(data2.df[c("x1","yhat")], pch=17, col="gold")
abline(lm(yhat ~ x1, data=data2.df), col="gold")
points(data3.df[c("x1","yhat")], pch=15, col="blue")
abline(lm(yhat ~ x1, data=data3.df), col="blue")
#3d plot
myPlot <- scatterplot3d(data.df, pch=".", xlab=expression(x[1]),
ylab=expression(x[2]), zlab=expression(hat(y)),
main=expression("Predicted y against "*x[1]*" and "*x[2]))
myPlot$plane3d(Intercept=3, x.coef=2, y.coef=5, col="darkgrey")
myPlot$points3d(data1.df, pch=19, col="red")
myPlot$points3d(data2.df, pch=17, col="gold")
myPlot$points3d(data3.df, pch=15, col="blue")
print(myPlot)