Alel Frekansları için Markov Modelleri
Derste, R çıktısı şöyle olan Markov matrisi \(M\)'nin baştaki özdeğerinin:
[,1] [,2] [,3] [,4]
[1,] 0.980 0.005 0.005 0.010
[2,] 0.005 0.980 0.010 0.005
[3,] 0.005 0.010 0.980 0.005
[4,] 0.010 0.005 0.005 0.980
bütün alellerin eşit temsil edildiği (her biri 0.25 olasılıkla) bir durumu modelleyen bir özvektör ürettiğini gördün.
Bu egzersizde, başlangıç alel dağılımı:
[1] 1 0 0 0
olan bir durumda mutasyon sürecini bir for-döngüsüyle yineliyoruz ve gerçekten de olanın bu olduğunu — yani özvektörün for-döngüsünün yerine doğru bilgiyi verdiğini — gösteriyoruz.
Markov Süreçleri hakkında daha fazlası için şu bağlantıya bak.
Bu egzersiz, kursun bir parçasıdır
R ile Veri Bilimi için Lineer Cebir
Egzersiz talimatları
- 1000 mutasyon sonrası alel dağılımı olan
x'i yazdır. M'nin (senin için yüklendi) ilk özvektorünü bul ve toplamı1olacak şekilde ölçeklendir.v1değişkenine ata.v1'i, yaniM'nin ölçeklendirilmiş ilk özvektorünü yazdır vexile karşılaştır.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# This code iterates mutation 1000 times
x <- c(1, 0, 0, 0)
for (j in 1:1000) {x <- M%*%x}
# Print x
print(___)
# Print and scale the first eigenvector of M
Lambda <- eigen(M)
v1 <- Lambda$vectors[, ___]/sum(Lambda$___[, 1])
# Print v1
print(___)