Neden biri KNN'yi regresyon için kullansın?


26

Anladığım kadarıyla, sadece eğitim verilerinin aralığında kalan bir regresyon işlevi oluşturabiliriz.

Örneğin (panellerden sadece biri gerekli): görüntü tanımını buraya girin

Bir KNN regresör kullanarak geleceği nasıl tahmin edebilirim? Yine, sadece antrenman verileri aralığı dahilinde olan bir fonksiyona yaklaştığı görülmektedir.

Sorum şu: KNN regresör kullanmanın avantajları nelerdir? Bunun sınıflandırma için çok güçlü bir araç olduğunu anlıyorum, ancak bir regresyon senaryosunda kötü performans göstereceği anlaşılıyor.


"Geleceği tahmin etmek" ile ne demek istediğinizi açıklayabilir misiniz? Zaman serileriniz var mı ve tahmin yapmak mı istiyorsunuz ya da 2 değişken arasında bir ilişki kurmaya mı çalışıyorsunuz ve gelecekte bunu bilinen bir X değerinden bir Y değeri tahmin etmek için kullanmak mı istiyorsunuz?
gung - Reinstate Monica

1
Örneğin, Y değerini yukarıdaki resimde X = 15 olacak şekilde tahmin etmek istersem. Bir KNN-regresörü doğru kesmiyor mu?

1
ile bir sette eğitim aldıysanız , ancak x'in değerinde verilerinizin ötesinde x değerlerini görmenizin beklendiğini kabul edersiniz, o zaman parametrik olmayan yerel yöntemler ideal olmayabilir. Bunun yerine, bu etki alanı bilgisini kullanmak ve 'gözlemlenmemiş' x'in nasıl davranması beklendiği hakkındaki bilginizi içeren parametrik bir model tanımlamak isteyebilirsiniz . x[0,5]xx
Meadowlark Bradsher,

1
Regresyon için başarıyla kullanılan bir KNN örneği, Nate Silver'in PECOTA beyzbol tahmin işidir. Artıları ve eksileri hakkında PECOTA'daki
Flounderer

6
Ayrıca, daha genel bir noktaya değinmek gerekirse, istatistik (veya veri madenciliği / makine öğrenmesi vb.) Konusunda bilgili olduğunuzdan, sizinki gibi çok genel soruların cevaplarının genellikle 'değişir' şeklinde ifade edilmiş bir versiyonu olacağını göreceksiniz. Neye bağlı olduğunu bilmek ve neden bilgi olduğunu.
Meadowlark Bradsher,

Yanıtlar:


17

K-NN gibi yerel yöntemler bazı durumlarda anlamlıdır.

Okulda yaptığım bir örnek, çeşitli çimento içeriklerinin karışımlarının basınç dayanımını öngörmekle ilgisi vardı. Bu bileşenlerin tümü, cevap veya birbirlerine göre nispeten uçucu değildi ve KNN, bunun üzerinde güvenilir tahminlerde bulundu. Başka bir deyişle, bağımsız değişkenlerin hiçbiri, modele tek tek veya muhtemelen karşılıklı etkileşim yoluyla vermek için orantısız şekilde büyük bir varyansa sahip değildi.

Bunu bir tuz tuzu ile alın çünkü bunu kesin olarak gösteren bir veri araştırma tekniğini bilmiyorum, ancak sezgisel olarak eğer özellikleriniz belirli oranda değişkenlik derecesine sahipse, hangi orana sahip olabileceğinizi bilmiyordum. KNN adayı. Bu etki için geliştirilen bazı çalışmalar ve ortaya çıkan tekniklerin olup olmadığını kesinlikle bilmek isterim.

Genelleştirilmiş bir etki alanı perspektifinden düşünürseniz, benzer 'tariflerin' benzer sonuçlar verdiği geniş bir uygulama sınıfı vardır. Bu kesinlikle karışım çimentosu sonuçlarının öngörülme durumunu tarif ediyor gibiydi. Bu açıklamaya göre davranan verilere sahipseniz ve ek olarak uzaklık ölçütünüzün eldeki alana da doğal olduğunu ve son olarak da yeterli verilere sahipseniz, KNN'den veya başka bir yerel yöntemden yararlı sonuçlar almanız gerektiğini hayal ediyorum. .

Yerel yöntemleri kullandığınızda da son derece düşük önyargıdan faydalanıyorsunuz. Bazen genelleştirilmiş ilave modeller (GAM), KNN kullanarak her bir değişkeni yerleştirerek yanlılığı ve farkı dengeleyebilir:

y^=f1(x1)+f2(x2)++fn(xn)+ϵ

fn(xn)

KNN'yi bu kadar çabuk yazmam. Onun yeri var.


1
Knn için veri ölçeklendirme hakkındaki bu cevap, "orantılı değişkenlik derecesi" ile ne demek istediğinizi ifade etmenize yardımcı olabilir. stats.stackexchange.com/questions/287425/…
eric_kernfeld

5

Söylemekten hoşlanmıyorum ama aslında kısa cevap şu ki, "geleceği tahmin etmek" bir knn ile ya da şu anda mevcut olan herhangi bir sınıflandırıcı ya da regresör ile mümkün değil.

Doğrusal bir regresyon çizgisini veya bir SVM'nin hiper düzlemini tahmin edebildiğinizden emin olabilirsiniz, ancak sonunda geleceğin ne olacağını bilmezsiniz, herkesin bildiği gibi, çizgi sadece düzgün vücutlu bir gerçekliğin küçük bir parçası olabilir. Örneğin, Gaussian süreçleri gibi Bayesian yöntemlerine baktığınızda, "bilinen girdi alanından" çıkar çıkmaz büyük bir belirsizlik fark edeceksiniz.

Elbette bugün olanlardan yarın muhtemel olanlara genelleştirmeyi deneyebilirsiniz, ki bu bir knn regresör ile kolayca yapılabilir (örneğin, Noel zamanı boyunca geçen yılın müşteri numaraları bu yılın sayıları hakkında size iyi bir ipucu verebilir). Tabii diğer yöntemlerin trendleri içerebileceğini ve bunun gibi şeyleri yapabilir ancak sonunda borsa veya uzun vadeli hava tahminleri söz konusu olduğunda bunun ne kadar iyi çalıştığını görebilirsiniz.


Ekstrapolasyona karşı dikkatli olmak ve + ekstrapolasyon yaparken KNN'nin (nispeten muhafazakar) davranışını tartışmak için +1.
eric_kernfeld

KNN, tam olarak OP tarafından belirtilen davranış nedeniyle ekstrapolasyon yapılırken doğrusal regresyondan daha muhafazakardır: sadece gözlenen Y değerleri aralığında tahminler verebilir. Bu, birçok durumda bir avantaj olabilir.
eric_kernfeld

1

İlk önce "KNN regresör kullanarak geleceği nasıl tahmin edebilirim?" İçin bir örnek.

sunt+1sunt..sunt-6
sunt

weektsunt..sunt-6tOmOrrOw(weekt))sunt+1

weekt
week
tOmOrrOw0..tOmOrrOw9
predict(week)tomorrow0..tomorrow9

Ayarlama ağırlıkları, örneğin bkz ters mesafeli ağırlıklı-idw-ile-piton interpolasyon- ,
ve 7d "En yakın komşusu" için metrik mesafe.

"KNN regresör kullanmanın avantajları nelerdir?"
Başkalarının iyi yorumlarına kodlaması ve anlaması kolay ekler, büyük veriye ölçeklerim.
Dezavantajları: verilere ve ayarlamaya duyarlı, fazla anlayışlı değil .




XY
Yt=b0Xt+b1Xt1+...
Yt+1
Yt+1=a0Yt+a1Yt1+...

Bu yüzden ilk satırınız "yalnızca eğitim verilerinin aralığında kalan bir regresyon işlevi oluşturabiliriz" ifadesi kafa karıştırıcı "regresyon" kelimesiyle ilgili gibi görünüyor.)


1

Gönderen İstatistiksel Öğrenme An Introduction , bölüm 3.5:

Gerçek ilişkinin bilinmediği gerçek hayattaki bir durumda, KNN'nin lineer regresyondan yana olması gerektiği sonucuna varılabilir çünkü gerçek ilişki lineer ise, en azından en azından lineer regresyondan biraz daha düşük olacaktır ve esas olarak daha iyi sonuç verebilir. Gerçek ilişki doğrusal değilse, sonuç.

Ancak, bazı kısıtlamalar var (ders kitabından değil, sadece yaptığım şeyden):

  1. Her bir tahminci için yeterli sayıda gözlem.
  2. prediktör sayısı çok büyük olmamalıdır.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.