lme4 lub inny kod pakietu open source R równoważny asreml-R

13

Chcę dopasować model mieszany za pomocą pakietu lme4, nme, pakietu regresji baysian lub dowolnego dostępnego.

Model mieszany w konwencjach kodowania Asreml-R

zanim przejdziemy do szczegółów, możemy chcieć uzyskać szczegółowe informacje na temat konwencji asreml-R dla tych, którzy nie znają kodów ASREML.

y = Xτ + Zu + e ........................(1) ; 

zwykły model mieszany z, y oznacza wektor obserwacji n × 1, gdzie τ jest wektorem ustalonych efektów p × 1, X jest macierzą projektową n × p o pełnej randze kolumny, która łączy obserwacje z odpowiednią kombinacją ustalonych efektów , u jest wektorem losowych efektów q × 1, Z jest macierzą projektową n × q, która łączy obserwacje z odpowiednią kombinacją efektów losowych, a e jest wektorem błędów resztkowych n × 1. Model (1) nazywa się liniowy model mieszany lub liniowy model mieszanych efektów. Zakłada się

wprowadź opis zdjęcia tutaj

gdzie macierze G i R są funkcjami odpowiednio parametrów γ i φ.

Parametr θ jest parametrem wariancji, który będziemy określać jako parametr skali.

W mieszanych modelach efektów z więcej niż jedną wariancją rezydualną, powstającą na przykład w analizie danych z więcej niż jedną sekcją lub zmienną, parametr θ jest ustawiony na jeden. W mieszanych modelach efektów z pojedynczą wariancją rezydualną wtedy θ jest równa wariancji rezydualnej (σ2). W takim przypadku R musi być macierzą korelacji. Dalsze szczegóły dotyczące modeli znajdują się w podręczniku Asreml (link) .

Struktury wariancji dla błędów: struktura R i struktury wariancji dla efektów losowych: można określić struktury G.

wprowadź opis zdjęcia tutajwprowadź opis zdjęcia tutaj

modelowanie wariancji w asreml () ważne jest zrozumienie tworzenia struktur wariancji za pomocą produktów bezpośrednich. Zwykle założeniem najmniejszych kwadratów (i domyślnym w asreml ()) jest to, że są one niezależnie i identycznie rozmieszczone (IID). Jeśli jednak dane pochodzą z eksperymentu polowego ułożonego w prostokątną tablicę r wierszy po c kolumnach, powiedzmy, moglibyśmy uporządkować reszty e jako macierz i potencjalnie uznać, że były one autokorelowane w wierszach i kolumnach. wektor w kolejności pól, tzn. sortując rzędy reszt w kolumnach (wykresy w blokach), wariancja reszt może być wtedy

wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutajsą odpowiednio macierzami korelacji dla modelu wiersza (rząd r, parametr autokorelacji ½r) i modelu kolumny (rząd c, parametr autokorelacji ½c). Mówiąc dokładniej, dla typowych błędów w analizie prób terenowych zakłada się czasami dwuwymiarową, separowalną autoregresyjną strukturę przestrzenną (AR1 x AR1).

Przykładowe dane:

nin89 pochodzi z biblioteki asreml-R, gdzie hodowano różne odmiany w replikacjach / blokach w polu prostokątnym. Aby kontrolować dodatkową zmienność w kierunku wiersza lub kolumny, każdy wykres jest określany jako zmienne wiersza i kolumny (projekt kolumny wiersza). Tak więc ten projekt kolumny wiersza z blokowaniem. Wydajność jest mierzona zmiennie.

Przykładowe modele

Potrzebuję czegoś równoważnego kodom asreml-R:

Prosta składnia modelu będzie wyglądać następująco:

 rcb.asr <- asreml(yield  Variety, random =  Replicate, data = nin89)  
 .....model 0

Model liniowy jest określony w argumentach stałych (wymaganych), losowych (opcjonalnych) i rcov (komponent błędu) jako obiekty formuły. Domyślnie jest to prosty termin błędu i nie trzeba go formalnie określać dla terminu błędu, jak w modelu 0 .

tutaj odmiana ma ustalony efekt, a losowa jest replikowana (bloki). Oprócz losowych i stałych terminów możemy określić termin błędu. Który jest domyślny w tym modelu 0. Resztkowy lub błąd komponentu modelu jest określony w obiekcie formuły za pomocą argumentu rcov, patrz następujące modele 1: 4.

Poniższy model1 jest bardziej złożony, w którym określono zarówno strukturę G (losową), jak i R (błąd).

Model 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)

Ten model jest równoważny powyższemu modelowi 0 i wprowadza użycie modelu wariancji G i R. W tym przypadku opcja random i rcov określa formuły random i rcov, aby jawnie określić struktury G i R. gdzie idv () to specjalna funkcja modelu w asreml (), która identyfikuje model wariancji. Wyrażenie idv (jednostki) jawnie ustawia macierz wariancji dla e na skalowaną tożsamość.

# Model 2: dwuwymiarowy model przestrzenny z korelacją w jednym kierunku

  sp.asr <- asreml(yield ~ Variety, rcov = ~ Column:ar1(Row), data = nin89)

jednostki eksperymentalne z nin89 są indeksowane według kolumn i rzędów. Oczekujemy więc losowej zmienności w dwóch kierunkach - w tym przypadku w rzędzie i kolumnie. gdzie ar1 () to specjalna funkcja określająca model wariancji autoregresji wariantu pierwszego rzędu dla Row. To wywołanie określa dwuwymiarową strukturę przestrzenną dla błędu, ale z korelacją przestrzenną tylko w kierunku wiersza. Model wariancji dla Kolumny to tożsamość (id ()), ale nie musi być formalnie określony, ponieważ jest to ustawienie domyślne.

# model 3: dwuwymiarowy model przestrzenny, struktura błędów w obu kierunkach

 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)

podobny do powyższego modelu 2, jednak korelacja jest dwukierunkowa - autoregresyjna.

Nie jestem pewien, ile z tych modeli jest możliwych dzięki pakietom R. Nawet jeśli rozwiązanie któregokolwiek z tych modeli będzie bardzo pomocne. Nawet jeśli pakiet +50 może stymulować do opracowania takiego pakietu, będzie bardzo pomocny!

Zobacz MAYSaseen dostarczył dane wyjściowe z każdego modelu i dane (jako odpowiedź) do porównania.

Edycje: Oto sugestia, którą otrzymałem na forum dyskusyjnym modeli mieszanych: „Możesz spojrzeć na pakiety regresji i przestrzennej kowariancji Davida Clifforda. Ten pierwszy umożliwia dopasowanie modeli mieszanych (Gaussa), w których możesz bardzo elastycznie określać strukturę macierzy kowariancji (na przykład użyłem go do danych rodowodu). Pakiet spatialCovariance używa regresji, aby dostarczyć bardziej rozbudowanych modeli niż AR1xAR1, ale może mieć zastosowanie. Być może będziesz musiał porozmawiać z autorem o zastosowaniu go do konkretnego problemu. ”

Jan
źródło
Jestem prawie pewien, że modele 2-4 nie są możliwe lme4. Czy możesz (a) powiedzieć nam, dlaczego musisz to zrobić, lme4zamiast asreml-R(b) rozważyć opublikowanie w miejscu, r-sig-mixed-modelsgdzie jest bardziej odpowiednia wiedza specjalistyczna?
Ben Bolker,
podstawową ideą jest to, że asreml-R wymaga licencji (przynajmniej dla użytkowników z krajów rozwiniętych), jeśli jest to możliwe w pakietach lme4 lub innych modelach mieszanych, które byłyby świetne ...
John
Myślę, że to nie będzie łatwe. Myślę, że najlepszym rozwiązaniem może być zdefiniowanie nowego corStructw nlme(dla korelacji anizotropowych) ... Byłoby pomocne, gdybyś mógł krótko określić (słowami lub równaniami) modele statystyczne odpowiadające tym stwierdzeniom ASREML, ponieważ nie wszyscy jesteśmy zaznajomieni z Składnia ASREML ...
Ben Bolker
1
Oto komentarze w grupie modeli mieszanych: Możesz spojrzeć na pakiety regresji i przestrzennej kowariancji Davida Clifforda. Ten pierwszy umożliwia dopasowanie modeli mieszanych (gaussowskich), w których można bardzo elastycznie określać strukturę macierzy kowariancji (na przykład użyłem jej do danych rodowodowych). Pakiet spatialCovariance wykorzystuje regresję, aby zapewnić bardziej rozbudowane modele niż AR1xAR1, ale może mieć zastosowanie. Być może będziesz musiał porozmawiać z autorem o zastosowaniu go do konkretnego problemu.
Jana,
1
jeśli będę miał szansę, spróbuję poradzić sobie z jak największą ilością tego problemu, ale szczerze mówiąc, nie mogę się do tego dostać, mam dużo na głowie. Przyglądanie się pakietom, które zasugerował David Clifford, wydaje się świetnym pomysłem - może w ten sposób możesz rozwiązać swój własny problem ... Jestem pewien, że można wykonać model 1 MCMCglmmi jestem tego pewien (poza spatialCovariancewspomniano, którym jestem zaznajomiony z), że jedynym sposobem, aby to zrobić w R jest poprzez definiowanie nowych corStructs - co jest możliwe, ale nie banalne.
Ben Bolker,

Odpowiedzi:

4

Możesz dopasować ten model do AD Model Builder. AD Model Builder to darmowe oprogramowanie do budowania ogólnych modeli nieliniowych, w tym ogólnych nieliniowych modeli efektów losowych. Na przykład można dopasować ujemny dwumianowy model przestrzenny, w którym zarówno średnia, jak i nadmierna dyspersja miały strukturę ar (1) x ar (1). Zbudowałem kod dla tego przykładu i dopasowałem go do danych. Jeśli ktoś jest zainteresowany, prawdopodobnie lepiej omówić to na liście na stronie http://admb-project.org

Uwaga: Istnieje wersja R ADMB, ale funkcje dostępne w pakiecie R są podzbiorem samodzielnego oprogramowania ADMB.

W tym przykładzie łatwiej jest utworzyć plik ASCII z danymi, wczytać go do programu ADMB, uruchomić program, a następnie wczytać oszacowania parametrów itp. Z powrotem do R dla tego, co chcesz zrobić.

Powinieneś zrozumieć, że ADMB nie jest zbiorem pakietów, ale raczej językiem do pisania oprogramowania do nieliniowej oceny parametrów. Jak powiedziałem wcześniej, lepiej omówić to na liście ADMB, gdzie wszyscy wiedzą o oprogramowaniu. Po zakończeniu i zrozumieniu modelu możesz opublikować wyniki tutaj. Oto link do kodów ML i REML, które zestawiłem dla danych dotyczących pszenicy.

http://lists.admb-project.org/pipermail/users/attachments/20111124/448923c8/attachment.zip

Dave Fournier
źródło
Czy istnieje interfaza R do połączenia z AD Model Builder?
John
1

Model 0

ASReml-R

rcb0.asr <- asreml(yield~Variety, random=~Rep, data=nin89, na.method.X="include")
summary(rcb0.asr)
$call
asreml(fixed = yield ~ Variety, random = ~Rep, data = nin89, 
    na.method.X = "include")

$loglik
[1] -454.4691

$nedf
[1] 168

$sigma
[1] 7.041475

$varcomp
                gamma component std.error  z.ratio constraint
Rep!Rep.var 0.1993231  9.882911  8.792829 1.123974   Positive
R!variance  1.0000000 49.582368  5.458839 9.082951   Positive

attr(,"class")
[1] "summary.asreml"

summary(rcb0.asr)$varcomp
                gamma component std.error  z.ratio constraint
Rep!Rep.var 0.1993231  9.882911  8.792829 1.123974   Positive
R!variance  1.0000000 49.582368  5.458839 9.082951   Positive

> anova(rcb0.asr)
Wald tests for fixed effects

Response: yield

Terms added sequentially; adjusted for those above

              Df Sum of Sq Wald statistic Pr(Chisq)    
(Intercept)    1   12001.6        242.054    <2e-16 ***
Variety       55    2387.5         48.152    0.7317    
residual (MS)         49.6                             
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
> coef(rcb0.asr)$fixed
                    effect
Variety_ARAPAHOE    0.0000
Variety_BRULE      -3.3625
Variety_BUCKSKIN   -3.8750
Variety_CENTURA    -7.7875
Variety_CENTURK78   0.8625
Variety_CHEYENNE   -1.3750
Variety_CODY       -8.2250
Variety_COLT       -2.4375
Variety_GAGE       -4.9250
Variety_HOMESTEAD  -1.8000
Variety_KS831374   -5.3125
Variety_LANCER     -0.8750
Variety_LANCOTA    -2.8875
Variety_NE83404    -2.0500
Variety_NE83406    -5.1625
Variety_NE83407    -6.7500
Variety_NE83432    -9.7125
Variety_NE83498     0.6875
Variety_NE83T12    -7.8750
Variety_NE84557    -8.9125
Variety_NE85556    -3.0500
Variety_NE85623    -7.7125
Variety_NE86482    -5.1500
Variety_NE86501     1.5000
Variety_NE86503     3.2125
Variety_NE86507    -5.6500
Variety_NE86509    -2.5875
Variety_NE86527    -7.4250
Variety_NE86582    -4.9000
Variety_NE86606     0.3250
Variety_NE86607    -0.1125
Variety_NE86T666   -7.9000
Variety_NE87403    -4.3125
Variety_NE87408    -3.1375
Variety_NE87409    -8.0625
Variety_NE87446    -1.7625
Variety_NE87451    -4.8250
Variety_NE87457    -5.5250
Variety_NE87463    -3.5250
Variety_NE87499    -9.0250
Variety_NE87512    -6.1875
Variety_NE87513    -2.6250
Variety_NE87522    -4.4375
Variety_NE87612    -7.6375
Variety_NE87613    -0.0375
Variety_NE87615    -3.7500
Variety_NE87619     1.8250
Variety_NE87627    -6.2125
Variety_NORKAN     -5.0250
Variety_REDLAND     1.0625
Variety_ROUGHRIDER -8.2500
Variety_SCOUT66    -1.9125
Variety_SIOUXLAND   0.6750
Variety_TAM107     -1.0375
Variety_TAM200     -8.2000
Variety_VONA       -5.8375
(Intercept)        29.4375
> coef(rcb0.asr)$random
          effect
Rep_1  1.8795997
Rep_2  2.8432659
Rep_3 -0.8712739
Rep_4 -3.8515918

lme4

> rcb0.lmer <- lmer(yield~Variety+(1|Rep), data=nin89)
> print(rcb0.lmer, corr=FALSE)
Linear mixed model fit by REML 
Formula: yield ~ Variety + (1 | Rep) 
   Data: nin89 
  AIC  BIC logLik deviance REMLdev
 1334 1532 -608.9     1456    1218
Random effects:
 Groups   Name        Variance Std.Dev.
 Rep      (Intercept)  9.8829  3.1437  
 Residual             49.5824  7.0415  
Number of obs: 224, groups: Rep, 4

Fixed effects:
                  Estimate Std. Error t value
(Intercept)        29.4375     3.8556   7.635
VarietyBRULE       -3.3625     4.9791  -0.675
VarietyBUCKSKIN    -3.8750     4.9791  -0.778
VarietyCENTURA     -7.7875     4.9791  -1.564
VarietyCENTURK78    0.8625     4.9791   0.173
VarietyCHEYENNE    -1.3750     4.9791  -0.276
VarietyCODY        -8.2250     4.9791  -1.652
VarietyCOLT        -2.4375     4.9791  -0.490
VarietyGAGE        -4.9250     4.9791  -0.989
VarietyHOMESTEAD   -1.8000     4.9791  -0.362
VarietyKS831374    -5.3125     4.9791  -1.067
VarietyLANCER      -0.8750     4.9791  -0.176
VarietyLANCOTA     -2.8875     4.9791  -0.580
VarietyNE83404     -2.0500     4.9791  -0.412
VarietyNE83406     -5.1625     4.9791  -1.037
VarietyNE83407     -6.7500     4.9791  -1.356
VarietyNE83432     -9.7125     4.9791  -1.951
VarietyNE83498      0.6875     4.9791   0.138
VarietyNE83T12     -7.8750     4.9791  -1.582
VarietyNE84557     -8.9125     4.9791  -1.790
VarietyNE85556     -3.0500     4.9791  -0.613
VarietyNE85623     -7.7125     4.9791  -1.549
VarietyNE86482     -5.1500     4.9791  -1.034
VarietyNE86501      1.5000     4.9791   0.301
VarietyNE86503      3.2125     4.9791   0.645
VarietyNE86507     -5.6500     4.9791  -1.135
VarietyNE86509     -2.5875     4.9791  -0.520
VarietyNE86527     -7.4250     4.9791  -1.491
VarietyNE86582     -4.9000     4.9791  -0.984
VarietyNE86606      0.3250     4.9791   0.065
VarietyNE86607     -0.1125     4.9791  -0.023
VarietyNE86T666    -7.9000     4.9791  -1.587
VarietyNE87403     -4.3125     4.9791  -0.866
VarietyNE87408     -3.1375     4.9791  -0.630
VarietyNE87409     -8.0625     4.9791  -1.619
VarietyNE87446     -1.7625     4.9791  -0.354
VarietyNE87451     -4.8250     4.9791  -0.969
VarietyNE87457     -5.5250     4.9791  -1.110
VarietyNE87463     -3.5250     4.9791  -0.708
VarietyNE87499     -9.0250     4.9791  -1.813
VarietyNE87512     -6.1875     4.9791  -1.243
VarietyNE87513     -2.6250     4.9791  -0.527
VarietyNE87522     -4.4375     4.9791  -0.891
VarietyNE87612     -7.6375     4.9791  -1.534
VarietyNE87613     -0.0375     4.9791  -0.008
VarietyNE87615     -3.7500     4.9791  -0.753
VarietyNE87619      1.8250     4.9791   0.367
VarietyNE87627     -6.2125     4.9791  -1.248
VarietyNORKAN      -5.0250     4.9791  -1.009
VarietyREDLAND      1.0625     4.9791   0.213
VarietyROUGHRIDER  -8.2500     4.9791  -1.657
VarietySCOUT66     -1.9125     4.9791  -0.384
VarietySIOUXLAND    0.6750     4.9791   0.136
VarietyTAM107      -1.0375     4.9791  -0.208
VarietyTAM200      -8.2000     4.9791  -1.647
VarietyVONA        -5.8375     4.9791  -1.172
> anova(rcb0.lmer)
Analysis of Variance Table
        Df Sum Sq Mean Sq F value
Variety 55 2387.5  43.409  0.8755
> fixef(rcb0.lmer)
      (Intercept)      VarietyBRULE   VarietyBUCKSKIN    VarietyCENTURA 
          29.4375           -3.3625           -3.8750           -7.7875 
 VarietyCENTURK78   VarietyCHEYENNE       VarietyCODY       VarietyCOLT 
           0.8625           -1.3750           -8.2250           -2.4375 
      VarietyGAGE  VarietyHOMESTEAD   VarietyKS831374     VarietyLANCER 
          -4.9250           -1.8000           -5.3125           -0.8750 
   VarietyLANCOTA    VarietyNE83404    VarietyNE83406    VarietyNE83407 
          -2.8875           -2.0500           -5.1625           -6.7500 
   VarietyNE83432    VarietyNE83498    VarietyNE83T12    VarietyNE84557 
          -9.7125            0.6875           -7.8750           -8.9125 
   VarietyNE85556    VarietyNE85623    VarietyNE86482    VarietyNE86501 
          -3.0500           -7.7125           -5.1500            1.5000 
   VarietyNE86503    VarietyNE86507    VarietyNE86509    VarietyNE86527 
           3.2125           -5.6500           -2.5875           -7.4250 
   VarietyNE86582    VarietyNE86606    VarietyNE86607   VarietyNE86T666 
          -4.9000            0.3250           -0.1125           -7.9000 
   VarietyNE87403    VarietyNE87408    VarietyNE87409    VarietyNE87446 
          -4.3125           -3.1375           -8.0625           -1.7625 
   VarietyNE87451    VarietyNE87457    VarietyNE87463    VarietyNE87499 
          -4.8250           -5.5250           -3.5250           -9.0250 
   VarietyNE87512    VarietyNE87513    VarietyNE87522    VarietyNE87612 
          -6.1875           -2.6250           -4.4375           -7.6375 
   VarietyNE87613    VarietyNE87615    VarietyNE87619    VarietyNE87627 
          -0.0375           -3.7500            1.8250           -6.2125 
    VarietyNORKAN    VarietyREDLAND VarietyROUGHRIDER    VarietySCOUT66 
          -5.0250            1.0625           -8.2500           -1.9125 
 VarietySIOUXLAND     VarietyTAM107     VarietyTAM200       VarietyVONA 
           0.6750           -1.0375           -8.2000           -5.8375 
> ranef(rcb0.lmer)
$Rep
  (Intercept)
1   1.8798700
2   2.8436747
3  -0.8713991
4  -3.8521455

nlme

> rcb0.lme <- lme(yield~Variety, random=~1|Rep, data=na.omit(nin89))
> print(rcb0.lme, corr=FALSE)
Linear mixed-effects model fit by REML
  Data: na.omit(nin89) 
  Log-restricted-likelihood: -608.8508
  Fixed: yield ~ Variety 
      (Intercept)      VarietyBRULE   VarietyBUCKSKIN    VarietyCENTURA 
          29.4375           -3.3625           -3.8750           -7.7875 
 VarietyCENTURK78   VarietyCHEYENNE       VarietyCODY       VarietyCOLT 
           0.8625           -1.3750           -8.2250           -2.4375 
      VarietyGAGE  VarietyHOMESTEAD   VarietyKS831374     VarietyLANCER 
          -4.9250           -1.8000           -5.3125           -0.8750 
   VarietyLANCOTA    VarietyNE83404    VarietyNE83406    VarietyNE83407 
          -2.8875           -2.0500           -5.1625           -6.7500 
   VarietyNE83432    VarietyNE83498    VarietyNE83T12    VarietyNE84557 
          -9.7125            0.6875           -7.8750           -8.9125 
   VarietyNE85556    VarietyNE85623    VarietyNE86482    VarietyNE86501 
          -3.0500           -7.7125           -5.1500            1.5000 
   VarietyNE86503    VarietyNE86507    VarietyNE86509    VarietyNE86527 
           3.2125           -5.6500           -2.5875           -7.4250 
   VarietyNE86582    VarietyNE86606    VarietyNE86607   VarietyNE86T666 
          -4.9000            0.3250           -0.1125           -7.9000 
   VarietyNE87403    VarietyNE87408    VarietyNE87409    VarietyNE87446 
          -4.3125           -3.1375           -8.0625           -1.7625 
   VarietyNE87451    VarietyNE87457    VarietyNE87463    VarietyNE87499 
          -4.8250           -5.5250           -3.5250           -9.0250 
   VarietyNE87512    VarietyNE87513    VarietyNE87522    VarietyNE87612 
          -6.1875           -2.6250           -4.4375           -7.6375 
   VarietyNE87613    VarietyNE87615    VarietyNE87619    VarietyNE87627 
          -0.0375           -3.7500            1.8250           -6.2125 
    VarietyNORKAN    VarietyREDLAND VarietyROUGHRIDER    VarietySCOUT66 
          -5.0250            1.0625           -8.2500           -1.9125 
 VarietySIOUXLAND     VarietyTAM107     VarietyTAM200       VarietyVONA 
           0.6750           -1.0375           -8.2000           -5.8375 

Random effects:
 Formula: ~1 | Rep
        (Intercept) Residual
StdDev:     3.14371 7.041475

Number of Observations: 224
Number of Groups: 4 
> anova(rcb0.lme)
            numDF denDF   F-value p-value
(Intercept)     1   165 242.05402  <.0001
Variety        55   165   0.87549  0.7119
> fixef(rcb0.lme)
      (Intercept)      VarietyBRULE   VarietyBUCKSKIN    VarietyCENTURA 
          29.4375           -3.3625           -3.8750           -7.7875 
 VarietyCENTURK78   VarietyCHEYENNE       VarietyCODY       VarietyCOLT 
           0.8625           -1.3750           -8.2250           -2.4375 
      VarietyGAGE  VarietyHOMESTEAD   VarietyKS831374     VarietyLANCER 
          -4.9250           -1.8000           -5.3125           -0.8750 
   VarietyLANCOTA    VarietyNE83404    VarietyNE83406    VarietyNE83407 
          -2.8875           -2.0500           -5.1625           -6.7500 
   VarietyNE83432    VarietyNE83498    VarietyNE83T12    VarietyNE84557 
          -9.7125            0.6875           -7.8750           -8.9125 
   VarietyNE85556    VarietyNE85623    VarietyNE86482    VarietyNE86501 
          -3.0500           -7.7125           -5.1500            1.5000 
   VarietyNE86503    VarietyNE86507    VarietyNE86509    VarietyNE86527 
           3.2125           -5.6500           -2.5875           -7.4250 
   VarietyNE86582    VarietyNE86606    VarietyNE86607   VarietyNE86T666 
          -4.9000            0.3250           -0.1125           -7.9000 
   VarietyNE87403    VarietyNE87408    VarietyNE87409    VarietyNE87446 
          -4.3125           -3.1375           -8.0625           -1.7625 
   VarietyNE87451    VarietyNE87457    VarietyNE87463    VarietyNE87499 
          -4.8250           -5.5250           -3.5250           -9.0250 
   VarietyNE87512    VarietyNE87513    VarietyNE87522    VarietyNE87612 
          -6.1875           -2.6250           -4.4375           -7.6375 
   VarietyNE87613    VarietyNE87615    VarietyNE87619    VarietyNE87627 
          -0.0375           -3.7500            1.8250           -6.2125 
    VarietyNORKAN    VarietyREDLAND VarietyROUGHRIDER    VarietySCOUT66 
          -5.0250            1.0625           -8.2500           -1.9125 
 VarietySIOUXLAND     VarietyTAM107     VarietyTAM200       VarietyVONA 
           0.6750           -1.0375           -8.2000           -5.8375 
> ranef(rcb0.lme)
  (Intercept)
1   1.8795997
2   2.8432659
3  -0.8712739
4  -3.8515918
MYaseen208
źródło
1

Model 1

ASReml-R

> rcb.asr <- asreml(yield~Variety, random=~idv(Rep), rcov=~idv(units), data=nin89, na.method.X="include")
> summary(rcb.asr)
$call
asreml(fixed = yield ~ Variety, random = ~idv(Rep), rcov = ~idv(units), 
    data = nin89, na.method.X = "include")

$loglik
[1] -454.4691

$nedf
[1] 168

$sigma
[1] 1

$varcomp
                gamma component std.error  z.ratio constraint
Rep!Rep.var  9.882911  9.882911  8.792823 1.123975   Positive
R!variance   1.000000  1.000000        NA       NA      Fixed
R!units.var 49.582368 49.582368  5.458839 9.082951   Positive

attr(,"class")
[1] "summary.asreml"
> summary(rcb0.asr)$varcomp
                gamma component std.error  z.ratio constraint
Rep!Rep.var 0.1993231  9.882911  8.792829 1.123974   Positive
R!variance  1.0000000 49.582368  5.458839 9.082951   Positive
> anova(rcb.asr)
Wald tests for fixed effects

Response: yield

Terms added sequentially; adjusted for those above

              Df Sum of Sq Wald statistic Pr(Chisq)    
(Intercept)    1   242.054        242.054    <2e-16 ***
Variety       55    48.152         48.152    0.7317    
residual (MS)        1.000                             
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
> coef(rcb.asr)$fixed
                    effect
Variety_ARAPAHOE    0.0000
Variety_BRULE      -3.3625
Variety_BUCKSKIN   -3.8750
Variety_CENTURA    -7.7875
Variety_CENTURK78   0.8625
Variety_CHEYENNE   -1.3750
Variety_CODY       -8.2250
Variety_COLT       -2.4375
Variety_GAGE       -4.9250
Variety_HOMESTEAD  -1.8000
Variety_KS831374   -5.3125
Variety_LANCER     -0.8750
Variety_LANCOTA    -2.8875
Variety_NE83404    -2.0500
Variety_NE83406    -5.1625
Variety_NE83407    -6.7500
Variety_NE83432    -9.7125
Variety_NE83498     0.6875
Variety_NE83T12    -7.8750
Variety_NE84557    -8.9125
Variety_NE85556    -3.0500
Variety_NE85623    -7.7125
Variety_NE86482    -5.1500
Variety_NE86501     1.5000
Variety_NE86503     3.2125
Variety_NE86507    -5.6500
Variety_NE86509    -2.5875
Variety_NE86527    -7.4250
Variety_NE86582    -4.9000
Variety_NE86606     0.3250
Variety_NE86607    -0.1125
Variety_NE86T666   -7.9000
Variety_NE87403    -4.3125
Variety_NE87408    -3.1375
Variety_NE87409    -8.0625
Variety_NE87446    -1.7625
Variety_NE87451    -4.8250
Variety_NE87457    -5.5250
Variety_NE87463    -3.5250
Variety_NE87499    -9.0250
Variety_NE87512    -6.1875
Variety_NE87513    -2.6250
Variety_NE87522    -4.4375
Variety_NE87612    -7.6375
Variety_NE87613    -0.0375
Variety_NE87615    -3.7500
Variety_NE87619     1.8250
Variety_NE87627    -6.2125
Variety_NORKAN     -5.0250
Variety_REDLAND     1.0625
Variety_ROUGHRIDER -8.2500
Variety_SCOUT66    -1.9125
Variety_SIOUXLAND   0.6750
Variety_TAM107     -1.0375
Variety_TAM200     -8.2000
Variety_VONA       -5.8375
(Intercept)        29.4375
> coef(rcb.asr)$random
          effect
Rep_1  1.8795997
Rep_2  2.8432658
Rep_3 -0.8712738
Rep_4 -3.8515916

nlme

Zobacz sztuczkę

> nin89$Int <- 1
> rcb.lme <- lme(yield~Variety, random=list(Int=pdIdent(~Rep-1)), data=na.omit(nin89))
> print(rcb.lme, corr=FALSE)
Linear mixed-effects model fit by REML
  Data: na.omit(nin89) 
  Log-restricted-likelihood: -608.8508
  Fixed: yield ~ Variety 
      (Intercept)      VarietyBRULE   VarietyBUCKSKIN    VarietyCENTURA 
          29.4375           -3.3625           -3.8750           -7.7875 
 VarietyCENTURK78   VarietyCHEYENNE       VarietyCODY       VarietyCOLT 
           0.8625           -1.3750           -8.2250           -2.4375 
      VarietyGAGE  VarietyHOMESTEAD   VarietyKS831374     VarietyLANCER 
          -4.9250           -1.8000           -5.3125           -0.8750 
   VarietyLANCOTA    VarietyNE83404    VarietyNE83406    VarietyNE83407 
          -2.8875           -2.0500           -5.1625           -6.7500 
   VarietyNE83432    VarietyNE83498    VarietyNE83T12    VarietyNE84557 
          -9.7125            0.6875           -7.8750           -8.9125 
   VarietyNE85556    VarietyNE85623    VarietyNE86482    VarietyNE86501 
          -3.0500           -7.7125           -5.1500            1.5000 
   VarietyNE86503    VarietyNE86507    VarietyNE86509    VarietyNE86527 
           3.2125           -5.6500           -2.5875           -7.4250 
   VarietyNE86582    VarietyNE86606    VarietyNE86607   VarietyNE86T666 
          -4.9000            0.3250           -0.1125           -7.9000 
   VarietyNE87403    VarietyNE87408    VarietyNE87409    VarietyNE87446 
          -4.3125           -3.1375           -8.0625           -1.7625 
   VarietyNE87451    VarietyNE87457    VarietyNE87463    VarietyNE87499 
          -4.8250           -5.5250           -3.5250           -9.0250 
   VarietyNE87512    VarietyNE87513    VarietyNE87522    VarietyNE87612 
          -6.1875           -2.6250           -4.4375           -7.6375 
   VarietyNE87613    VarietyNE87615    VarietyNE87619    VarietyNE87627 
          -0.0375           -3.7500            1.8250           -6.2125 
    VarietyNORKAN    VarietyREDLAND VarietyROUGHRIDER    VarietySCOUT66 
          -5.0250            1.0625           -8.2500           -1.9125 
 VarietySIOUXLAND     VarietyTAM107     VarietyTAM200       VarietyVONA 
           0.6750           -1.0375           -8.2000           -5.8375 

Random effects:
 Formula: ~Rep - 1 | Int
 Structure: Multiple of an Identity
           Rep1    Rep2    Rep3    Rep4 Residual
StdDev: 3.14371 3.14371 3.14371 3.14371 7.041475

Number of Observations: 224
Number of Groups: 1 
> anova(rcb.lme)
            numDF denDF   F-value p-value
(Intercept)     1   168 242.05402  <.0001
Variety        55   168   0.87549  0.7121
> fixef(rcb.lme)
      (Intercept)      VarietyBRULE   VarietyBUCKSKIN    VarietyCENTURA 
          29.4375           -3.3625           -3.8750           -7.7875 
 VarietyCENTURK78   VarietyCHEYENNE       VarietyCODY       VarietyCOLT 
           0.8625           -1.3750           -8.2250           -2.4375 
      VarietyGAGE  VarietyHOMESTEAD   VarietyKS831374     VarietyLANCER 
          -4.9250           -1.8000           -5.3125           -0.8750 
   VarietyLANCOTA    VarietyNE83404    VarietyNE83406    VarietyNE83407 
          -2.8875           -2.0500           -5.1625           -6.7500 
   VarietyNE83432    VarietyNE83498    VarietyNE83T12    VarietyNE84557 
          -9.7125            0.6875           -7.8750           -8.9125 
   VarietyNE85556    VarietyNE85623    VarietyNE86482    VarietyNE86501 
          -3.0500           -7.7125           -5.1500            1.5000 
   VarietyNE86503    VarietyNE86507    VarietyNE86509    VarietyNE86527 
           3.2125           -5.6500           -2.5875           -7.4250 
   VarietyNE86582    VarietyNE86606    VarietyNE86607   VarietyNE86T666 
          -4.9000            0.3250           -0.1125           -7.9000 
   VarietyNE87403    VarietyNE87408    VarietyNE87409    VarietyNE87446 
          -4.3125           -3.1375           -8.0625           -1.7625 
   VarietyNE87451    VarietyNE87457    VarietyNE87463    VarietyNE87499 
          -4.8250           -5.5250           -3.5250           -9.0250 
   VarietyNE87512    VarietyNE87513    VarietyNE87522    VarietyNE87612 
          -6.1875           -2.6250           -4.4375           -7.6375 
   VarietyNE87613    VarietyNE87615    VarietyNE87619    VarietyNE87627 
          -0.0375           -3.7500            1.8250           -6.2125 
    VarietyNORKAN    VarietyREDLAND VarietyROUGHRIDER    VarietySCOUT66 
          -5.0250            1.0625           -8.2500           -1.9125 
 VarietySIOUXLAND     VarietyTAM107     VarietyTAM200       VarietyVONA 
           0.6750           -1.0375           -8.2000           -5.8375 
> ranef(rcb.lme)
    Rep1     Rep2       Rep3      Rep4
1 1.8796 2.843266 -0.8712739 -3.851592
MYaseen208
źródło
1

Model 2

ASReml-R

sp1.asr <- asreml(yield~Variety, rcov=~Column:ar1(Row), data=nin89, na.method.X="include")

> summary(sp1.asr)
$call
asreml(fixed = yield ~ Variety, rcov = ~Column:ar1(Row), data = nin89, 
    na.method.X = "include")

$loglik
[1] -408.1412

$nedf
[1] 168

$sigma
[1] 7.975127

$varcomp
               gamma  component  std.error   z.ratio    constraint
R!variance 1.0000000 63.6026561 11.3182328  5.619486      Positive
R!Row.cor  0.7795799  0.7795799  0.0406026 19.200245 Unconstrained

attr(,"class")
[1] "summary.asreml"
> summary(sp1.asr)$varcomp
               gamma  component  std.error   z.ratio    constraint
R!variance 1.0000000 63.6026561 11.3182328  5.619486      Positive
R!Row.cor  0.7795799  0.7795799  0.0406026 19.200245 Unconstrained
> anova(sp1.asr)
Wald tests for fixed effects

Response: yield

Terms added sequentially; adjusted for those above

              Df Sum of Sq Wald statistic Pr(Chisq)    
(Intercept)    1   24604.3         386.84 < 2.2e-16 ***
Variety       55    7974.4         125.38 2.048e-07 ***
residual (MS)         63.6                             
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
> coef(sp1.asr)$fixed
                        effect
Variety_ARAPAHOE     0.0000000
Variety_BRULE       -2.4048816
Variety_BUCKSKIN     7.8064972
Variety_CENTURA     -1.6997427
Variety_CENTURK78   -1.3829446
Variety_CHEYENNE    -1.1113084
Variety_CODY        -6.7461911
Variety_COLT        -1.7963394
Variety_GAGE        -3.4539524
Variety_HOMESTEAD   -5.5877510
Variety_KS831374    -0.8589476
Variety_LANCER      -2.8418476
Variety_LANCOTA     -5.9394801
Variety_NE83404     -3.4112613
Variety_NE83406     -1.9057358
Variety_NE83407     -3.2563922
Variety_NE83432     -5.4594311
Variety_NE83498      0.6446010
Variety_NE83T12     -4.0071361
Variety_NE84557     -4.2005181
Variety_NE85556      1.4836395
Variety_NE85623     -2.7617129
Variety_NE86482     -1.4309381
Variety_NE86501     -2.2287462
Variety_NE86503     -0.4557866
Variety_NE86507     -0.6983418
Variety_NE86509     -3.9215624
Variety_NE86527      0.5294386
Variety_NE86582     -5.4653632
Variety_NE86606     -0.7291575
Variety_NE86607     -0.1265536
Variety_NE86T666   -12.1437291
Variety_NE87403     -7.4623631
Variety_NE87408     -3.3586380
Variety_NE87409     -1.0360336
Variety_NE87446     -4.9030958
Variety_NE87451     -3.2836149
Variety_NE87457     -3.5244583
Variety_NE87463     -3.8427658
Variety_NE87499     -4.6298393
Variety_NE87512     -5.3760809
Variety_NE87513     -5.5656241
Variety_NE87522     -7.6500899
Variety_NE87612     -2.7225851
Variety_NE87613     -0.8793319
Variety_NE87615     -4.0089291
Variety_NE87619      0.7975626
Variety_NE87627    -10.1315147
Variety_NORKAN      -7.1804945
Variety_REDLAND      0.6753066
Variety_ROUGHRIDER  -0.9637487
Variety_SCOUT66      0.7088916
Variety_SIOUXLAND   -1.1998807
Variety_TAM107      -3.7160351
Variety_TAM200      -9.0340942
Variety_VONA        -2.7970689
(Intercept)         28.3487457

nlme

Pracuję, ale jeszcze nie rozgryzłem. Może być coś takiego. Nadal nie mógł dowiedzieć się, jak to zrobić rcov=~Column:ar1(Row)znlme

nin89$Int <- 1
sp1.lme <- lme(yield~Variety, random=~1|Int, data=na.omit(nin89))
MYaseen208
źródło
1

Model 3

ASReml-R

sp2.asr <- asreml(yield~Variety, rcov=~ar1(Column):ar1(Row), data=nin89, na.method.X="include")

> summary(sp2.asr)
$call
asreml(fixed = yield ~ Variety, rcov = ~ar1(Column):ar1(Row), 
    data = nin89, na.method.X = "include")

$loglik
[1] -399.3238

$nedf
[1] 168

$sigma
[1] 6.978728

$varcomp
                 gamma  component  std.error   z.ratio    constraint
R!variance   1.0000000 48.7026395 7.15527571  6.806536      Positive
R!Column.cor 0.4375045  0.4375045 0.08060227  5.427943 Unconstrained
R!Row.cor    0.6554798  0.6554798 0.05637709 11.626704 Unconstrained

attr(,"class")
[1] "summary.asreml"
> summary(sp2.asr)$varcomp
                 gamma  component  std.error   z.ratio    constraint
R!variance   1.0000000 48.7026395 7.15527571  6.806536      Positive
R!Column.cor 0.4375045  0.4375045 0.08060227  5.427943 Unconstrained
R!Row.cor    0.6554798  0.6554798 0.05637709 11.626704 Unconstrained
> anova(sp2.asr)
Wald tests for fixed effects

Response: yield

Terms added sequentially; adjusted for those above

              Df Sum of Sq Wald statistic Pr(Chisq)    
(Intercept)    1   16165.6         331.93 < 2.2e-16 ***
Variety       55    5961.7         122.41 4.866e-07 ***
residual (MS)         48.7                             
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
> coef(sp2.asr)$fixed
                         effect
Variety_ARAPAHOE     0.00000000
Variety_BRULE        0.03029321
Variety_BUCKSKIN     8.89207227
Variety_CENTURA     -0.68979639
Variety_CENTURK78    0.16461970
Variety_CHEYENNE     0.50267820
Variety_CODY        -3.26960093
Variety_COLT        -0.51826695
Variety_GAGE        -0.95824999
Variety_HOMESTEAD   -4.57873078
Variety_KS831374     0.27843476
Variety_LANCER      -2.95379384
Variety_LANCOTA     -4.67006598
Variety_NE83404     -1.32290865
Variety_NE83406     -1.66351994
Variety_NE83407     -2.64471830
Variety_NE83432     -4.42828427
Variety_NE83498      1.80418738
Variety_NE83T12     -2.11789109
Variety_NE84557     -2.34685080
Variety_NE85556      2.78001120
Variety_NE85623     -1.42164134
Variety_NE86482     -1.63334029
Variety_NE86501     -2.94339063
Variety_NE86503     -0.95747374
Variety_NE86507      0.46223383
Variety_NE86509     -3.27166458
Variety_NE86527      1.86588098
Variety_NE86582     -3.87940069
Variety_NE86606      0.22753741
Variety_NE86607      0.60702026
Variety_NE86T666   -10.27005825
Variety_NE87403     -7.43945904
Variety_NE87408     -3.10433009
Variety_NE87409      1.29746980
Variety_NE87446     -4.15943316
Variety_NE87451     -1.85324718
Variety_NE87457     -2.31156727
Variety_NE87463     -4.47086114
Variety_NE87499     -1.85909637
Variety_NE87512     -4.06473578
Variety_NE87513     -3.99604937
Variety_NE87522     -5.52109215
Variety_NE87612     -1.95543098
Variety_NE87613     -0.83160454
Variety_NE87615     -1.92104271
Variety_NE87619      2.98322047
Variety_NE87627     -7.33205188
Variety_NORKAN      -5.78418023
Variety_REDLAND      1.75249392
Variety_ROUGHRIDER  -0.97736288
Variety_SCOUT66      2.13126094
Variety_SIOUXLAND   -2.54195346
Variety_TAM107      -1.59083563
Variety_TAM200      -6.54229161
Variety_VONA        -1.52728371
(Intercept)         27.04285175

nlme

Pracuję, ale jeszcze nie rozgryzłem. Może być coś takiego. Nadal nie mógł dowiedzieć się, jak to zrobić rcov=~ar1(Column):ar1(Row)znlme

nin89$Int <- 1
sp1.lme <- lme(yield~Variety, random=~1|Int, data=na.omit(nin89))

Nie mogłem wymyślić, jak dopasować Model 2 i 3 nlme. Pracuję nad tym i zaktualizuję odpowiedź, kiedy to zrobisz. Ale ASReml-Rdo celów porównawczych podałem dane wyjściowe dla Modelu 2 i 3. Kevin ma duże doświadczenie w analizowaniu takich modeli, a Ben Bolker ma wspaniały autorytet w zakresie modeli mieszanych. Mam nadzieję, że mogą nam pomóc w modelach 2 i 3.

MYaseen208
źródło