LASSO ile özellik seçimi için veri hazırlamak amacıyla eksik değerlerle nasıl başa çıkılır?


11

Benim durumum:

  • küçük örneklem büyüklüğü: 116
  • ikili sonuç değişkeni
  • Açıklayıcı değişkenlerin uzun listesi: 44
  • açıklayıcı değişkenler başımın tepesinden gelmedi; onların seçimi literatüre dayanıyordu.
  • örnekteki çoğu durum ve değişkenlerin çoğu eksik değerlere sahiptir.

Seçilen özellik seçimine yaklaşım: LASSO

R'nin glmnet paketi, görünüşe göre veri kümemdeki eksik değerlerin varlığı nedeniyle glmnet rutinini çalıştırmama izin vermiyor. Eksik verileri işlemek için çeşitli yöntemler var gibi görünüyor, bu yüzden bilmek istiyorum:

  • LASSO kullanabileceğim impütasyon yöntemi açısından herhangi bir kısıtlama getiriyor mu?
  • Imputation yöntemi için en iyi bahis hangisidir? İdeal olarak, SPSS (tercihen) veya R üzerinde çalışabileceğim bir yönteme ihtiyacım var.

GÜNCELLEME1: Aşağıdaki cevaplardan, impütasyon yöntemlerini düşünmeden önce daha temel konularla uğraştığım anlaşıldı. Burada bununla ilgili yeni sorular eklemek istiyorum. 'Geçerli olmayan' değerler ve grup kement kullanımı ile başa çıkmak için kodlamanın sabit değer olduğunu ve yeni bir değişkenin oluşturulmasını öneren cevapta:

  • Eğer LASSO grubunu kullanırsam, sürekli öngörücülere önerilen yaklaşımı kategorik öngörücülere de kullanabileceğimi söyleyebilir misiniz? Eğer öyleyse, yeni bir kategori oluşturmaya eşdeğer olacağını varsayıyorum - bunun önyargı getirebileceğinden eminim.
  • R'nin glmnet paketinin LASSO grubunu destekleyip desteklemediğini bilen var mı? Değilse, bunu lojistik regresyon ile birlikte yapan başka birini önerebilir mi? LASSO grubundan bahseden birkaç seçenek CRAN deposunda bulunabilir, benim durumum için en uygun olan herhangi bir öneriniz var mı? Belki SGL?

Bu, önceki bir sorumun takibi. ( Lojistik regresyon analizi yapmak için orijinal uzun listemden değişkenlerin bir alt kümesini nasıl seçerim? ).

OBS: Ben istatistikçi değilim.


(1) Emputasyona en iyi yaklaşım, eksik değerlerin oranına ve modeline, değişkenler arasındaki ilişkilere ve eksik değerlerin nedenleri hakkında ne gibi varsayımlar yaptığınıza bağlıdır. (2) LASSO'ya girdi sağlamak için herhangi bir tek impütasyon yöntemi kullanılabilir; zorluğun, tahakkümün sonuçları nasıl etkilediğini değerlendirmesidir. Birden fazla itirafı LASSO ile nasıl birleştireceğimi bilmiyorum (şüphesiz biri yapar), ancak farklı itme işlemlerinden elde edilen sonuçların gayri resmi bir karşılaştırması (genellikle aynı öngörücüler seçilir mi?) Hala bilgilendirici olabilir.
Scortchi - Monica'yı eski durumuna döndürün

@Scortchi: Eksik değerlerimin çoğu 'uygulanamaz' kategorisine giriyor. Örn: Değişken 'evdeki yetişkin kadınların yaşı', yetişkin erkeğin dul olduğu durumlar. Aslında, burada bir adım atmam gerekiyor: Sürekli değişkenlerde 0 değerlerine eksik değerler olarak mı davranmalıyım? Örneğin: 0 yıllık eğitim, 14 ile 60 yaş arası 0 hanehalkı üyesi.
Şaşkın

Bunu, hane halkı hakkında bilinen bir olgudan ziyade, eksik bir kadın hakkında bilinmeyen bir gerçek olarak ele almak istediğiniz bir durumu hayal etmek zor. Sıfırlarla ilgili soruyu anlamak zordur: örneğin, hiçbir eğitim yılının mantıksız bir değer olup olmadığını mı yoksa eksik bir değeri kodlamak için 0'ın mı kullanıldığını mı soruyorsunuz? (Ve sonra nasıl bilebilirim?) Kesinlikle 0'ı eksiklik olarak göstermek için genel bir neden yoktur .
Scortchi - Monica'yı eski durumuna döndürün

@Scortchi: Kadın yaş değişkeni hakkında ne demek istediğini anlıyorum. Ancak sorun şu hale geliyor: NA olarak olmasa bile eksik kadın davasını nasıl kodlayabilirim? Sıfırlar hakkında: evet, bu tam olarak benim sorumdu, net değilse üzgünüm. Programın sıfır değerleri işlemede bazı problemleri olabileceğini ve bununla ne demek istediğimi 'anlamadığını' düşündüm.
Şaşkın

Herhangi bir sabit değer olarak kodlayabilir ve varlık / yokluk için bir gösterge değişkeni getirebilirsiniz (& grup LASSO kullanın). LASSO'nun veya diğer herhangi bir regresyon programının, yordayıcılar için sıfır değerlerini yanlış işlemesi için bir neden yoktur. [Lütfen bunu yanlış anlamayın, ancak bunlar çok basit sorular, eğer bu eğlenceliyse daha basit problemlerle başlamak isteyebileceğinizi veya gerçekte bir istatistikçiye danışmak isteyebileceğinizi önermektedir.]
Scortchi - Monica'yı eski durumuna döndürün

Yanıtlar:


11

Sürekli bir yordayıcı 'uygulanamaz' değerler içerdiğinde, bunu iki değişken kullanarak kodlamak genellikle yararlıdır:x

x1={cwhen x is not applicablexotherwise

burada sabittir, &c

x2={1when x is not applicable0otherwise

Yanıt için doğrusal öngörücünün

η=β0+β1x1+β2x2+

hangi çözülür

η=β0+β1x1+

zaman , ya da ölçülürx

η=β0+β1c+β2+

x 'uygulanamaz' olduğunda. seçimi isteğe bağlıdır ve kesişim veya eğim tahminlerini etkilemez ; karşılaştırıldığında 'uygulanamaz' etkisini açıklar .cβ0β1β2xx=c

Yanıt, bilinmeyen bir değerine göre değiştiğinde bu uygun bir yaklaşım değildir : 'eksik' grubun değişkenliği şişer ve karıştırıcılık nedeniyle diğer öngörü katsayılarının tahminleri tahmin edilir. Eksik değerleri etkilemek daha iyidir.x

LASSO kullanımı iki sorun yaratır:

  1. Uygulanan büzülme miktarı, katsayı tahminlerinin büyüklüğüne bağlı olduğu için seçimi sonuçları etkiler.c
  2. ve seçilen modelin hem içinde hem de dışında olduğundan emin olmanız gerekir .x1x2

Eğer içeren bir grup ile yerine grubu LASSO kullanarak bu iki çözebilir ve : -norm ceza uygulanır arasında -norm orthonormalized matris . (Kategorik öngörücüler, LASSO grubu için poster çocuğudur; yalnızca 'uygulanamaz' kodunu, genelleştirilmemiş regresyonda sıklıkla olduğu gibi ayrı bir seviye olarak kodlarsınız.) Bkz. Meier ve diğerleri (2008), JRSS B, 70 , 1, " lojistik regresyon için grup kement " & grplasso .x1x2L1L2[x1 x2]


R'nin glmnet paketinin LASSO grubunu destekleyip desteklemediğini bilen var mı? Değilse, bunu lojistik regresyon ile birlikte yapan başka birini önerebilir mi? LASSO grubundan bahseden birkaç seçenek CRAN deposunda bulunabilir, benim durumum için en uygun olan herhangi bir öneriniz var mı? Belki SGL?
Şaşkın

Yani, eğer LASSO grubunu kullanırsam, sürekli öngörücülere önerdiğiniz yaklaşımı kategorik öngörücülere de kullanabileceğimi söyleyebilir misiniz?
Şaşırttı

5

Birden Çok Öngörü asla kötü bir yaklaşım değildir. Ayrıca Tam Bilgi Maksimum Olabilirliği de yapabilirsiniz. Burada ve burada iyi inceleme ve karşılaştırma .

Bu yol gidiyoruz Ama eğer kullanmayı düşünün Stan beri, tek Bayes model olarak regresyon ile eş zamanlı ML ikame yöntemleridir sığdırmak için LASSO zaten Bayes regresyon özel bir durumudur .


Çoklu çarpma yöntemini yanlış anlamıştım, şimdi durumum için geçerli olacağını görüyorum. Bunu yansıtmak için sorumu düzenledim. SPSS veya R'nin bahsettiğiniz iki seçeneği kullanıp kullanmadığını biliyor musunuz?
Şaşkın

1
Size miyardımcı olabilecek bir R paketi var.
shadowtalker

2
Stan'i R ile çalıştırabilirsiniz (bkz. RStan ).
Scortchi - Monica'yı eski durumuna döndürün

R için ek çoklu imputasyon paketleri içerir Ameliave mice.
Sycorax, Reinstate Monica'ya

0

İstatistiklerdeki CATREG komutu, eksik verileri LASSO ile işler. Vakaları listeye hariç tutabilir veya yordamı uygulayabilirsiniz. Adının kategorik değişkenler için olduğunu düşündürmesine rağmen, sürekli vakayı işlemek için ölçeği Sayısal olarak ayarlayabilirsiniz.


Bu SAS PROC CATREG, sanırım?
Ben Bolker

@JKP: Aslında bu komuta rastlamıştım. Ancak, outome değişkenimin ikili olduğunu düşünürsek, mantıksal regresyonun kategorik regresyondan (CATREG) daha uygun olacağını varsayıyorum - haklı mıyım? Ayrıca, CATREG'deki seçenekler oldukça sınırlı görünmektedir - yalnızca vakaları hariç tutmak, eksik değerleri ortalama değerlerle değiştirmek veya ekstra bir kategori oluşturmak arasında seçim yapabilirsiniz.
Şaşkı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.