
- •1.Написание собственных функций 3
- •2.Статистические модели в r 18
- •3.Список використаної літератури 41
- •Написание собственных функций
- •Простые примеры
- •Определение новых бинарных операторов
- •Именованные параметры и умолчания
- •Параметр ‘...’
- •Присвоения в пределах функций
- •Более сложные примеры
- •Фактор эффективности при проектировании блоков
- •Отбрасывание всех имен при печатании массива
- •Рекурсивное числовое интегрирование
- •Область действия
- •Настройка окружения
- •Классы, универсальные функции и объектно-ориентированное программирование
- •Статистические модели в r
- •Определение статистических моделей; формулы
- •Примеры
- •Противопоставления
- •Линейные модели
- •Универсальные функции для извлечения информации о модели
- •Vcov(object)
- •Дисперсионный анализ и сравнение модели
- •Таблицы anova
- •Обновление подогнанных моделей
- •Обобщенные линейные модели
- •Семейства
- •Функция glm()
- •Гауссовское семейство
- •Нелинейные наименьшие квадраты и модели наибольшего правдоподобия
- •Наименьшие квадраты
- •Метод максимального правдоподобия
- •Некоторые нестандартные модели
- •Список використаної літератури
Vcov(object)
Возвращает матрицу ковариации дисперсии основных параметров подогнанного объекта модели.
Дисперсионный анализ и сравнение модели
Функция подгонки модели aov(формула, data=data.frame) работает на самом простом уровне очень похожим способом как функция lm(), и большинство универсальных функций, перечисленных в таблице в Разделе 11.3 [Универсальные функции для извлечения информацию о модели].
Нужно отметить, что дополнительно aov() позволяет анализировать модели с множественными слоями ошибок, такими как рисунками разделенных экспериментов, или сбалансированные неполноблочные планы с восстановлением межблочной информации. Формула модели:
response ~ mean.formula + Error(strata.formula)
указывает на многослойный эксперимент с ошибками слоев определенными strata.formula. В самом простом случае strata.formula - просто фактор, когда определяет два слоя эксперимента, а именно, между и внутри уровней фактора.
Например, со всеми определенными переменными факторами, формула модели выглядит следующим образом:
> fm <- aov(yield ~ v + n*p*k + Error(farms/blocks), data=farm.data)
и обычно используется для описания эксперимента со средней модели
v + n*p*k
и тремя слоями ошибок, а именно: "между farms", "внутри farms, между bloks" и "в рамках blocks".
Таблицы anova
]
Заметим также, что анализ дисперсионных таблиц (или таблицы) выполняется для последовательности подогнанных моделей. Суммы квадратов показывают уменьшение суммы квадратов остатков в результате включения конкретного параметра в модель в определенное место последовательности. Следовательно, только для ортогональных экспериментов порядок включения будет несущественным.
Для многослойного эксперимента начинают процедуру проекцией отклика на слои ошибки, по порядку, и затем подгоняют модельное среднее для каждой проекции. Более подробную информацию см. Chambers & Hastie (1992).
Более гибкую альтернативу полной таблице ANOVA по умолчанию, для сравнения двух или более моделей можно непосредственно использовать функцию anova().
> anova(fitted.model.1, fitted.model.2, ...)
В результате отображается таблица различий ANOVA между подогнанными моделями, при подгонке по порядку. Подогнанные модели сравниваются, конечно, как правило, в иерархической последовательности. Это не дает информацию, отличную от способа по умолчанию, а просто проще для понимания и контроля.
Обновление подогнанных моделей
Функция update() в значительной степени функция для удобства, которая подгоняет модель с отличиями от ранее подогнанной обычно только несколькими дополнительными или удаленными параметрами. Ее синтаксис:
> new.model <- update(old.model, new.formula)
В new.formula специальное имя, состоящее из точки '.', которая используется для обозначения “соответствующей части старой формулы модели”. Например,
> fm05 <- lm(y ~ x1 + x2 + x3 + x4 + x5, data = production)
> fm6 <- update(fm05, . ~ . + x6)
> smf6 <- update(fm6, sqrt(.) ~ .)
подгоняет множественную регрессию с пятью случайным переменным (по-видимому) из фрейма данных production, подгоняет дополнительную модель, включая шестой регрессор, и подгоняет разновидность модели, где к отклику применили преобразование квадратного корня.
Заметим особенно, что, если data = параметр специфицируется в исходном вызове функции подгонки модели, то эта информация передана через подогнанный объект модели в update() и его союзники.
Имя '.' может также использоваться в других контекстах, но с немного отличающимся значением. Например
> fmfull <- lm(y ~ . , data = production)
подогнал бы модели откликом y и переменными регрессоров все другие переменные во фреймах данных production.
Другие функции для исследования дополнительных последовательностей моделей являются add1(), drop1() и andstep(). Имена их дают указание на цель их использования, но для полного изложения см. онлайновую справку.