Odhad plemenné hodnoty pomocí sire modelu (otcovského modelu)  Př.:  Z populace jsou náhodně vybráni otcové a každý byl náhodně pářen se samicemi. Z každého  páření byli sledováni potomci. Sledujeme několik potomků, kteří byli chováni v různých  chovech (Viz zadání). Model předpokládá, že není interakce mezi otcem a chovem. Chceme  odhadnout PH otců podle užitkovosti jejich dcer (Sire model).  yijk = bi + uj + eijk  Náhodný efekt – efekt j‐tého otce (3 úrovně); pevný efekt – efekt i‐tého stáda (2 úrovně)    Potomek  otec  chov  užitkovost  1  1  1  9  2  1  2  12  3  2  1  11  4  2  1  6  5  3  1  7  6  3  2  14    Smíšený model: Y = Xb + Zu + e    y =     X =    Z =     b=   u=    e =                                                14 7 6 11 12 9 y y y y y y 321 311 212 211 121 111                     10 01 01 01 10 01                     100 100 010 010 001 001       2 1 b b     1u      3 2 u u                     321 311 212 211 121 111 e e e e e e   Předpoklady:   ‐ E(u) = E(e) = 0, V(u) = G, V(e) = R  ‐ kovarianční matice pro vektor pozorování y je V = ZGZ` + R  ‐ reziduální chyby mají konstantní variance a jsou nekorelovány  R = I  2 e Ve smíšeném modelu: pozorujeme y, X, Z zatímco b, R a G jsou obecně neznámé.     Pro řešení odhadů pevných efektů se používá procedura BLUE a pro odhad náhodných  efektů BLUP. Odhady jsou nejlepší v tom smyslu, že minimalizují výběrovou varianci, lineární,  že jsou lineární funkcí pozorovaných fenotypů y, a nevychýlené, že E[BLUE(b)] = b a  E[BLUP(u)] = u.     Chceme zjistit plemenné hodnoty otců (u1, u2, u3)?   1. Výpočet vyžaduje variančně‐kovarianční matici pro otce (G) a reziduální (R) .   a. Zde R = I 2 E     I(6)  b. otcové jsou nepříbuzní – G = I 2 O            I(3)  2. Za předpokladu jen aditivní genetické variance – efekt otců (PH) je polovina otcovské  aditivní genetické hodnoty ‐  2 O =  2 A /4  ( 2 A  ‐ aditivní genetická variance).  ‐ zadáme si, že  = 8 a   = 6 2 A 2 E 3. Variančně kovarianční matice V pro vektor y je dána V = ZGZ` + R.    Smíšený model: Y = Xb + Zu + e    1. řešení:  BLUE    )()( 111 yVXXVXb   BLUP   )(( 1 XbyVZGu     2. řešení:  normální rovnice smíšeného modelu:              -111 11 GZRZXRZ ZRXXRX . =        u b           yRZ yRX 1 1   Vyřešte oba způsoby pomocí programu R!  prof. Ing. Tomáš Urban, Ph.D. UMFGZ MENDELU v Brně urban@mendelu.cz Otcovský (sire) model > y <- matrix(c(9,12,11,6,7,14),6,1) > y [,1] [1,] 9 [2,] 12 [3,] 11 [4,] 6 [5,] 7 [6,] 14 > X <- matrix(c(1,0,1,1,1,0, + 0,1,0,0,0,1),6,2) > X [,1] [,2] [1,] 1 0 [2,] 0 1 [3,] 1 0 [4,] 1 0 [5,] 1 0 [6,] 0 1 > Z <- matrix(c(1,1,0,0,0,0, + 0,0,1,1,0,0, + 0,0,0,0,1,1),6,3) > Z [,1] [,2] [,3] [1,] 1 0 0 [2,] 1 0 0 [3,] 0 1 0 [4,] 0 1 0 [5,] 0 0 1 [6,] 0 0 1 > sigma2e <- 6 > R <- diag(6)*sigma2e > R [,1] [,2] [,3] [,4] [,5] [,6] [1,] 6 0 0 0 0 0 [2,] 0 6 0 0 0 0 [3,] 0 0 6 0 0 0 [4,] 0 0 0 6 0 0 [5,] 0 0 0 0 6 0 [6,] 0 0 0 0 0 6 > G <- diag(3)*(8/4) > G [,1] [,2] [,3] [1,] 2 0 0 [2,] 0 2 0 [3,] 0 0 2 > V <- Z %*% G %*% t(Z) + R > V [,1] [,2] [,3] [,4] [,5] [,6] [1,] 8 2 0 0 0 0 [2,] 2 8 0 0 0 0 [3,] 0 0 8 2 0 0 [4,] 0 0 2 8 0 0 [5,] 0 0 0 0 8 2 [6,] 0 0 0 0 2 8 > invV <- solve(V) > invV [,1] [,2] [,3] [,4] [,5] [,6] [1,] 0.13333333 -0.03333333 0.00000000 0.00000000 0.00000000 0.00000000 [2,] -0.03333333 0.13333333 0.00000000 0.00000000 0.00000000 0.00000000 [3,] 0.00000000 0.00000000 0.13333333 -0.03333333 0.00000000 0.00000000 [4,] 0.00000000 0.00000000 -0.03333333 0.13333333 0.00000000 0.00000000 [5,] 0.00000000 0.00000000 0.00000000 0.00000000 0.13333333 -0.03333333 [6,] 0.00000000 0.00000000 0.00000000 0.00000000 -0.03333333 0.13333333 > b <- solve(t(X) %*% invV %*% X) %*% (t(X) %*% invV %*% y) > b [,1] [1,] 8.222222 [2,] 13.055556 > u <- (G %*%Z %*% invV) %*% (y - (X%*%b)) Error in G %*% Z : non-conformable arguments > u <- (G %*% t(Z) %*% invV) %*% (y - (X%*%b)) > u [,1] [1,] -0.05555556 [2,] 0.11111111 [3,] -0.05555556 BLUP - Pomocí soustavy normálních rovnic: > XRX <- t(X) %*% solve(R) %*% X > XRX [,1] [,2] [1,] 0.6666667 0.0000000 [2,] 0.0000000 0.3333333 > XRZ <- t(X) %*% solve(R) %*% Z > XRZ [,1] [,2] [,3] [1,] 0.1666667 0.3333333 0.1666667 [2,] 0.1666667 0.0000000 0.1666667 > ZRX <- t(Z) %*% solve(R) %*% X > ZRX [,1] [,2] [1,] 0.1666667 0.1666667 [2,] 0.3333333 0.0000000 [3,] 0.1666667 0.1666667 > ZRZ <- t(Z) %*% solve(R) %*% Z > ZRZ [,1] [,2] [,3] [1,] 0.3333333 0.0000000 0.0000000 [2,] 0.0000000 0.3333333 0.0000000 [3,] 0.0000000 0.0000000 0.3333333 > ZRZG <- ZRZ + solve(G) > ZRZG [,1] [,2] [,3] [1,] 0.8333333 0.0000000 0.0000000 [2,] 0.0000000 0.8333333 0.0000000 [3,] 0.0000000 0.0000000 0.8333333 > LS1 <- cbind(XRX,XRZ) > LS1 [,1] [,2] [,3] [,4] [,5] [1,] 0.6666667 0.0000000 0.1666667 0.3333333 0.1666667 [2,] 0.0000000 0.3333333 0.1666667 0.0000000 0.1666667 > LS2 <- cbind(ZRX,ZRZG) > LS2 [,1] [,2] [,3] [,4] [,5] [1,] 0.1666667 0.1666667 0.8333333 0.0000000 0.0000000 [2,] 0.3333333 0.0000000 0.0000000 0.8333333 0.0000000 [3,] 0.1666667 0.1666667 0.0000000 0.0000000 0.8333333 > LS <- rbind(LS1,LS2) > LS [,1] [,2] [,3] [,4] [,5] [1,] 0.6666667 0.0000000 0.1666667 0.3333333 0.1666667 [2,] 0.0000000 0.3333333 0.1666667 0.0000000 0.1666667 [3,] 0.1666667 0.1666667 0.8333333 0.0000000 0.0000000 [4,] 0.3333333 0.0000000 0.0000000 0.8333333 0.0000000 [5,] 0.1666667 0.1666667 0.0000000 0.0000000 0.8333333 > XRy <- t(X) %*% solve(R) %*% y > XRy [,1] [1,] 5.500000 [2,] 4.333333 > ZRy <- t(Z) %*% solve(R) %*% y > ZRy [,1] [1,] 3.500000 [2,] 2.833333 [3,] 3.500000 > PS <- rbind(XRy, ZRy) > PS [,1] [1,] 5.500000 [2,] 4.333333 [3,] 3.500000 [4,] 2.833333 [5,] 3.500000 > bu <- solve(LS) %*% PS > bu [,1] [1,] 8.22222222 [2,] 13.05555556 [3,] -0.05555556 [4,] 0.11111111 [5,] -0.05555556