У нас все готово, для того чтобы строить модель. Но перед тем как ее строить давайте разберемся с ее формальной структурой. Это важно, ее писать в таком формальном виде, так как в текстах статей или отчетов мы не сможем перенести код, который мы применяли для вычислений. А вот объяснить другим читателям структуру той модели, которую мы построили, на самом деле необходимо. Итак, зависимая переменная "Out" у нас будет подчиняться биномиальному распределению, в которой мат ожидания будет Пи и мы будем применять "logit" преобразования, которая приведет к появлению величины "ƞ". И вот эта величина "ƞ" уже может быть смоделирована, как система линейных связей и эту систему линейных связей мы можем описать в виде вод такого матричного уравнения, в котором "ƞ" выделено жирным шрифтом - это вектор предсказанных значений, "Х" жирным выделено - это модельная матрица, "β" опять же жирным выделено - это вектор коэффициентов нашей линейной модели. Уже привычная нам нотация, в которой мы записываем обычную линейная модель. Наша полная модель, в которую мы будем строить, она будет включать достаточно много членов. Во-первых, это будут главные предикторы - это вид "Sp", который будет обладать разными размерами "L" и это "Box", то есть номер садка, в котором будет проходить эксперимент. Далее, помимо этого здесь будут взаимодействие 1 порядка (вот они), и будут взаимодействия 2 порядка. Соответственно, все эти взаимодействия и главный эффект необходимо указать в модели. Ну и далее мы эту модель записываем уже привычным нам способом с использованием функции "glm", дальше мы описываем вот эту часть модели, указывая с помощью связки звездочка, то,что мы будем рассматривать все взаимовозможные взаимодействия, но обратите внимание, здесь нам нужно будет указать еще 1 новый параметр - это параметр "family", в котором мы указываем, что это будет величина подчиняющаяся биномиальному распределению и в качестве связывающей функции будет использоваться "logit" преобразование, если мы захотим использовать другие типы преобразования, например, "probit" или "Slocloc" мы должны указать это именно вот здесь. Запустив этот код мы увидим, что модель прекрасно посчиталась, но как мы уже помним сильно переобученная модель, которая включает много параметров это не очень хорошая модель. Посмотрим на анализ дивианса! И вот эту модель явно можно упростить. И вот далее давайте произведем уже знакомый нам отбор модели, с помощью алгоритма "backwords selection", который мы уже неоднократно использовали. Для этого нам понадобится, как мы помним с вами функции "drop1 и мы будем последовательно сравнивать, полные вложенные модели и, соответственно, на 1 шаге мы видим, что при удалении тройного взаимодействия никаких существенных изменений в новой модели вложенной в полную не наблюдается. Поэтому мы можем удалить этот предиктор, точнее взаимодействие вот это. И в итоге с помощью функции "update" мы получим модель "mod2", в которой вот этого вот тройного взаимодействия не будет. Следующий шаг анализа. Мы посмотрим можно ли удалить какие-то члены модели "mod2" и, мы видим, что опять же целый ряд взаимодействий можно удалить не изменив, существенно, структуру модели. Поскольку "LRT" минимальным оказался, в случае с взаимодействием предиктора "Sp:L", то именно это взаимодействие мы и удалим из модели. Соответственно, опять же воспользуемся функцией "update" и модифицируем формулу нашей исходной модели, удаляя взаимодействие "Sp:L". Соответственно, получаем новую модель "mod3". Следующий шаг - мы опять же с помощью функции "drop1" смотрим можно ли удалить что-нибудь из модели от "mod3", опять же видим, что никаких существенных изменений удаления некоторых взаимодействий не произведет. Мы по этому поводу уделяем взаимодействие с минимальным "LRT" тестом - это взаимодействие "L:Box" и получаем новую модель "mod4". Следующий шаг - смотрим нельзя ли удалить что-то из "mod4" и мы видим, что здесь уже появляются намеки на то, что дальнейшее преобразование может быть уже и не возможно, но по крайней мере взаимодействие "Sp:Box" обладающее минимальным "LRT" тестом мы можем опять же удалить из этой модели и получаем "mod5". Смотрим дальше! Если мы применим функцию "drop1" к 5 модели, то мы увидим, что здесь есть кандидат на удаление - это уже главный предиктор "Box", это очень хорошо. Это означает, что тот фактор, который мы изначально вынуждены были включить, как техническую ковариату, мы можем удалить. Она не оказывает существенного воздействия на поведение нашей зависимой переменной. Соответственно, мы получаем "mod6", из которой удаляем, значит точней из "mod5" удаляем параметр "Box" и получаем с помощью функцию "update" модель "mod6". Посмотрим, нельзя ли упростить эту модель? Применив функцию "drop1" к модели 6, мы видим, что вытянуть оставшиеся 2 главных предиктора уже не получится. Это приведет к существенным изменениям, статистически значимым изменениям в структуре модели, то есть больше никаких предикторов, мы исключить не сможем. И "mod6" это будет наша финальная модель. Давайте посмотрим на то, как будет вести себя другой инструмент, который мы с вами уже ввели в употребление. Это информационные критерии Акаике. Как он будет себя вести по мере преобразования нашей модели? Соответственно, с помощью функции "AIC" мы можем вывести на экран все значения этого критерия, для всех моделей, которые мы с вами подобрали. И мы видим, что если вы назначили с значение "AIC" 212, то по мере движения этих преобразований (которые мы делали с моделью) мы видим, что значение "AIC" становится все меньше, меньше и меньше. Это означает, что дойдя до модели 6 мы, существенно, улучшили нашу модель, она становится лучше. И вот финальная модель "mod6", это модель, с которой мы и дальше будем работать, и эта модель лучше чем полное, с которой мы начинали. Соответственно, дальнейшая работа у нас будет проходить именно с этой моделью.