Нахождение независимой переменной, которая делает сумму квадратов невязкой минимизации - PullRequest
0 голосов
/ 20 марта 2020

Из результатов ANOVA, полученных с использованием l oop, я могу видеть, какая переменная минимизирует сумму остатков квадратов, но я хочу написать еще один l oop, который указывает, какая независимая переменная минимизировала это значение. Мне нужно присвоить сумму квадратов остаточных индексов каждого аргумента в списке одной переменной, но у меня проблемы с доступом к индексам. Что мне делать?

y=as.matrix(c(13,54,23,12,25,46,52,31,43,50,46,67,78,91,33))
x1=as.matrix(c(65,23,23,12,43,65,87,23,54,12,52,34,57,34,32))
x2=as.matrix(c(55,91,23,31,41,62,84,51,38,25,36,56,77,61,34))
x3=as.matrix(c(4,8,1,3,9,44,12,35,77,11,19,18,14,10,12))
x4=as.matrix(c(6,8,11,99,33,45,67,32,46,58,29,17,12,95,48))
x5=as.matrix(c(33,22,61,48,34,78,43,16,41,69,21,22,56,78,27))
data=cbind(y,x1,x2,x3,x4,x5)
colnames(data)=c("y","x1","x2","x3","x4","x5")
output=list(NA)
for (i in 2:ncol(data)) {
output[[i]] <- aov(lm(data[,1]~data[,i]))
}

введите описание изображения здесь

1 Ответ

0 голосов
/ 20 марта 2020

Функция отклонения дает остаточную сумму квадратов лм, чтобы мы могли выполнить лм, получить отклонение каждого и затем найти минимальный:

devfun <- function(x) deviance(lm(data[, 1] ~ x))
devs <- sapply(as.data.frame(data)[-1], devfun)
names(which.min(devs))
## [1] "x2"
...