ILR (İzometrik Log-Ratio) dönüşümü, bileşimsel verilerin analizinde kullanılır. Herhangi bir gözlem, bir karışımdaki kimyasalların oranları veya çeşitli aktivitelerde harcanan toplam sürenin oranları gibi birliği özetleyen bir dizi pozitif değerdir. Toplam-için-birlik değişmez olabilir ancak anlamına gelir k≥2 , her gözlem parçaları, sadece orada k−1 işlevsel olarak bağımsız değerleri. (Geometrik olarak, gözlemler k boyutlu Öklid uzayında k−1 boyutlu bir simpleks üzerinde uzanır R kkRk. Bu basit doğa, aşağıda gösterilen simüle edilmiş verilerin dağılım grafiklerinin üçgen şekillerinde kendini gösterir.)
Tipik olarak, bileşenlerin dağılımları log dönüştürüldüğünde "daha hoş" olur. Bu dönüşüm, bir gözlemdeki tüm değerleri günlükleri almadan önce geometrik ortalamalarına bölerek ölçeklendirilebilir. (Aynı şekilde, herhangi bir gözlemdeki verilerin günlükleri, ortalamaları çıkarılarak ortalanır.) Bu, "Ortalanmış Günlük Oranı" dönüşümü veya CLR olarak bilinir. Sonuçlanan değerler hala Rk bir hiper düzlem içinde yer alır , çünkü ölçeklendirme günlüklerin toplamının sıfır olmasına neden olur. ILR, bu hiper düzlem için herhangi bir ortonormal temel seçmekten oluşur: Dönüştürülen her gözlemin k−1 koordinatları yeni verileri haline gelir. Eşdeğer olarak, hiper düzlem kaybolan k ile düzleme denk gelecek şekilde döndürülür (veya yansıtılır).kthve ilk k−1 koordinatlarını kullanır . (Dönmeler ve yansımalar mesafeyi korudukları için izometridirler , bu nedenle bu prosedürün adı.)
Tsagris, Preston ve Wood, "[rotasyon matrisi] H standart bir seçiminin , ilk satırı Helmert matrisinden çıkararak elde edilen Helmert alt matrisi olduğunu" belirtir .
k mertebesinin Helmert matrisi basit bir şekilde oluşturulur (örneğin bkz. Harville s. 86). İlk sırası 1 saniyedir. Bir sonraki sıra ilk sıraya dik yapılabilen en basitlerden biridir, yani (1,−1,0,…,0) . j satırı , önceki tüm satırlara dik olan en basitleri arasındadır: ilk j−1 girişleri 1 s'dir, bu da 2 , 3 , … , j - 1 satırlarına dik olduğunu garanti eder.2,3,…,j−1 , ve jth giriş ayarlanır1−j o (olduğunu, bunun girişleri sıfır toplama olmalıdır), birinci sıranın ortogonal olmak için. Ardından tüm satırlar birim uzunluğuna göre yeniden ölçeklendirilir.
Deseni göstermek için , satırları yeniden ölçeklenmeden önce 4×4 Helmert matrisi:
⎛⎝⎜⎜⎜11111−11110−21100−3⎞⎠⎟⎟⎟.
(Düzenleme Ağustos 2017 eklendi) Bu "kontrastların" (satır satır okunan) özellikle güzel yanlarından biri yorumlanabilmeleridir. İlk satır bırakılır ve verileri temsil etmek için kalan k−1 satır bırakılır. İkinci sıra, ikinci değişken ile birinci değişken arasındaki farkla orantılıdır. Üçüncü sıra, üçüncü değişken ile ilk ikisi arasındaki farkla orantılıdır. Genel olarak, j satırı ( 2≤j≤k ), j değişkeni ile ondan önce gelenler, 1 , 2 , … , j - 1 değişkenleri arasındaki farkı yansıtır.1,2,…,j−1. Bu, ilk değişken j=1 tüm kontrastlar için "temel" olarak bırakır . Bu yorumları ILR'yi Ana Bileşenler Analizi (PCA) ile takip ederken faydalı buldum: Yüklemelerin en azından kabaca orijinal değişkenler arasındaki karşılaştırmalar açısından yorumlanmasını sağlar. Aşağıdaki R
uygulamaya ilr
çıkış değişkenleri bu yorum yardımcı olmak için uygun isimler veren bir satır ekledim. (Düzenleme sonu.)
Bu matrisleri oluşturmak için R
bir işlev contr.helmert
sağladığından (ölçeklendirme olmasa da, satırlar ve sütunlar negatif ve aktarılmış olsa da), bunu yapmak için (basit) kodu yazmanıza bile gerek yoktur. Bunu kullanarak ILR'yi uyguladım (aşağıya bakın). Egzersiz yapmak ve test etmek için, bir Dirichlet dağılımından ( 1 , 2 , 3 , 4 parametreleriyle) 1000 bağımsız çekiliş oluşturdum ve dağılım grafiği matrisini çizdim. Burada k = 4 .1,2,3,4k=4
Noktaların hepsi sol alt köşelere yakın kümelenir ve kompozisyon verilerinin özelliği olarak çizim alanlarının üçgen yamalarını doldurur.
ILR'lerinin sadece bir dağılım değişkeni matrisi olarak çizilen üç değişkeni vardır:
Bu gerçekten daha hoş görünüyor: dağılım grafikleri, lineer regresyon ve PCA gibi ikinci dereceden analizlere daha uygun olan daha karakteristik "eliptik bulut" şekilleri elde ettiler.
01/2
1 / 2
Bu genelleme ilr
aşağıdaki işlevde uygulanır . Bu "Z" değişkenlerini üretme komutu basitçe
z <- ilr(x, 1/2)
Box-Cox dönüşümünün bir avantajı, gerçek sıfırları içeren gözlemlere uygulanabilirliğidir: parametrenin pozitif olması şartıyla hala tanımlanmaktadır.
Referanslar
Michail T. Tsagris, Simon Preston ve Andrew TA Wood, Kompozisyon verileri için veri tabanlı bir güç dönüşümü . arXiv: 1106.1451v2 [stat.ME] 16 Haz 2011.
David A. Harville, Bir İstatistikçinin Perspektifinden Matris Cebiri . Springer Science & Business Media, 27 Haziran 2008.
İşte R
kod.
#
# ILR (Isometric log-ratio) transformation.
# `x` is an `n` by `k` matrix of positive observations with k >= 2.
#
ilr <- function(x, p=0) {
y <- log(x)
if (p != 0) y <- (exp(p * y) - 1) / p # Box-Cox transformation
y <- y - rowMeans(y, na.rm=TRUE) # Recentered values
k <- dim(y)[2]
H <- contr.helmert(k) # Dimensions k by k-1
H <- t(H) / sqrt((2:k)*(2:k-1)) # Dimensions k-1 by k
if(!is.null(colnames(x))) # (Helps with interpreting output)
colnames(z) <- paste0(colnames(x)[-1], ".ILR")
return(y %*% t(H)) # Rotated/reflected values
}
#
# Specify a Dirichlet(alpha) distribution for testing.
#
alpha <- c(1,2,3,4)
#
# Simulate and plot compositional data.
#
n <- 1000
k <- length(alpha)
x <- matrix(rgamma(n*k, alpha), nrow=n, byrow=TRUE)
x <- x / rowSums(x)
colnames(x) <- paste0("X.", 1:k)
pairs(x, pch=19, col="#00000040", cex=0.6)
#
# Obtain the ILR.
#
y <- ilr(x)
colnames(y) <- paste0("Y.", 1:(k-1))
#
# Plot the ILR.
#
pairs(y, pch=19, col="#00000040", cex=0.6)