Как удалить параметр более низкого порядка в модели, когда параметры более высокого порядка остаются?
=====================================================================================================

**The problem:** Я не могу удалить параметр более низкого порядка (например, параметр основных эффектов) в модели, пока параметры более высокого порядка (то есть взаимодействия) остаются в модели. Даже при этом модель подвергается рефакторингу, и новая модель не вкладывается в более высокую модель.  

Смотрите следующий пример (поскольку я исхожу из ANOVAs, я использую`contr.sum`):

Как видно, хотя я убираю один параметр (`A`), новая модель (`m2`) подвергается рефакторингу и является**not nested** в большей модели (`m1`). Если я преобразую свои коэффициенты на руку в числовые переменные контрастности, я могу получить желаемые результаты, но как мне получить их, используя возможности фактора R?

**The Question:** Как я могу удалить фактор более низкого порядка в R и получить модель, которая действительно пропускает этот параметр и не подвергается рефакторингу (т. Е. Число параметров в меньшей модели должно быть меньше)?

**But why?** Я хочу получить «тип 3»; как р-значения для`lmer` модель с использованием`KRmodcomp` функция от`pbkrtest` пакет. Так что этот пример действительно просто пример.

**Why not CrossValidated?** У меня такое ощущение, что это действительно скорее вопрос R, чем вопрос статистики (то есть я знаю, что вам никогда не следует подбирать модель с взаимодействиями, но без одного из основных эффектов, но я все еще хочу это сделать).

Вот своего рода ответ; я не знаю, как сформулировать эту модель непосредственно по формуле ...

Построить данные, как указано выше:

Подтвердите первоначальный вывод о том, что простое вычитание коэффициента из формулы не работает:

Сформулируйте новую модель матрицы:

`lm.fit` позволяет напрямую указывать матрицу модели:

Этот метод работает только для нескольких особых случаев, которые позволяют явно указать матрицу модели (например,`lm.fit`, `glm.fit`).

В более общем смысле:

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



Я думаю, что самым простым решением является использование`model.matrix`, Возможно, вы могли бы достичь того, что вы хотите, с какой-то модной работой ног и нестандартными контрастами. Однако, если вы хотите "введите 3 esque" р-значения, вы, вероятно, хотите это для каждого термина в вашей модели, и в этом случае, я думаю, мой подход с`model.matrix` в любом случае это удобно, потому что вы можете легко неявно проходить по всем моделям, опуская один столбец за раз. Предоставление возможного подхода не является подтверждением его статистических достоинств, но я думаю, что вы сформулировали четкий вопрос и, кажется, знаете, что он может быть статистически несостоятельным, поэтому я не вижу причин не отвечать на него.

Это приводит к окончательному выводу:

Это хорошо для моделей, использующих`lm`, Вы упомянули, что это в конечном итоге для`lmer()`Итак, вот пример использования смешанных моделей. Я полагаю, что это может стать более сложным, если у вас больше случайного перехвата (то есть, эффекты должны быть отброшены из фиксированной и случайной частей модели).

Что дает нам ...