Я хочу приспособить смешанную модель, используя lme4, nlme, пакет байсовой регрессии или любой доступный.
Смешанная модель в соглашениях о кодировании Asreml-R
прежде чем углубляться в детали, мы можем захотеть узнать подробности о соглашениях asreml-R для тех, кто не знаком с кодами ASREML.
y = Xτ + Zu + e ........................(1) ;
обычная смешанная модель с, y обозначает вектор наблюдений n × 1, где τ - вектор фиксированных эффектов p × 1, X - матрица расчета n × p полного ранга столбца, которая связывает наблюдения с соответствующей комбинацией фиксированных эффектов , u - вектор случайных эффектов q × 1, Z - расчетная матрица n × q, которая связывает наблюдения с соответствующей комбинацией случайных эффектов, а e - вектор остаточных ошибок n × 1. Модель (1) называется линейная смешанная модель или линейная модель смешанных эффектов. Предполагается
где матрицы G и R являются функциями параметров γ и φ соответственно.
Параметр θ является параметром дисперсии, который мы будем называть параметром масштаба.
В моделях со смешанными эффектами с более чем одной остаточной дисперсией, возникающей, например, при анализе данных с более чем одним разделом или вариацией, параметр θ фиксируется в одном. В моделях со смешанными эффектами с одной остаточной дисперсией θ равно остаточной дисперсии (σ2). В этом случае R должна быть корреляционной матрицей. Более подробная информация о моделях представлена в руководстве Asreml (ссылка) .
Структуры дисперсии для ошибок: R-структура и структуры дисперсии для случайных эффектов: G-структуры могут быть определены.
Моделирование дисперсии в asreml () важно понимать формирование структур дисперсии через прямые продукты. Обычное предположение о наименьших квадратах (и по умолчанию в asreml ()) состоит в том, что они распределены независимо и одинаково (IID). Однако, если бы данные были получены в полевом эксперименте, разложенном в прямоугольном массиве из r строк по c столбцам, скажем, мы могли бы упорядочить невязки e в виде матрицы и потенциально считать, что они были автоматически коррелированы в строках и столбцах. вектор в порядке полей, то есть путем сортировки остатков строк в столбцах (графики внутри блоков) дисперсия остатков может быть тогда
являются корреляционными матрицами для модели строки (порядок r, параметр автокорреляции ½r) и модели столбца (порядок c, параметр автокорреляции ½c) соответственно. Более конкретно, двумерная разделяемая авторегрессионная пространственная структура (AR1 x AR1) иногда допускается для общих ошибок в анализе полевых испытаний.
Пример данных:
nin89 из библиотеки asreml-R, где различные сорта были выращены в точках / блоках в прямоугольном поле. Чтобы контролировать дополнительную изменчивость в направлении строки или столбца, каждый график упоминается как переменные строки и столбца (дизайн столбца строки). Таким образом, этот ряд столбца дизайн с блокировкой. Урожай измеряется переменной.
Пример модели
Мне нужно что-то эквивалентное кодам asreml-R:
Синтаксис простой модели будет выглядеть следующим образом:
rcb.asr <- asreml(yield ∼ Variety, random = ∼ Replicate, data = nin89)
.....model 0
Линейная модель указывается в фиксированных (обязательных), случайных (необязательных) и rcov (компонент ошибки) аргументах в качестве объектов формул. По умолчанию это простой термин ошибки, и его не нужно формально указывать для элемента ошибки, как в модели 0 ,
здесь разнообразие является фиксированным эффектом, а случайное - копиями (блоками). Помимо случайных и фиксированных терминов мы можем указать термин ошибки. Это значение по умолчанию в этой модели 0. Остаточный компонент или компонент ошибки модели указывается в объекте формулы через аргумент rcov, см. Следующие модели 1: 4.
Следующая модель1 является более сложной, в которой указана структура G (случайная) и R (ошибка).
Модель 1:
data(nin89)
# Model 1: RCB analysis with G and R structure
rcb.asr <- asreml(yield ~ Variety, random = ~ idv(Replicate),
rcov = ~ idv(units), data = nin89)
Эта модель эквивалентна приведенной выше модели 0 и вводит использование дисперсионной модели G и R. Здесь параметр random и rcov задает случайные формулы и формулы rcov для явного указания структур G и R. где idv () - специальная функция модели в asreml (), которая идентифицирует модель отклонения. Выражение idv (единицы) явно устанавливает матрицу дисперсии для e в масштабированную единицу.
# Модель 2: двумерная пространственная модель с корреляцией в одном направлении
sp.asr <- asreml(yield ~ Variety, rcov = ~ Column:ar1(Row), data = nin89)
Экспериментальные единицы nin89 индексируются по столбцам и строкам. Таким образом, в этом случае мы ожидаем случайного изменения в двух направлениях - направлении строки и столбца. где ar1 () - специальная функция, задающая модель авторегрессии дисперсии первого порядка для строки. Этот вызов задает двумерную пространственную структуру для ошибки, но с пространственной корреляцией только в направлении строки. Модель отклонения для столбца - это тождество (id ()), но не требует формального указания, так как это значение по умолчанию.
# модель 3: двумерная пространственная модель, структура ошибок в обоих направлениях
sp.asr <- asreml(yield ~ Variety, rcov = ~ ar1(Column):ar1(Row),
data = nin89)
sp.asr <- asreml(yield ~ Variety, random = ~ units,
rcov = ~ ar1(Column):ar1(Row), data = nin89)
аналогично вышеприведенной модели 2, однако корреляция имеет два направления - авторегрессионное.
Я не уверен, сколько из этих моделей возможно с открытыми пакетами R. Даже если решение любой из этих моделей окажет большую помощь. Даже если бой +50 может стимулировать к разработке, такой пакет очень поможет!
См. MAYSaseen предоставил выходные данные каждой модели и данные (в качестве ответа) для сравнения.
Изменения: Ниже приводится предложение, которое я получил на дискуссионном форуме по смешанным моделям: «Вы можете взглянуть на пакеты регресса и пространственной ковариации Дэвида Клиффорда. Первый позволяет подогнать (гауссовские) смешанные модели, где вы можете очень гибко указать структуру ковариационной матрицы. (например, я использовал его для данных родословной.) Пакет пространственного ковариации использует регрессию для предоставления более сложных моделей, чем AR1xAR1, но может быть применимо. Возможно, вам придется связаться с автором для применения его к вашей конкретной проблеме. "
lme4
. Можете ли вы (а) рассказать нам, почему вам нужно делать это,lme4
а неasreml-R
(б) рассмотреть возможность публикации информации о том,r-sig-mixed-models
где есть более значимый опыт?corStruct
вnlme
(для анизотропных корреляций) ... Было бы полезно, если бы вы могли кратко изложить (словами или уравнениями) статистические модели, соответствующие этим утверждениям ASREML, поскольку мы не все знакомы с Синтаксис ASREML ...MCMCglmm
, и я уверен, что (кромеspatialCovariance
упомянули, что я не знаком с), единственным способом , чтобы сделать это в R является определением новыхcorStruct
с - что возможно, но не тривиальны.Ответы:
Вы можете установить эту модель в AD Model Builder. AD Model Builder - это бесплатное программное обеспечение для построения общих нелинейных моделей, включая общие нелинейные модели случайных эффектов. Так, например, вы можете подобрать отрицательную биномиальную пространственную модель, в которой как среднее, так и сверхдисперсное имеют структуру ar (1) x ar (1). Я построил код для этого примера и приспособил его к данным. Если кому-то интересно, возможно, лучше обсудить это в списке на http://admb-project.org.
Примечание. Существует версия ADMB для R, но функции, доступные в пакете R, являются подмножеством автономного программного обеспечения ADMB.
В этом примере проще создать файл ASCII с данными, прочитать его в программу ADMB, запустить программу, а затем прочитать оценки параметров и т. Д. Обратно в R для всего, что вы хотите сделать.
Вы должны понимать, что ADMB - это не набор пакетов, а язык для написания программного обеспечения для нелинейной оценки параметров. Как я уже говорил, лучше обсудить это в списке ADMB, где все знают о программном обеспечении. После того, как это будет сделано, и вы поймете модель, вы можете опубликовать результаты здесь. Однако здесь есть ссылка на коды ML и REML, которые я собрал для данных о пшенице.
http://lists.admb-project.org/pipermail/users/attachments/20111124/448923c8/attachment.zip
источник
Модель 0
ASReml-R,
lme4
nlme
источник
Модель 1
ASReml-R,
nlme
Увидеть трюк
источник
Модель 2
ASReml-R,
nlme
Работаю, пока не разобрался. Может быть что-то вроде этого. До сих пор не мог понять, как это сделать
rcov=~Column:ar1(Row)
сnlme
источник
Модель 3
ASReml-R,
nlme
Работаю, пока не разобрался. Может быть что-то вроде этого. До сих пор не мог понять, как это сделать
rcov=~ar1(Column):ar1(Row)
сnlme
Я не мог понять, как установить модель 2 и 3 с
nlme
. Я работаю над этим и обновлю ответ, когда сделаю это. Но я включил выводASReml-R
для моделей 2 и 3 в целях сравнения. Кевин имеет хороший опыт анализа таких моделей, а Бен Болкер обладает прекрасным авторитетом в области смешанных моделей. Я надеюсь, что они могут помочь нам на моделях 2 и 3.источник