Hem sürekli hem de kategorik özelliklerle öngörüde bulunmak


26

Bazı prediktif modelleme teknikleri, sürekli prediktörlerin kullanımı için daha fazla tasarlanmıştır, diğerleri ise kategorik veya ayrık değişkenlerin ele alınması için daha iyidir. Elbette bir tipi diğerine dönüştürme teknikleri var (ayrıklaştırma, yapay değişkenler, vs.). Ancak, her iki giriş türünü aynı anda, özelliklerin türünü değiştirmeden aynı anda ele almak üzere tasarlanmış öngörücü modelleme teknikleri var mı? Öyleyse, bu modelleme teknikleri, daha doğal uygun oldukları veriler üzerinde daha iyi çalışma eğiliminde midir?

Bildiğim kadarıyla yakın şey genellikle karar ağaçları de ayrı verileri işlemek ve bir gerektirmeden sürekli veri işlemek olacaktır ön kadar ayrıştırmayı. Bununla birlikte, aradığım şey tam olarak bu değildi, çünkü sürekli özelliklere uygulanan ayrılıklar sadece dinamik bir ayrıklaştırma biçimi.

Başvuru için, işte bazı, yinelenmeyen sorular:


1
Ne yapmak istediğin hakkında daha fazla şey söyleyebilir misin? Elbette, öngörücü bir model oluşturmak için hem sürekli hem de kategorik değişkenler ile çoklu regresyon kullanabilirsiniz. Bu oldukça basit. Bunun yerine çoklu cevap değişkenlerini öngörmeyi mi kastediyorsunuz (bazıları cont ve bazıları cat, örneğin)?
gung - Reinstate Monica

@gung nasıl kategorik eşdeğişkenler içeren çoklu regresyon do olmadan bazı anlamda sayılar içine kategorik değişken dönüştürülüyor?
Michael McGowan

1
'Rakamlar' hiçbir şey ifade etmiyor - gerçekten sayısal değiller . Nasıl bir kodlama şeması kullanıyorsunuz; Referans hücre kodlaması (genellikle 'sahte kodlama' olarak adlandırılır) en yaygın olanıdır, ancak birçok şema vardır. Bu , olası şema çeşitliliği hakkında bilgi edinmek için iyi bir kaynaktır. Örneğin, R'de, aslında, bir vektör veya karakter verisi (yani isimler) eklerseniz, sizin için her şeyi halledecektir, ancak bunu yapmak zorunda değilsiniz.
gung - Reinstate Monica

2
Korkarım, hala sorunun arkasındaki itici gücü takip etmiyorum (biraz yavaşım). Kategorik değişkenler “dönüştürülmüş” veya “sayısal değişkenlere dönüştürülmüş” değildir; 1 ile temsil edilirler, ancak bu 1 gerçekten sayısal değildir. Niteliksel tahmin ediciler, çoklu regresyonda karar ağaçlarındakinden (örneğin, CART) olduğundan daha sayısal değildir. Teorik açıdan bakıldığında, orada hiçbir şey yok; pratik bir bakış açısıyla, birkaç kod satırı kaydetmeye çalışıyorsanız, örneğin, yazılım (R, örneğin) bunu sizin için sık sık yapar.
gung - Reinstate Monica

1
Yeterince adil, orada ne düşündüğünüzü açıklayabilir misiniz (teorik açıdan)? Sahte kodlama, kategorik bir değişkeni anlamlı bir şekilde sayısal olana nasıl dönüştürür ? CART'ın değişkenin 'kategorikliğini' korumasını sağladığı şey nedir, ama bu sahte kodlamanın yapması nasıl? Bu soruların cevaplarının yukarıdaki sorunuzdan ne olabileceğini çözmekte kayboldum ve önceki yayınınızı göremiyorum.
gung - Reinstate Monica

Yanıtlar:


6

Bildiğim kadarıyla, bu konuyu geçmişte derinlemesine araştırdım, aynı anda her iki girişi de aynı anda kolayca dönüştürmeden işlemek için tasarlanmış hiçbir öngörücü modelleme tekniği (ağaçların yanında, XgBoost, vb.) Yoktur. özelliklerin türü.

Rastgele Orman ve XGBoost gibi algoritmaların karışık özelliklerin bir girişini kabul ettiğini, ancak bir düğümün bölünmesi sırasında bunları işlemek için bazı mantıklar uyguladığını unutmayın. "Kaputun altında" mantığını anladığınızdan ve kara kutuda neler olup bittiğiyle ilgili sorun yaşamadığınızdan emin olun.

u1u2fbend(u1,u2)fben=(dbens-cbirtegOrbencbirl(u1,u2)fbenfbend(u1,u2)fben=dbens-numerbenc(u1,u2)fbenfbenfbenu1u2

Kategorik özellikler için bilinen bazı mesafe fonksiyonları:

  • Levenshtien mesafe (veya "düzenleme mesafesi" herhangi bir şekilde)

  • En uzun ortak alt ölçüt

  • Gower mesafesi
  • Ve burada daha fazla ölçüm

5

Bu sorunun yayınlanmasından bu yana bir süre geçtiğini biliyorum, ancak hala bu soruna (veya benzer sorunlara) bakıyorsanız, genelleştirilmiş katkı modelleri (GAM'ler) kullanmayı düşünebilirsiniz. Uzman değilim, ancak bu modeller tek bir tahmin oluşturmak için farklı modelleri birleştirmenize izin veriyor. İçine koyduğunuz modeller için katsayıları bulmak için kullanılan işlem, hepsi için aynı anda çözülür, böylece kategorik tahminler için favori modelinizi ve sürekli tahminler için favori modelinizi gönderebilir ve RSS'yi en aza indiren tek bir model elde edebilirsiniz. kullanmak istediğiniz diğer herhangi bir hata kriteri.

Kafamın en üstünde, bildiğim tek yazılım paketi GAM’lerin uygulanmasına sahipti, R dili, ama başkaları da olduğundan eminim.


SAS, Proc Gam adı verilen bir prosedür uyguladı
Alph

1
Çoğu büyük istatistiksel paketler (örneğin, Stata) muhtemelen GAM'leri uygulayabilir. Ancak, noktadan daha önemlisi, GAM'ler, kategorik değişkenleri yordayıcılar olarak göstermek için yapay kodları kullanacaktır. OP'nin kategorik prediktörleri kategorik olarak kullanan bir model aramaya ne istediği açık değil, ancak bunları sahte kodlarla temsil etmek istemiyor, ancak bu olması muhtemel değil.
dediklerinin - Eski Monica

CV'ye hoş geldiniz. Kullanıcı adınızın, kimliğinizin ve kullanıcı sayfanıza bir bağlantının, yaptığınız her yayına otomatik olarak eklendiğini, bu nedenle yayınlarınızı imzalamanıza gerek olmadığını unutmayın. Aslında, biz istemiyoruz.
dediklerinin - Eski Monica

4

Ayrıklaştırma sürekli veriyi ayrık veriye dönüştürürken, sahte değişkenlerin kategorik verileri sürekli veriye dönüştürdüğü söylenemez. Gerçekten de, algoritmalar bilgisayarlarda çalıştırılabildiğinden, kategorik verileri kukla değişkenlere dönüştürmeyen bir sınıflandırıcı algoritma olabilir.

Aynı anlamda, bir sınıflandırıcı sonuç olarak tahmin edicileri, ait olan bir sınıf belirten değişken değişkene dönüştürür (bir sınıf olasılığı çıkarsa bile, sonuçta bir kesme seçersiniz). Gerçekten de lojistik regresyon, rastgele orman, karar ağaçları ve SVM gibi birçok sınıflandırıcı her iki tür veriyle de iyi çalışır.

Sürekli verilerle çalışan, ancak kategorik verileri hiç kullanamayan bir algoritma bulmanın zor olacağını düşünüyorum. Genellikle modelinizin sol tarafında ne tür verilere sahip olduğunuz üzerinde daha fazla fark yaratma eğilimindedir.


2
Hayır, demek istediğim, lojistik regresyon ve diğerlerinin her iki tür veriyle de tanımladığım anlamda “işe yaramadığı”. En azından bir anlamda, tüm tahmincileri sayı olarak kabul etmenizi ya da hiçbirini sayı olarak kabul etmenizi gerektirmezler. Örneğin, “cinsiyet” gibi bir şeyi “erkek” için 1, “kadın” için 0 olarak kodlayarak lojistik regresyonda çok iyi sonuçlar alabileceğini biliyorum. Ancak, bu tür bir işlemden bilinen herhangi bir modelleme paradigması ile önlenip engellenemeyeceğini merak ediyorum.
Michael McGowan

1

Bu, genel olarak istatistiksel ve makina öğreniminin sona ermesiyle ele alınan derin bir felsefi sorudur. Bazıları, kategorize etmenin kategorik göstergeye ayrık olması için daha iyi olduğunu, böylece paketlerin model girişlerini kolayca sindirebileceğini söylüyor. Diğerleri, bu işaretlemenin bilgi kaybına neden olabileceğini söylüyor, ancak kategorik değişkenler model artıkları için son sınıftan çıkarak {1,0} gösterge değişkenlerine dönüştürülebilir / dönüştürülebilir.

Uygulamalı doğrusal regresyon (Kutner ve ark.) Kitabı , ilk birkaç bölümde modele gösterge değişkenleri getirme mantığından bahseder. Başka benzer metinler de olabilir.

Bunu üstlenmem belki biraz fazla zorlanabilir: Deneysel bir tasarımdaki bloklar gibi kategorik değişkenleri hayal edersek, gösterge değişkeni, deneysel olmayan veri analizinin doğal bir uzantısıdır. Veri madenciliği algoritmaları (karar ağacı aileleri) ile ilgili olarak, kategorize edilmesi gereken kategorizasyon kaçınılmazdır (manuel veya otomatik bindirme).

Bu nedenle, kategorik değişkenler için sayısal ve aynı zamanda kategorik değişkenler için uzmanlaşmış bir model olmayabilir (bining-numical ya da göstergeler-kategorik kullanmadan).

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.