2016-09-01 9 views
0

Я фитинг ГУК данным на интервале (0,1), используя gam функцию mgcv пакета в R. Мой код модели выглядит следующим образом:Бета-семья в моделях гаммы, значение которых больше 1 и меньше 0. Что происходит? (Mgcv)

mod <- gam(y ~ x1 + x2 + s(latitude, longitude), faimly=betar(link='logit'), data = data) 

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

plot(data$y ~ fitted(mod), ylab='observed',xlab='fitted') 

enter image description here

Очевидно, что модель подходящих значений больше 1 и меньше 0. Это не должны га ppen. Это нарушает предположения о бета-распределении. Этого не происходит, когда я моделирую те же данные в пакете betareg для R. Что может вызывать это несоответствие?

+3

Как вы определение "установлены"? Если вы используете 'прогноз', вы захотите использовать аргумент' type = "response" ', иначе он выйдет за пределы диапазона. Если вы используете функцию 'установлены', я не уверен. – Wayne

+0

@Wayne Я получаю установленные значения с помощью 'установлены (mod)'. Построение выполняется с помощью 'plot (y ~ installed (mod))' – colin

ответ

2

mod <- gam(y ~ x1 + x2 + s(latitude, longitude), faimly=betar(link='logit'), data = data)

Оказывается, если вы используете faimly (опечатка), gam не жалуется и идет вперед и делает гауссовой. Попробуйте:

print (mod)

И посмотреть, если он говорит: "Семья: Бета регресс" или "Семья: Gaussian"

+0

woof, спасибо. Это было. Было бы неплохо, если бы он предупредил! – colin

 Смежные вопросы

  • Нет связанных вопросов^_^