Genelde "sıradan en küçük kareler" hakkında bir şeyler duyarım. Doğrusal regresyon için en yaygın kullanılan algoritma bu mu? Farklı bir tane kullanmak için sebepler var mı?
Genelde "sıradan en küçük kareler" hakkında bir şeyler duyarım. Doğrusal regresyon için en yaygın kullanılan algoritma bu mu? Farklı bir tane kullanmak için sebepler var mı?
Yanıtlar:
Başlıktaki soruya ilişkin olarak, kullanılan algoritmanın ne olduğu hakkında:
Doğrusal bir cebir perspektifinde, doğrusal regresyon algoritması, bilinmeyenlerden daha fazla denklem içeren bir doğrusal sistemi çözmenin yoludur . Çoğu durumda bu soruna bir çözüm yoktur. Bunun nedeni vektörünün , sütun alanına ait olmamasıdır .b bir Cı- ( A )
best straight line
Toplam hata verendir bu alır kadar küçük. Kare uzunluğunun küçük olduğunu düşünmek uygundur, , çünkü negatif değildir ve sadece b \ C (\ mathbf {A}) olduğunda 0 olur .
vektörünü sütun alanındaki en yakın noktaya yansıtmak (dik olarak), sistemi (en iyi düz çizgide yer alan) minimum hatayla çözen vektöre verir .A b ∗
ve yansıtılan vektör şöyle verilir:
Belki de en küçük kareler yöntemi yalnızca kullanılmaz, çünkü bu squaring
aykırı değerlere aşırı telafi eder.
Bu algoritmayı kullanarak regresyon problemini çözen basit bir örnek vereyim:
library(fBasics)
reg.data <- read.table(textConnection("
b x
12 0
10 1
8 2
11 3
6 4
7 5
2 6
3 7
3 8 "), header = T)
attach(reg.data)
A <- model.matrix(b~x)
# intercept and slope
inv(t(A) %*% A) %*% t(A) %*% b
# fitted values - the projected vector b in the C(A)
A %*% inv(t(A) %*%A ) %*% t(A) %*% b
# The projection is easier if the orthogonal matrix Q is used,
# because t(Q)%*%Q = I
Q <- qr.Q(qr(A))
R <- qr.R(qr(A))
# intercept and slope
best.line <- inv(R) %*% t(Q) %*% b
# fitted values
Q %*% t(Q) %*% b
plot(x,b,pch=16)
abline(best.line[1],best.line[2])
could not find inv
mı alıyorum ?
lm
QR'dir, bunun nedenleri vardır, nedenini açıklayabilir misiniz?
Sorunun mektubunu cevaplamak için, "sıradan en küçük kareler" bir algoritma değildir; aksine, doğrusal regresyonun bir örneği olduğu hesaplamalı doğrusal cebirdeki bir problem türüdür. Genellikle birinin verisine göre ve biçimindeki verilere uyması için geçici bir işlev ("model") vardır. . "baz fonksiyonları" olarak adlandırılır ve monomials her şey olabilir trigonometrik fonksiyonlar (örneğin üzere , ) ve üstel fonksiyonlar ( ). Buradaki "doğrusal regresyon" daki "doğrusal" terimi, temel fonksiyonlara atıfta bulunmaz,, herhangi birine göre modelin kısmi türevini almak size çarparak verir ; yani, .
Bir artık var dikdörtgen matris (genellikle) sütun daha fazla satır olduğunu ( "tasarım matrisi"), ve her bir giriş formu ait , satır dizini olan ve olmak sütun dizini OLS şimdi vektörünü bulma görevidir, miktarını en aza indirir (matris notasyonunda, ; burada, genellikle "yanıt vektörü" olarak adlandırılır).
En küçük kareler çözümlerinin hesaplanmasında pratikte kullanılan en az üç yöntem vardır: normal denklemler, QR ayrışımı ve tekil değer ayrışması. Kısacası, matris matrisini, vektörü için çözmek üzere kolayca manipüle edilebilen bir matris ürününe dönüştürmenin yollarıdır .
George, cevabında normal denklem yöntemini çoktan gösterdi; biri sadece doğrusal denklem kümesini çözer
için . matrisinin simetrik pozitif (yarı) kesin olması nedeniyle, bunun için kullanılan genel yöntem, etkileyen faktörler olan Cholesky ayrıştırmasıdır. , biçimine , alt üçgen matris ile. Bu yaklaşımla ilgili sorun, tasarım matrisini (genellikle) n'lik bir matris halinde sıkıştırabilmenin avantajına rağmen, bu işlemin önemli rakamların kaybına eğilimli olmasıdır (bu, tasarım matrisinin "koşul numarası" ile yapın).
Biraz daha iyi bir yol, doğrudan tasarım matrisiyle çalışan QR ayrışmasıdır. Bu faktörler olarak , ortogonal bir matrisi (onun devrik böyle bir matris çarpımı bir birim matris verir) ve üst üçgendir. daha sonra olarak hesaplanır . Nedenlerle ben (tıpkı herhangi terbiyeli sayısal lineer cebir metin, bkz girmeyeceğim bu bir ), bu normaldir denklemlerin yöntemine göre daha iyi sayısal özellikleri vardır.
QR ayrışımının kullanılmasındaki bir değişiklik , seminormal denklemlerin yöntemidir . Kısaca, eğer biri ayrışmasına sahipse, çözülecek doğrusal sistem formu alır.
Etkili olarak, bu yaklaşımda ' nın Cholesky üçgeni oluşturmak için QR ayrıştırması kullanılıyor . Bu, nın seyrek olduğu ve (veya bunun faktörlü bir versiyonunun) açık bir şekilde depolanması ve / veya oluşturulmasının istenmeyen veya pratik olmadığı durumlarda faydalıdır.
Son olarak, OLS'yi çözmenin en pahalı, ancak en güvenli yolu, tekil değer ayrıştırmasıdır (SVD). Bu kez, , , burada ve her ikisi de dikeydir veA = U Σ V ⊤ U V Σköşegen girişleri "tekil değerler" olarak adlandırılan köşegen bir matristir. Bu ayrışmanın gücü, size tekil değerler tarafından verilmiş tanısal yeteneğin içinde yatmaktadır, ki eğer biri bir veya daha fazla küçük tekil değer görürse, o zaman tamamen bağımsız olmayan bir temel seti seçmiş olmanız muhtemeldir; senin modelin. (Daha önce belirtilen "koşul sayısı" aslında en büyük tekil değerin en küçük değere oranıyla ilgilidir; tabii ki en küçük tekil değer "minik" ise, elbette ki oran büyüktür (ve matris şartsızdır) .)
Bu sadece bu üç algoritmanın bir taslağıdır; Hesaplamalı istatistik ve sayısal lineer cebir üzerine yazılmış herhangi bir kitap size daha fazla ilgili detay verebilmelidir.
R^{-1} Q^T y
A kare değilse nasıl hesaplarsınız ? Sıfır satırı R'ye mi düşürüyorsunuz?
Wiki bağlantısı: Doğrusal Regresyon için Tahmin Yöntemleri, OLS ve alternatif tahmin yöntemlerinin kullanıldığı bağlamları içeren oldukça kapsamlı bir tahmin yöntemleri listesi sunar.
Tanımlar ve terminoloji arasında şaşırtmak kolaydır. Her iki terim de bazen birbirinin yerine kullanılır. Wikipedia'da hızlı arama yardımcı olacaktır:
Sıradan En Küçük Kareler (OLS) doğrusal regresyon modellerine uyması için kullanılan bir yöntemdir. OLS yönteminin gösterilebilir tutarlılığı ve verimliliği (ek varsayımlar altında) nedeniyle, hakim yaklaşımdır. Daha fazla müşteri adayı için makalelere bakın.
'En küçük kareleri' en uygun regresyon çizgisini (yani, 'karesel' artıkların toplamını en az 'yapan en az' olanı) ve bu bağlamda kullanılan algoritmayı 'tanımlamak için bir kriter olarak düşünme eğilimindeyim. bu kriteri sağlayan regresyon katsayılarını belirlemek. Bu ayrım, aynı kriteri karşılayacak farklı algoritmalara sahip olmanın mümkün olduğunu göstermektedir.
Başkalarının bu ayrımı yapıp yapmadığını ve hangi terminolojiyi kullandıklarını bilmek isterim.
Eski bir kitap, ama kendimi defalarca döndüğümde buldum
Lawson, CL ve Hanson, RJ En Küçük Kareler Problemini Çözme , Prentice-Hall, 1974.
Önceki cevapların bahsettiği bazı algoritmaların detaylı ve okunabilir bir tartışmasını içerir. Buna bakmak isteyebilirsin.