R / düzeltme: tren ve test setleri ile çapraz validasyon mu?


9

Bu belki de aptalca bir soru olabilir, ancak caret ile bir model oluştururken LOOCVveya veya (hatta daha da fazlası) gibi bir şey kullanırken LGOCV, aslında çapraz doğrulama adımının bu olması durumunda verileri tren ve test setlerine bölmenin yararı nedir? neyse?

İlgili soruların bazılarını okudum ve çapraz onaylama yöntemlerinden bazılarının (örneğin burada caret sitesinde anlatılanlar ) özellik seçimi amacıyla olduğunu ileri sürdüler . Ama benim durumumda, tahmincileri temizlemeye çalışan grupta yer almayan randomForest( method = "rf") ve kernlab( method = svmRadial) yöntemlerini kullanıyorum .

Yani sorum şu: cross_val <- trainControl(method = "LGOCV", p = 0.8)Verilerimin% 80'inde eğitim yapmak, elde edilen modeli kalan% 20'de test etmek ve bunu tekrar tekrar yapmakla aynı şey değil mi? model çalışıyor?

Öyleyse, verilerimi tren / test setlerine ayırmaya gerek var mı?

PS Kısmen ampirik olarak oluşturulan DOE prototipleri üzerinde modeller yürüttüğümü soruyorum (girişleri değiştirdiğimiz sert malları düşünün ve sonra prototip ile ilgili çeşitli özellikleri ölçmek için test yöntemlerini kullanın).

Bu nedenle, modellemek için çok sayıda örtüşen öngörücü seviyeye sahip büyük bir veri setim yok - bu durumda veri üretimi pahalı olduğu için genellikle her DOE ilgi noktasında bir deneme çalıştırıyoruz. Bu nedenle, doğru bir model için elimden gelen tüm verileri kullanmak istiyorum, ancak burada bariz bir şeyi kaçırmadığımı ve şeyleri bölmeyerek kötü bir model yapmadığımı kontrol etmek istedim.


Düzenleme: @ topepo'nun sorusuna yanıt olarak, formülün kimyasal girdilerini ayarlamaya dayalı olarak bir bileşiğin fiziksel olarak ölçülen niteliklerini modelliyorum. Gerçek uygulamamı tartışamıyorum, ama iç lateks boya formüle etmeye dayalı bir örnek oluşturacağım. Ben 4-5 kimyasalları karıştırdığımız, belki de% katı ile oynadığımız ve polimerizasyon derecesini ayarlamak için polimer çözeltisini ısıtmak için bir süre tasarladığımız deneyler yapıyorum.

Daha sonra reoloji, moleküler ağırlık, boya kaplamasının sertliği, su direnci vb.

Birkaç değişkenin iyi kopyaları var, ancak her DOE seviyesinin tamamen aynı olduğu anlamında çok az gerçek kopya var. Toplam veri seti ~ 80 gözlemdir ve belki 4-5 tam tekrardır. 15 farklı test yaptık ve belki de her gözlem için 5-6 tanesi yapıldı. Yanıtların bazıları verilerin% 25-50'sinde mevcuttur.

Buradan, 7 öngörücümüzün çıktı özellikleri üzerindeki etkilerini modellemek ve daha sonra istenen özellikleri vermesi muhtemel yeni tasarım alanlarını hedeflemek için optimize etmek istiyoruz.

(Bu yüzden BURAYA sorum . Eğitimli bir modelim olduğunda, bir sonraki denemek için olası giriş seviyelerinde en iyi tahminin elde edilmesi için "geri" yapmak ve istenen yanıtları beslemek güzel olurdu).


Doğrulama seti ve test seti iki farklı şeydir! Bkz stats.stackexchange.com/questions/19048/... ve en.wikipedia.org/wiki/Test_set
sashkello

@sashkello Bunun için teşekkürler. Bu muhtemelen bir kopya olarak kapatılabilir ve bir şekilde bu soruyu tamamen kaçırdım. Eksik bir bit olabilir: Eğer antrenman data_set1yaparsam, LGOCVçapraz doğrulamanın gerçekleştirdiği adımı ne düşünürüm? caretOkuduğumdan 1) ayar parametreleri üzerinden yineliyor data_set1ve sonra 2) bu parametreleri sabit tutar ve 3) her bir p = 0.8örnek için # 1 parametrelerini kullanarak bir "alt model" oluşturur data_set1ve doğruluğu ölçmek için kalan 0.2'deki testleri test eder . Bu makul bir özet mi?
Hendy

Bir diğer eksik bit: test için bir set bırakmak, model doğruluğuna hiç yardımcı oluyor mu? Gelecekteki testler için tarafsız bir set veriyor gibi görünüyor. Veriler sınırlıysa ve çok fazla çakışan tasarım noktası yoksa, tam setle eğitimden daha iyi değil miyim ve bir doğruluk tahmini için çapraz doğrulamaya güveniyor muyum?
Hendy

Daha iyi arama stratejisi ile, bu anot yararlı olanıdır: stats.stackexchange.com/questions/9357/… . Özellikle bu "Buradaki sınırlayıcı faktörlerden birinin ne kadar veriye sahip olduğumuzu düşünürüm. Çoğu zaman, verileri sabit bölümlere, hatta CV'ye ayırmak bile istemiyoruz." Sanırım bu soruya (muhtemelen verilerimin sınırlı doğasına özgüdür (sadece 80 gözlem). Bu durumlarda
bölünmemesi

Yanıtlar:


7

Genel düşüncelerim:

Bu nedenle, farklı modelleri değerlendirirken, iyi bir model olduğunu düşündüğünüzü bulana kadar bunları ayarlamak, farklı ön işleme vb. Türlerini denemek isteyebilirsiniz. Yeniden örnekleme, bu işlem sırasında sizi doğru yönde yönlendirmenize yardımcı olabilir.

Bununla birlikte, hala aşırı uydurma şansı vardır ve bu gerçekleşme olasılığı, ne kadar veriye (ve tahminciye) sahip olduğunuzdan büyük ölçüde etkilenir. Biraz veriye sahipseniz, bunu düşünmenin birkaç yolu vardır:

  • Her veri noktası modelin ne kadar iyi olduğuna önemli ölçüde katkıda bulunduğundan, eğitim için tüm verileri kullanın.
  • Aşırı montajdan kaynaklanan brüt hatalar için küçük bir test setini son kontrol olarak ayırın. Küçük bir numune boyutuyla fazla takılma şansı az değildir ve numune sayısı ile daha da artar.

İkinci kampa düşüyorum ama ilki yanlış değil.

Bir ton veriniz varsa, o kadar da önemli değildir (küçük bir etkinlik oranına sahip değilseniz).

Senin için:

Bir DOE'niz var. Tasarım türü soruyu cevaplamaya yardımcı olacaktır. Tasarım noktaları arasında enterpolasyon yapmaya veya şu ana kadar test edilmemiş tasarım noktalarını tahmin etmeye mi çalışıyorsunuz?

Bir çoğaltmanız var. Rastgele orman bir balyozla çiviye çarpıyormuş gibi düştüm ve aşırı oturmaya neden olabilir. Bir SVM veya (gasp) sinir ağı gibi daha pürüzsüz bir şey denemek istiyorum.

maksimum


Yukarıda sizin için bir güncelleme ekledim. Oldukça güzel eğriler yaşadım (sanırım bu öznel) method = "svmRadial". method = neuralnetGeçmiş denemelerde sinir ağını `set.seed () 'e karşı çok hassas bulduğum halde , bazılarını değerlendirmeyi umuyorum . Kısacası, 1) girişler / çoklu cevaplar arasındaki ilişkiyi daha iyi anlamaya çalışıyoruz ve 2) yeni, daha odaklanmış DOE'leri ve daha tipik olanları çalıştırabilmemiz için istenen özellikleri elde etmek için en olası tasarım alanında en iyi tahminleri yapmaya çalışıyoruz giriş min / maks seviyeleri açısından geniş / av tüfeği yaklaşımını denemek.
Hendy
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.