У меня есть эксперимент с повторными измерениями, где зависимая переменная представляет собой процент, и у меня есть несколько факторов в качестве независимых переменных. Я хотел бы использовать glmer
из пакета R, lme4
чтобы рассматривать его как проблему логистической регрессии (путем указания family=binomial
), так как он, кажется, приспосабливает эту настройку напрямую.
Мои данные выглядят так:
> head(data.xvsy)
foldnum featureset noisered pooldur dpoolmode auc
1 0 mfcc-ms nr0 1 mean 0.6760438
2 1 mfcc-ms nr0 1 mean 0.6739482
3 0 melspec-maxp nr075 1 max 0.8141421
4 1 melspec-maxp nr075 1 max 0.7822994
5 0 chrmpeak-tpor1d nr075 1 max 0.6547476
6 1 chrmpeak-tpor1d nr075 1 max 0.6699825
и вот команда R, на которую я надеялся, подойдет:
glmer(auc~1+featureset*noisered*pooldur*dpoolmode+(1|foldnum), data.xvsy, family=binomial)
Проблема в том, что команда жалуется на то, что моя зависимая переменная не является целым числом:
In eval(expr, envir, enclos) : non-integer #successes in a binomial glm!
и анализ этих (пилотных) данных дает странные ответы в результате.
Я понимаю, почему binomial
семья ожидает целых чисел (да-нет), но, похоже, все в порядке, чтобы напрямую регрессировать процентные данные. Как это сделать?
Ответы:
Чтобы использовать вектор пропорций в качестве переменной ответа с
glmer(., family = binomial)
, вам нужно установить количество испытаний, которые привели к каждой пропорции, используяweights
аргумент. Например, используяcbpp
данные изlme4
пакета:Если вы не знаете общее количество испытаний, тогда биноминальная модель не подходит, как указано в сообщении об ошибке.
источник
cbpp
страницы справки.источник