как построить прогнозируемые линии по наблюдаемым значениям и проверить остаточные графики для выбранных моделей из списка - PullRequest
0 голосов
/ 01 июня 2019

Пример данных:

x <- 1:10
y <- x + c(-0.5,0.5)
a <- rnorm(10)
b <- rnorm(10)
c <- rnorm(10)
data <- data.frame(x,y,a, b,c)

Здесь я написал функцию для расчета различных моделей одновременно по одной переменной ind (z), как показано ниже.

func <-function(z){
  fit1 <- lm( y~ x + z )
  fit2 <- lm( y~x + I(z^2))
  fit3 <- lm( y~poly(x,3) + z)
  library(splines)
  fit4 <- lm( y~ns(x, 3) + z)
  fit5 <- lm( y~ns(x, 9) + z)
  return(list(fit1, fit2, fit3, fit4, fit5))
}

mod1 <- func(data$a) 
mod2 <- func(data$b)

mod1 и mod2 содержат список из 5 моделей каждая. Теперь сначала я хочу выбрать 2-ю и 4-ю модели mod1 и 3-ю, 4-ю, 5-ю модели mod2, а затем нанести на график эти выбранные предсказанные модели по наблюдаемым значениям a и b соответственно. Во вторых хочу проверить остаточный участок из них.

sel1 <- mod1[c(2,4)]
sel2 <- mod2[c(3,4,5)]

Я пытаюсь использовать функцию предикторов, но выдает ошибку «нет применимого метода для предиката, примененного к объекту класса« список ». Мой вопрос заключается в том, как нанести прогнозируемые линии на наблюдаемые значения и проверить остаточные графики для выбранных моделей из списка.

pred <- predict(sel1)
plot(resid(sel1))

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...