2014-10-10 3 views
0

У меня есть линейная смешанная модель, которая запускается 50 раз в петле.Взвешивание инверсии дисперсии в линейной смешанной модели

Каждый раз, когда модель запускается, я хочу, чтобы переменная ответа b была взвешена обратно пропорционально дисперсии. Поэтому, если дисперсия b мала, я хочу, чтобы вес был больше и наоборот. Это упрощенная версия модели:

model <- lme(b ~ type, random = ~1|replicate,weights = ~ I(1/b)) 

Вот файлы R данные:

B: https://www.dropbox.com/s/ziipdtsih5f0252/b.Rdata?dl=0

Тип: https://www.dropbox.com/s/90682ewib1lw06e/type.Rdata?dl=0

повторности: https://www.dropbox.com/s/kvrtao5i2g4v3ik/replicate.Rdata?dl=0

Я пытаясь сделать это, используя параметр весов в lme. Сейчас у меня есть это как:

weights = ~ I(1/b). 

Но я не думаю, что это правильно .... возможно вес = ~ I (1/вар (б)) ??

Я также хочу немного изменить эту настройку, так как b состоит из двух типов данных, указанных в переменной фактор-переменной (2 уровня).

Я хочу изменить вес каждого из этих двух уровней отдельно. Как я могу это сделать?

+0

Я думаю, что это неверно, как указано. Без примера данных это будет трудно решить.Вы говорите, что взвешиваете инверсию дисперсии, но затем вы предоставляете выражение, которое является инверсией того, что, по-видимому, является значением переменной. И тогда вы используете своего рода оператор-точка, чтобы подразумевать операции группировки ??? –

+0

Извините! Теперь я отредактировал свой пост, так что он немного яснее и включил мои файлы данных. – user2846211

+0

Любые идеи о том, как инвертировать вес дисперсии двух уровней данных в моей переменной ответа отдельно? – user2846211

ответ

1

Я не уверен, что имеет смысл говорить о взвешивании ответа переменной таким образом. Описания, которые я нашел в списке рассылки R-SIG-mixed-models, относятся к использованию инверсного взвешивания, полученного из переменных предиктора, либо фиксированных эффектов, либо случайных эффектов. Утяжеление используется для минимизации отклонений аппроксимации модели, соответствующей реакции. Существует функция, которая возвращает эффекты дисперсии фиксированный (суб-класс varFunc семейства функций) и имеет справочную страницу (по ссылке в разделе Веса ?gls страницы):

?varFixed 
?varFunc 

Это требует объект формулы в качестве аргумента. Таким образом, моя первоначальная догадка была такой:

model <- lme(b ~ type, random = ~1|replicate, weights = varFixed(~type)) 

Что вы доказали неправильно. Как насчет того, видя, если это работает:

model <- lme(b ~ type, random = ~1|replicate, weights = varFixed(~1| type)) 

(Моя продолжает предположение, что это взвешивание является ситуация по умолчанию и определение этих конкретных весов не может быть необходима обратная характер взвешивания подразумевается и не нужно. явно указано с «1/type». В случае смешанных моделей «правильная» конструкция зависит от дизайна и предшествующей науки, и ни одно из них не было представлено, так что это действительно только синтаксический комментарий, а не одобрение этого Я не загружал файлы. Кажется довольно странным иметь три отдельных файла и никакого кода для их привязки к фреймворку данных. Обычно нужно иметь один объект данных, в котором имена столбцов будут использоваться в формулах регрессионная функция. (Я также подозреваю, что это поведение по умолчанию ior этой функции, и поэтому мое непроверенное предсказание состоит в том, что вы не получите никаких изменений, опуская параметр «вес».)

+1

Спасибо за совет, я прочитал страницу справки раньше, но это не всегда легко расшифровать. Теперь я объединил переменные в фрейм данных. Однако я получаю сообщение об ошибке при попытке применить функцию весов - «Ошибка в Math.factor (attr (object,« covariate »)): abs не имеет смысла для факторов». Так что я не уверен, что я должен применять обратное взвешивание для ввода? – user2846211

+0

Я хотел применить структуру дисперсии к коэффициенту и получил то же сообщение об ошибке, что и @ user2846211. Вместо использования varFixed попробуйте использовать varIdent, например, 'varIdent (form = ~ 1 | type)'. Это обобщено на стр. 76 Zuur et al 2009, * Модели смешанных эффектов и расширения в экологии с R *. – Nova

+0

Вот легкодоступная (кстати, большая часть работы Zuur), которая поддерживает предложение @ Nova: https://idaejin.github.io/bcam-courses/neiker-2016/material/mixed-models/#heteroskedasticity –

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