Ошибки прогнозирования графика и размер модели с использованием пошаговой прямой и перекрестной проверки - PullRequest
0 голосов
/ 13 ноября 2018

Мне нужно построить график ошибок прогнозирования по размеру модели с помощью перекрестной проверки после выполнения прямого выбора. Я разделил данные пополам и использовал пакет прыжков, чтобы найти лучшую модель для каждого размера. Однако я не могу понять, как получить необходимые ошибки прогнозирования. Код, который я пробовал, выдает ошибку: 1 линейная зависимость найденаОшибка в val_matrix [, names (coefi)]: нижний индекс вне границ

n = 400
p = 200
s = 10
X = matrix(rnorm(n*p),n,p)
X = scale(X, center = FALSE, scale = sqrt(colSums(X^2)))
beta = c(rep(5,10), rep(0,p-10))
Y = X%*%beta + rnorm(n)
tr <- sample(1:400, 200, replace = FALSE)
train <- X[tr,]
validation <- X[-tr,]
d <- regsubsets(Y[tr,]~train, nvmax=30, data = as.data.frame(train), method = c("forward"))
val_matrix <- model.matrix(Y[-tr,]~validation, data = as.data.frame(validation))
val_errors = rep(0,30)

for (i in 1:30){
        coefi = coef(d, id=i)
        predi = val_matrix[,names(coefi)]%*%coefi
        val_errors[i] = Y[-tr,] - predi
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...