2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 График множественной регрессии в пакете R
Сообщение19.10.2018, 19:02 
Допустим, я получил некоторую модель регрессии с помощью fit <- lm(Y~X1+X2,data=lab2).
Как мне теперь построить эту линию в R?

 
 
 
 Re: График множественной регрессии в пакете R
Сообщение21.10.2018, 11:46 
В смысле, построить график рассеяния (scatter plot) в координатах X1, X2, Y и нанести предсказания модели fit на него?

$ y = a x_1 + b x_2 + c $ - это плоскость, а не прямая.

Поскольку график трёхмерный, придётся использовать Rgl. Функция surface3d(x,y,z) строит матрицу z на сетке x $ \times $ y.

Код:
# симулируем данные
lab2 <- data.frame(X1=runif(100,1,10), X2=runif(100,10,20))
lab2$Y <- with(lab2, X1*5 + X2*10 + runif(100))
# строим модель
fit <- lm(Y~X1+X2,data=lab2)
require(rgl)
# строим scatter plot
with(lab2, plot3d(X1, X2, Y))
# готовим поверхность предсказаний
x1p <- seq(min(lab2$X1), max(lab2$X1), length.out=32)
x2p <- seq(min(lab2$X2), max(lab2$X2), length.out=32)
yp <-  outer(x1p, x2p, function(x1,x2) predict(fit, data.frame(X1=x1, X2=x2)))
# строим поверхность
surface3d(x1p, x2p, yp, back="line", front="line")


Готово!
Изображение

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group