Sıradan en küçük kareler - toplam en küçük kareler
İlk önce, sadece bir yordayıcı (bağımsız) değişkeni olan en basit durumunu ele alalım . Kolaylık olması açısından, hem de izin ve ortalanmış, yani kesişme her zaman sıfırdır. Standart OLS regresyonu ile "ortogonal" TLS regresyonu arasındaki fark, PCA'nın en popüler başlığındaki en popüler cevaptan (benim tarafımdan uyarlanan) bu rakamda açıkça gösterilmiştir :x yxxy
OLS, denklemine uyuyor ve gözlemlenen değerler ile öngörülen değerler arasındaki kare mesafeleri minimize ediyor . TLS, noktaları ile kareler arasındaki çizgide uzaklıkları en aza indirerek aynı denklemi sağlar . Bu en basit durumda, TLS satırı 2D verisinin ilk temel bileşenidir. bulmak için PCA'yı noktalarına yapın, yani kovaryans matrisini ve ilk özvektörünü ; sonra .y y ( x , y ), β ( x , y ) 2 × 2 Σy=βxyy^(x,y)β(x,y)2×2Σβ = v y / v xv=(vx,vy)β=vy/vx
Matlab'da:
v = pca([x y]); //# x and y are centered column vectors
beta = v(2,1)/v(1,1);
R'de:
v <- prcomp(cbind(x,y))$rotation
beta <- v[2,1]/v[1,1]
Bu arada, ve merkezlenmemiş olsa bile bu doğru eğimi sağlar (çünkü yerleşik PCA işlevleri otomatik olarak merkezleme yapar). kurtarmak için, hesaplayın .y β 0 = ˉ y - β ˉ xxyβ0=y¯−βx¯
OLS ve TLS, çoklu regresyon
Bağımlı değişken ve birçok bağımsız değişken verildiğinde (yine hepsi basitlik için merkezlenir), regresyon,OLS, gözlenen değerleri ile öngörülen değerler arasındaki kare hataları en aza indirerek uyumu sağlar . TLS, gözlenen noktaları ile regresyon düzlemi / hiper düzlemi üzerindeki en yakın noktalar arasındaki kare mesafeleri en aza indirerek uyumu sağlar .x i y = β 1 x 1 + … + β p x p . y y ( x , y ) ∈ R p + 1yxben
y= β1x1+ … + Βpxp.
yy^( x , y) ∈ Rp + 1
Artık "regresyon çizgisi" olmadığını unutmayın! Yukarıdaki denklem bir hiper düzlemi belirtir : iki öngörücü varsa 2B düzlemdir, üç öngörücü varsa 3B hiper düzlem vb. Yukarıdaki çözüm işe yaramaz: TLS çözümünü yalnızca ilk bilgisayarı alarak ( bir çizgi). Yine de, çözüm PCA ile kolayca elde edilebilir.
Daha önce olduğu gibi, PCA noktalarında gerçekleştirilir. Bu , sütunlarında özvektörleri verir . Birinci özvektörler bir tanımlayan boyutlu hiper ihtiyacımız olduğu; son ( sayısı ) özvektör buna diktir. Soru temelini dönüştürmek için nasıl , ilk olarak verilen içine özvektör katsayıları.p + 1 V p p H p + 1 v p + 1 H p β( x , y)p + 1VppHp+1vp+1Hpβ
Dikkate biz set halinde tüm ve tek , daha sonra örneğin, vektör altdüzlem yatmaktadır . Öte yandan, öğesinin dik olduğunu biliyoruz. Yani nokta ürünleri sıfır olmalıdır:ı ≠ k x k = 1 , Y = β k ( 0 , ... , 1 , ... , β k ) ∈ Hxi=0i≠kxk=1y^=βk
(0,…,1,…,βk)∈H
v p + 1 = ( v 1 , ... , v p + 1 )Hvp+1=(v1,…,vp+1)⊥H
vk+βkvp+1=0⇒βk=−vk/vp+1.
Matlab'da:
v = pca([X y]); //# X is a centered n-times-p matrix, y is n-times-1 column vector
beta = -v(1:end-1,end)/v(end,end);
R'de:
v <- prcomp(cbind(X,y))$rotation
beta <- -v[-ncol(v),ncol(v)] / v[ncol(v),ncol(v)]
Yine, bu, ve merkezlenmemiş olsa bile doğru eğim sağlar (çünkü yerleşik PCA işlevleri otomatik olarak merkezleme yapar). kurtarmak için, hesaplayın .xyβ0=y¯−x¯β
Akıl sağlığı kontrolü olarak, bu çözümün yalnızca tahmincisi olması durumunda öncekiyle çakıştığını unutmayın . Aslında, o zaman uzayı 2B'dir ve bu nedenle, ilk PCA özvektörünün ikinci (son) bir ile ortogonal olduğu göz önüne alındığında, .x(x,y)v(1)y/v(1)x=−v(2)x/v(2)y
TLS için kapalı form çözümü
Şaşırtıcı bir şekilde, için kapalı bir form denklemi olduğu ortaya çıkıyor . Aşağıdaki tartışma Sabine van Huffel'in "Toplam en küçük kareler" kitabından alınmıştır (bölüm 2.3.2).β
Let ve merkezli veri matrisler olabilir. Son PCA özvektörü , kovaryans matrisinin bir özvektörü olup, bir özdeğer . Bir özvektör ise, öyleyse . Özvektör denklemini yazmak:
Xyvp+1[Xy]σ2p+1−vp+1/vp+1=(β−1)⊤
(X⊤Xy⊤XX⊤yy⊤y)(β−1)=σ2p+1(β−1),
ve ürünü solda hesaplarsak hemen şunu tanıdık OLS ifadesini kesinlikle hatırlatıyor
βTLS=(X⊤X−σ2p+1I)−1X⊤y,
βOLS=(X⊤X)−1X⊤y.
Çok değişkenli çoklu regresyon
Aynı formül çok değişkenli duruma genelleştirilebilir, ancak çok değişkenli TLS'nin ne yaptığını tanımlamak için bile bazı cebir gerektirir. TLS'deki Wikipedia'ya bakın . Çok değişkenli OLS regresyonu, her bir bağımlı değişken için bir çok değişkenli OLS regresyonuna eşittir, ancak TLS durumunda öyle değildir.