我正在尝试从书Introduction to Statistical Learning重现图3.2。图描述Advertising data上残差平方和(RSS)的三维图,使用Sales
作为响应,TV
作为$ \ beta_0 $的多个值的预测变量和$ \ beta_1 $。
我的代码粘贴在下面:
# Read data from URL
data <- read.csv("http://www-bcf.usc.edu/~gareth/ISL/Advertising.csv")
# Extract TV variable
X <- data[, 2]
# Prediction variable with ones in the first column
X <- cbind(1, X)
# Prediction variable
y <- data$Sales
# Define function for RSS
MyRss <- function(beta0, beta1) {
b <- c(beta0, beta1)
rss <- t(y - X %*% b) %*% (y - X %*% b)
return(rss)
}
现在我计算$ \ beta_0 $和$ \ beta_1 $的每个组合的RSS值,并用persp()
函数绘制它:
b0 <- seq(5, 9, 0.01)
b1 <- seq(0.03, 0.06, 0.001)
z <- outer(b0, b1, function(x,y) mapply(MyRss, x, y))
persp(x = b0, y = b1, z = z)
派生的情节贴在下面:
我不知道我的代码失败了。提前感谢任何指示。