#r #regression
#r #регрессия
Вопрос:
train <- read.csv("train.csv", header=T)
> str(train)
'data.frame': 188318 obs. of 132 variables:
$ id : int 1 2 5 10 11 13 14 20 23 24 ...
$ cat1 : Factor w/ 2 levels "A","B": 1 1 1 2 1 1 1 1 1 1 ...
$ cat2 : Factor w/ 2 levels "A","B": 2 2 2 2 2 2 1 2 2 2 ...
$ cat3 : Factor w/ 2 levels "A","B": 1 1 1 1 1 1 1 1 2 1 ...
$ cat4 : Factor w/ 2 levels "A","B": 2 1 1 2 2 1 1 2 2 1 ...
predictors <- names(subset(train, select = -c(id,loss)))
fit <- lm(paste("loss ~ ",paste(predictors, collapse=" "),sep=""), data=train)
Есть 966 коэффициентов, когда я смотрю на сводку соответствия? Я ожидал, что там будет только то же самое, что и длина «предикторов» минус 2 (идентификатор и потеря).
> variable.names(fit)
[1] "(Intercept)" "cat1B" "cat2B" "cat3B" "cat4B" "cat5B" "cat6B"
[8] "cat7B" "cat8B" "cat9B" "cat10B" "cat11B" "cat12B" "cat13B"
[15] "cat14B" "cat15B" "cat16B" "cat17B" "cat18B" "cat19B" "cat20B"
[22] "cat21B" "cat22B" "cat23B" "cat24B" "cat25B" "cat26B" "cat27B"
[29] "cat28B" "cat29B" "cat30B" "cat31B" "cat32B" "cat33B" "cat34B"
Затем дальше вниз (не хочу вставлять их все)
"cat110AK" "cat110AL" "cat110AM" "cat110AN" "cat110AO" "cat110AP" "cat110AR"
[393] "cat110AS" "cat110AT" "cat110AU" "cat110AV" "cat110AW" "cat110AX" "cat110AY"
[400] "cat110B" "cat110BA" "cat110BB" "cat110BC" "cat110BD" "cat110BE" "cat110BF"
[407] "cat110BG" "cat110BI" "cat110BJ" "cat110BK" "cat110BL" "cat110BM" "cat110BN"
Что такое «B» и «AT» и т. Д., Которые Добавляются к переменным? Почему их больше 130?
Комментарии:
1. Потому что они являются фиктивными переменными, т.Е.. новая переменная создается для каждого уровня каждого столбца факторов, который у вас есть.
2. Ох. Я понял. Таким образом, r сведет каждую функцию к двоичному 1 или 0 для каждого уровня в коэффициенте? Если вы создаете «базовую» модель первого выстрела для изучения, построения и расширения, нормально ли позволять R делать это за вас?
3. это стандартное поведение для
lm
, однако вы также можете сделать это вручную сmodel.matrix
помощью илиdummyVars
.