Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Звіт на практику.docx
Скачиваний:
10
Добавлен:
08.10.2015
Размер:
98.03 Кб
Скачать

Гауссовское семейство

Вызов такой как

> fm <- glm(y ~ x1 + x2, family = gaussian, data = sales) достигает того же самого результата как

> fm <- lm(y ~ x1+x2, data=sales)

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

Рассмотрите небольшой искусственный пример от Silvey (1970).

На острове Kalythos в Эгейском море местные жители страдают от врожденной болезни глаз, симптомы которой становятся более заметны с возрастом. Выборки мужчин-островитянин различных возрастов были проверены на слепоту и результаты

записаны. Эти данные показаны ниже:

Возраст: 20

35

45

55

70

Количество испытаний: 50

50

50

50

50

Количество слепых: 6

17

26

37

44

Проблема, по нашему мнению, заключается в том, чтобы подогнать как логит, так и пробит модели этих данных, и определить для каждой модели LD50, то есть возраст, в котором вероятность слепоты для мужского населения составляет 50%.

Если y это число слепых в возрасте х и n число проверенных, обе модели имеют вид y ~ B(n, F(β0 + β1 x)), где для пробит случая F(z) = Phi(z) является стандартной нормальной функцией распределения, а в логит случае (по умолчанию), F(z) = e^z/(1+e^z). В обоих случаях LD50 является LD50 = - beta_0/beta_1, то есть той точки, в которой аргумент функции распределения равен нулю.

Первый шаг - это ввод данных, в виде таблицы данных

> kalythos <- data.frame(x = c(20,35,45,55,70), n = rep(50,5), y = c(6,17,26,37,44))

Чтобы подогнать binomial модель с использованием glm() есть три варианта ввода отклика:

  • Если отклик это вектор, то предполагается что в нем двоичные данные и он должен содержать только 0/1.

  • Если отклик это двух-колоночная матрица предполагается, что первая колонка содержит число успешных исходов, а второй содержит число неудач.

  • Если отклик является фактором, его первый уровень - воспринимается как "проигрыш" (0) и все другие уровни как "успех" (1).

Здесь нам нужно второе из этих соглашений, поэтому мы добавляем матрицу к нашей таблице данных:

> kalythos$Ymat <- cbind(kalythos$y, kalythos$n - kalythos$y)

Чтобы подогнать модели мы используем

> fmp <- glm(Ymat ~ x, family = binomial(link=probit), data = kalythos)

> fml <- glm(Ymat ~ x, family = binomial, data = kalythos)

Поскольку logit связь стоит по умолчанию, этот параметр может быть пропущен во втором вызове. Чтобы увидеть результаты каждой подгонки мы могли бы использовать

> summary(fmp)

> summary(fml)

Обе модели соответствуют хорошо (даже слишком). Чтобы найти LD50 оценки мы можем использовать простую функцию:

> ld50 <- function(b) -b[1]/b[2]

> ldp <- ld50(coef(fmp)); ldl <- ld50(coef(fml)); c(ldp, ldl)

Фактическая оценка по этим данным дает 43,663 лет и 43,601 лет соответственно.

Модели Пуассона

С семейством Пуассона ссылка по умолчанию - log, и практически главное использование этого семейства должно подогнать суррогатному Пуассону log - линейные модели к данным частоты, фактическое распределение которых часто - многочлен. Это - большая и важная тема, которую мы не будем затрагивать далее здесь. Это даже является главной частью использования негауссовских обобщенных моделей повсюду.

Иногда истинно данные Пуассона возникают практически, и в прошлом они часто анализировались как гауссовские данные или после преобразования log или квадратного корня. Как корректная альтернатива последнему, обобщенную модель Пуассона можно подогнать как в следующем примере:

> fmod <- glm(y ~ A + B + x, family = poisson(link=sqrt), data = worm.counts)

Модели квазиправдоподобия

Для всех семейств дисперсия отклика будет зависеть от среднего и будет иметь масштабный коэффициент как множитель. Форма зависимости дисперсии на среднем - характеристика распределения отклика; например для распределения Пуассона VAR[y]

= μ.

Для оценки квазиправдоподобия и вывода точное распределение отклика не специфицируется, а скорее только функция ссылки и форма функции дисперсии, поскольку они зависят от среднего. Хотя оценки квазиправдоподобия формально используют идентичные методы распределения Гаусса, это семейство обеспечивает способ подгонки гауссовских моделей нестандартными функциями ссылки или функциями дисперсии, случайно.

Например, рассмотрите подгонку нелинейной регрессии:

y = θ1z1/(z22) + e

что можно записать альтернативным способом:

y = 1/(β1x1 + β2x2) + e

Предполагая соответствующий фрейм данных можно подогнать эту нелинейную регрессию как:

> nlfit <- glm(y ~ x1 + x2 - 1, family = quasi(link=inverse, variance=constant), data = biochem)