В чем разница между «*» и » » в lm() в R?

#r #statistics #linear-regression

#r #Статистика #линейная регрессия

Вопрос:

Я хотел бы предварить этот пост тем, что я абсолютный новичок в R и имею некоторое представление о статистике. Я хочу извиниться, если я перепутал терминологию (и что мне определенно нужно больше читать).

В настоящее время я просматриваю набор данных с 17 переменными, 1 — зависимая переменная, а остальные 16 — независимые переменные. Мне нужно выбрать «лучшую» линейную модель между этими переменными.

Итак, вот с чем я работаю:

 MA1 <- step(lm(
  as.formula(paste(colnames(NLCD)[1], "~",
  paste(colnames(NLCD)[c(2:17)], collapse = "*")
  )), data = NLCD
))
 

So MA1 — это модель и NLCD имя набора данных. Я не понимаю, использовать "*" или " " для пошаговой регрессии. Когда я запускаю модель с "*" помощью, RStudio на некоторое время зависает, а затем выдает кучу NA с большим количеством имен заголовков и : . Я подумал, что использование "*" будет лучшим, поскольку это избавит меня от необходимости писать код вручную, но я действительно не знаю, какова его цель. В идеале мне пришлось бы запускать, вероятно, до сотни моделей, перетасовывая комбинации, надеясь на лучшее, а затем выбирая модель с наименьшим значением AIC.

Изначально я думал просто использовать вместо этого p-значения — где я бы извлекал независимую переменную с наименьшим значением p, пока у меня не останется только одна независимая переменная, а затем выбирал модель с наименьшим значением AIC. Я не знаю, мог бы я сделать это лучше, используя "*" вместо этого.

Комментарии:

1. Использование * добавит термин взаимодействия. Так ~a*b же, как ~a b a:b . Но если у вас много переменных и вы пытаетесь создать все возможные взаимодействия, количество создаваемых вами терминов будет быстро расти. Вам нужно иметь много данных, чтобы оценить множество условий взаимодействия.

2. Лучший способ узнать об этом — спросить R, ?formula где вы узнаете, что «Оператор * обозначает пересечение факторов: a * b интерпретируется как a b a: b». Шестнадцать независимых переменных обеспечивают множество взаимодействий.