Создание матрицы линейной модели в R без перехвата - PullRequest
3 голосов
/ 03 февраля 2020

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

model.matrix(~ factor(c(0,0,0,0,1,1)) + factor(c(0,0,1,1,0,0)))

Это создает трехколоночную схему, где первый - это перехват. Но когда я подавляю перехват:

model.matrix(~ 0 + factor(c(0,0,0,0,1,1)) + factor(c(0,0,1,1,0,0)))

, теперь снова создаются три столбца, только первый и второй - версии одной и той же переменной 0 и 1.

Почему это происходит?

1 Ответ

1 голос
/ 03 февраля 2020

Когда вы вводите коэффициент в model.matrix, он включает в себя манекены для всех уровней, которые он может; когда у вас есть двухуровневый фактор, у вас есть манекены (индикаторы) для обоих уровней.

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

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

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