Makine öğrenimi algoritmaları için tahmin aralıkları


14

Aşağıda açıklanan sürecin geçerli / kabul edilebilir olup olmadığını ve herhangi bir gerekçe olup olmadığını bilmek istiyorum.

Fikir: Denetimli öğrenme algoritmaları verilerle ilgili temel yapıları / dağılımları varsaymaz. Günün sonunda puan tahminleri çıkarırlar. Bir şekilde tahminlerin belirsizliğini ölçmeyi umuyorum. Şimdi, ML modeli oluşturma süreci doğası gereği rastgele (örneğin hiperparametre ayarı için çapraz doğrulama için örneklemede ve stokastik GBM'de alt örneklemede), bu nedenle bir modelleme hattı bana her bir farklı tohumla aynı öngörücüler için farklı bir çıktı verecektir. Benim (saf) fikrim, tahminin bir dağılımını ortaya çıkarmak için bu süreci tekrar tekrar yürütmek ve umarım tahminlerin belirsizliği hakkında açıklamalar yapabilirim.

Önemliyse, birlikte çalıştığım veri kümeleri genellikle çok küçüktür (~ 200 satır.)

Bu mantıklı mı?

Açıklığa kavuşturmak için, aslında verileri geleneksel anlamda önyüklemiyorum (yani verileri yeniden örneklemiyorum). Aynı veri kümesi her yinelemede kullanılır, ben sadece xval ve stokastik GBM'deki rasgeleliğin sömürülmesini sağlıyorum.


2
Aslında bir tahmin aralığı (bir güven aralığı yerine) istiyorsanız, sadece model tahminlerindeki varyasyonu değil, model hakkındaki gözlemlerdeki değişimi de
hesaba katmanız gerekir

@ Glen_b OP'de ana hatları çizilen yaklaşım veya güçlendirilmiş bir sürüm bana güven aralıkları verir mi? Bir dahaki sefere soruyu yeniden ifade etmek için veri için temel bir dağıtım belirtmeden bir tahmin aralığı mümkün olmadığını düşünmeye başladım.
kevinykuo

Tahmin aralıklarını önyükleme yapabilirsiniz ... sadece Q'da tarif ettiğiniz şeyi yapamazsınız.
Glen_b -Restate Monica

@Glen_b bir cevapta nasıl yapılacağını açıklayabilir misiniz?
kevinykuo

1
Burada yeterli bir cevap veremedim. Ancak, çoklu regresyon ve GLM'ler hakkındaki bölümlerde, ihtiyaç duyulabilecek bir şey hissi veren Davison ve Hinkley'e (1997) bakınız. Örneğin çoklu regresyon durumunda, artıklar tahmin belirleyiciliğinin (parametre belirsizliğine bağlı tahminlerde değişiklik) bootstrap kestirimi elde etmek için yeniden örneklenir ve süreç varyasyonuyla başa çıkmak için yeniden örneklenir. Uygun bir şema ile, belki de ilk adımda model spesifikasyonu belirsizliği ile başa çıkabilirsiniz, ancak süreç değişkenliği için 2. adımı
atlayamazsınız

Yanıtlar:


5

Benim için tahminlerdeki belirsizlikleri ölçmek iyi bir yaklaşım gibi görünüyor. Her önyükleme yeniden örnekleminde tüm modelleme adımlarını (parametre ayarı olabilecek bir GBM için) sıfırdan tekrarladığınızdan emin olun. Ayrıca, sıralamalardaki belirsizliği ölçmek için önem derecelerini önyüklemek de faydalı olabilir.

Bazen aralıkların, özellikle bir olasılık tahmin edilirken, gerçek tahmini içermediğini tespit ettim. Her terminal düğümündeki minimum gözlem sayısını artırmak, genellikle en azından birlikte çalıştığım verilerde bunu çözer.

Konformal tahmin , yeni veriler üzerindeki tahminlere olan güveni ölçmek için yararlı bir yaklaşım gibi görünüyor. Şimdiye kadar sadece yüzeyi çizdim ve diğerleri muhtemelen bu konuda bir fikir vermek için daha uygun.

Bu yazının cevabında GBM tahmin aralığı bulma konusunda bazı kaba R-kodu var .

Bu yardımcı olur umarım!


2

Tahmin konusundaki belirsizliğinizi 'yanlılık' ve 'varyans' terimlerine bölebilirsiniz. Önyargı terimi, modelin yanlış tanımlanmasını ifade eder: doğrusal olmayan fonksiyon için doğrusal model takarsanız, her zaman bir hata alırsınız. 'Varyans' terimi, model parametreleri tahminindeki hatayı ifade eder. Önyargıyı tahmin edemezken, belirsizliğin bir kısmını hesaba katıyorsunuz.

@ErikL tarafından önerildiği gibi konformal tahmin, bootstrap için oldukça benzer bir fikri benimseyen teorik olarak haklı bir yaklaşımdır. Modelin yeni bir nokta kullanılarak yeniden yapılandırılması kullanılarak konformal tahmin, hem önyargı hem de varyansı dikkate alırken, regresyon için önemli hesaplama kaynaklarına ihtiyaç duyarlar. Uyumsuz bir kütüphane kullanarak Python ile deneyebilirsiniz .


1

Hayır, kötü bir fikir gibi görünüyor. İlk olarak, Alexey'in belirttiği gibi, önyargı ve varyans var. En iyi parametre seçimi için bile varyanstan kaçınamazsınız. Metodunuz bunu ele almaya bile çalışmaz. Modelinizdeki hatanın bir kısmının ve muhtemelen çoğunun, modelin doğal rasgeleliğinden ziyade verilerde olduğu çok önemli bir sorun daha var. (Düz doğrusal regresyon gibi bazı modellerin hiç rastgele olmadığını ve rastgele modeller için rastgele derecenin modele göre değiştiğini belirtmiyoruz)

Bazı basit simüle edilmiş veriler ve tanıdığınız bazı model üzerinde yaklaşımınızı test etmenizi öneririm. Açıkladığım nedenlerden dolayı, tahmini hatanızın gerçek hatadan çok daha küçük olacağından eminim (veya dağıtımınız çok daha dar olacaktır).

Hata dağılımını tahmin etmek için iyi bir eski çapraz doğrulama kullanabilirsiniz.


0

Şimdi bu sorunu düşünüyorum. İşte bulgularım:

(1) Delta Yöntemi
(2) Bootstrap Yeniden Örnekleme
(3) Bayes yöntemi
(4) Ortalama-Varyans Tahmini (MVE)

Fikir, tahmin değişkenliğinin iki kaynağını, model parametre tahmindeki belirsizliği ve indirgenemez hatayı tahmin etmeye çalışıyor.

İşte birkaç referans:

Model çıktısı için tahmin aralığının tahmini için Machine Learning yaklaşımları, Durga L. Shrestha, Dimitri P. Solomatine, 2006
Sinir ağı modelleri için bazı hata tahminlerinin karşılaştırılması, Robert Tibshirani, 1995
Sinir Ağına Dayalı Tahmin Aralıkları ve Yeni Kapsamlı İnceleme Gelişmeler, Abbas khosravi, Doug Creighton, 2011

Umarım bu bana yardımcı olur ve yukarıdakilerden herhangi birini düzeltmek uygun değildir. Başkalarından daha çok şey duymak isterim.


1
Bu yayının asıl soruyu nasıl ele aldığını açıklayabilir misiniz?
whuber

Başlık 'ML algoritmaları için PI', @kevinykuo 'bootstraping' yolunun çalışıp çalışmadığını soruyor. Sinir Ağı için PI'de kullanılan bazı yöntemlere ilişkin birkaç referansa işaret ediyorum.
Demo
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.