Bir çıktı değişkenini tahmin etmek için temel bileşenlere regresyon nasıl uygulanır?


9

Ben gelen temel bileşenler analizinin temelleri hakkında okumak tutorial1 , link1 ve LINK2 .

100 değişkenlik veri setim var (çıkış değişkeni Y dahil), PCA ile değişkenleri 40'a düşürmek ve sonra bu 40 değişkenleri kullanarak değişken Y'yi tahmin etmek istiyorum.

Sorun 1: Temel bileşenleri aldıktan ve ilk 40 bileşeni seçtikten sonra, üzerine regresyon uygularsam verilere uyan bir işlev elde ederim. Ancak orijinal verilerden bazı Y değişkenlerini nasıl tahmin edebilirim? Değişken YI'nın girişte (100-1) değişkenleri olduğunu tahmin etmek için ve orijinal 100-1 değişkenlerim arasından hangi 40 değişkenin seçileceğini nasıl bilebilirim?

Sorun 2: PCA'yı tersine çeviriyorum ve verileri bu 40 ana bileşenden geri alıyorum. Ancak veriler değişti çünkü sadece ilk 40 bileşeni seçtim. Bu verilere regresyon uygulamak mantıklı mı?

Matlab / Octave kullanıyorum.


PCA yapmak için hangi yazılımı veya programı kullanıyorsunuz? Örneğin, SPSS'de bu analiz kolayca yapılabilir ve ayıklamak istediğiniz ana bileşen sayısını ayarlayabilir ve çıktıda hangilerinin seçildiğini görebilirsiniz. Elbette bu verilere regresyon uygulamak mantıklıdır çünkü PCA sadece boyut küçültme için kullanılır.
merveceng

1
Eğer varsa yalnızca tahminler yapmak ilgilenen, bunu bilmelidir Hastie, Tibshirani ve Friedman LASSO güya aynı şeyi (modeldeki değişkenlerin sayısını azaltarak öngörü yeteneğini geliştirmek) yapar çünkü LASSO regresyon üzerinde temel bileşenler regresyon tavsiye ama daha iyi. LASSO günümüzde istatistiksel paketlerde de yaygın olarak bulunmaktadır.
shadowtalker

@ ssdecontrol: Do Hastie ve ark. ana bileşen regresyonu üzerine özellikle kement tavsiye eder misiniz? PCR, sırt regresyonuna kementten çok daha yakındır: herhangi bir seyreklik yapmaz (yani kementin aksine özellik seçimi yapmaz), sırtlara benzer tüm ağırlıkları cezalandırır. Belki de PCR üzerinden elastik ağ öneriyorlar, ancak kement artı sırt.
amip

1
@amoeba Az önce gittim ve çevrimiçi PDF'yi kontrol ettim. Ya metin değişti ya da ilk okuduğumda yanlış anladım. Sonuç "kement üstün" değil, "PCR, PLS ve sırt regresyonu benzer şekilde davranma eğilimindedir" ve bu sırt daha iyi olabilir, çünkü sürekli. Beni dürüst tuttuğun için teşekkürler!
shadowtalker

Yanıtlar:


7

Orijinal 99 (100-1) değişkeninizin bir alt kümesini seçmezsiniz.

Temel bileşenlerin her biri, 99 öngörücü değişkenin (x-değişken, IV, ...) doğrusal birleşimleridir. İlk 40 temel bileşeni kullanırsanız, bunların her biri 99 orijinal belirteç değişkeninin bir işlevidir. (En azından sıradan PCA ile - daha az değişkene dayanan bileşenler verecek Zou, Hastie ve Tibshirani SPCA gibi seyrek / düzenli sürümler vardır .)

Basitlik açısından eşit derecede değişken olduğunu varsaydığımız, pozitif olarak ilişkili iki değişkenin basit durumunu düşünün. Daha sonra birinci temel bileşen, her iki değişkenin toplamının (kesirli) bir katı ve ikincisi, iki değişkenin farkının (kesirli) bir katı olacaktır; eğer ikisi eşit derecede değişken değilse, ilk temel bileşen daha değişken olanı daha ağır bir şekilde ağırlıklandıracaktır, ancak yine de her ikisini de içerecektir.

Böylece, orijinal değişkenlerin her birine karşılık gelen ağırlıkları uygulayarak 40 temel bileşeninizi hesapladığınız 99 x değişkeninizle başlıyorsunuz. [Tartışmamda NB varsayalımy ve Xzaten ortalanmış.]

Daha sonra 40 yeni değişkeni, tıpkı herhangi bir çoklu regresyon probleminde olduğu gibi, kendi başlarına tahminci gibi kullanırsınız. (Uygulamada, tahminleri almanın daha etkili yolları var, ancak hesaplama yönlerini bir kenara bırakalım ve sadece temel bir fikirle başa çıkalım)

İkinci sorunuzla ilgili olarak, "PCA'nın tersine çevrilmesi" ile ne demek istediğiniz açık değildir.

Bilgisayarlarınız orijinal değişkenlerin doğrusal kombinasyonlarıdır. Diyelim ki orijinal varyantlarınızXve sen hesapla Z=XW (nerede X dır-dir nx99 ve W bu 99x40 için ana bileşen ağırlıklarını içeren matris 40 kullandığınız bileşenler) y^=Zβ^PC regresyon yoluyla.

Sonra yazabilirsin y^=Zβ^PC=XWβ^PC=Xβ^* söyle (nerede β^*=Wβ^PC, tabii ki), böylece orijinal öngörücülerin bir işlevi olarak yazabilirsiniz; 'Tersine çevirmek' ile kastettiğin bu mu bilmiyorum, ama bu arasındaki orijinal ilişkiye bakmak için anlamlı bir yoly ve X. Elbette orijinal X'lerde bir gerileme tahmin ederek elde ettiğiniz katsayılarla aynı değildir - PCA yaparak düzenlenir; Orijinal X'lerinizin her biri için bu şekilde katsayılar elde etseniz bile, yalnızca taktığınız bileşen sayısının df'sine sahipler.

Ayrıca ana bileşen regresyonu hakkında Wikipedia'ya bakın .

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.