Wie gut ist die K-fache Kreuzvalidierung für kleine Datensätze?Ich habe einen kleinen Datensatz mit 154 Molekülen (im Anhang). Ich versuche, KV40 anhand von 6 Faktoren vorherzusagen. Wenn ich mir ähnliche Studien in der Literatur ansehe, verwenden viele die Methode der Leave-One-Out-Validierung, um Modelle für solche kleineren Datensätze zu erstellen. Um dies in JMP zu reproduzieren, habe ich Folgendes getan:
Fit-Modell: Schrittweise Regression
- Antwortfläche für Faktoren verwendet
- Verwendetes k (k-fache Kreuzvalidierung) = Anzahl der Proben = 154
- Alles andere als Standard belassen
Ergebnis:
r2 = 0,84; r2 (k-fach) = 0,72
Nach Box-Cox-Transformation: r2 = 0,87 (r2_adj = 0,86)
Ich habe versucht, dies mit einer Validierungsspalte (70:30) zu tun, habe jedoch kein so gutes Ergebnis erzielt. Ich habe JMP Pro. Ich mache mir Sorgen, ob ich bei dieser Art der Kreuzvalidierung ein gefälschtes oder überangepasstes Modell erstelle? Gibt es einen besseren Weg, dies zu tun? Gibt es etwas, worauf ich achten oder testen sollte? Danke.
Betreff: Wie gut ist die K-fache Kreuzvalidierung für kleine Datensätze?Hallo @tnad Ich bin gerade auf diesen Beitrag gestoßen und hoffe, dass Ihnen eine weitere Antwort 3,5 Jahre später nichts ausmacht!
Ich denke, dass die Einstellung von K = 154 für Schrittweise in diesem Fall nicht empfohlen wird, da der Algorithmus nach der besten Faltung sucht, die in diesem Fall nur aus einer einzigen Beobachtung bestehen würde.Im Allgemeinen ist es wichtig, die schrittweise Verschachtelung innerhalb jeder Falte durchzuführen, um eine Überanpassung zu vermeiden. Dies ist in der Option „Verschachtelte K-Faltung“ im Model Screening verfügbar.Außerdem denke ich, dass 154 Beobachtungen für die k-Faltung ausreichend sind und dass die wiederholte verschachtelte k-Faltung eine großartige Möglichkeit ist, Modelle zu vergleichen.
Das Modellscreening zeigt, dass Neural Boosted für diese Daten mit Test R2 = 0,87 vs. 0,77 unter Verwendung von Log10(KV40) als Y, K = 5 und L = 4 besser funktioniert als Stepwise.Ich habe auch das neue Torch Deep Learning-Add-in ausprobiert (auf Anfrage erhältlich unter JMP Early Adopter ) und mit ein wenig Optimierung erhalte ich mit der 5-fachen Kreuzvalidierung ähnliche, wenn nicht sogar bessere Ergebnisse.
Im Allgemeinen können Neural, Torch, XGBoost und andere Plattformen in JMP für die QSAR-Vorhersagemodellierung wertvoll sein.
Betreff: Wie gut ist die K-fache Kreuzvalidierung für kleine Datensätze?Ja, K = N erzeugt eine Kreuzvalidierung, bei der eins weggelassen wird.
Betreff: Wie gut ist die K-fache Kreuzvalidierung für kleine Datensätze?Ich habe das gerade herausgefunden...
Kochen: Das Ei unter die Mischung heben
Geologie: intensive Faltung im Erdmantel
Geschäft: Der Verein brach nach einem Jahr zusammen
Sport: Der Läufer brach nach einer Meile zusammen
Karten: wissen, wann man sie falten muss
Geographie: Die Stadt liegt in einer Hügelfalte
Webdesign: Bei Text über dem Falz ist kein Scrollen erforderlich
Veränderung: eine Verzehnfachung der Unfälle
Papier: Origami-Falten zu einer Ente
Redewendung: Hände falten
Landwirtschaft: Schafe in den Stall bringen
Es muss die Farming-Version sein! Es bedeutet Stift! Die Daten werden in K Stifte/Teilmengen/Falten aufgeteilt.
Betreff: Wie gut ist die K-fache Kreuzvalidierung für kleine Datensätze?Wow! Das ist für mich ziemlich überraschend, da die Idee der K-Falten-Kreuzvlidierung auf der Aufteilung eines Datensatzes in K-Falten beruht, wobei K-1 für das Training und 1 für die Validierung gedacht ist. Allerdings bin ich vielleicht verwirrt. Aus Ihrem Beitrag geht hervor, dass diese Strategie eher dem „Auslassen“ zuzuschreiben ist, nicht wahr?Betreff: Wie gut ist die K-fache Kreuzvalidierung für kleine Datensätze?Eine ehrliche Bewertung durch Kreuzvalidierung wird üblicherweise auf eine von drei Arten implementiert: Sätze zurückhalten (trainieren, validieren, testen), k-falten oder einen weglassen. Die Verwendung von k = N (Stichprobengröße) ist eine Möglichkeit, den k-fachen CV zu verwenden, um den letzten Ansatz zu erreichen.
Betreff: Wie gut ist die K-fache Kreuzvalidierung für kleine Datensätze?Hallo! Darf ich Sie fragen, warum k = 154 für Ihre Kreuzvalidierung verwendet wurde?
Normalerweise gebe ich je nach Datensatz 5 (20 % für die Validierung) für k an, obwohl sie alle klein genug für normale Trainingsvalidierungstests waren.
Danke!
In Zukunft ist es für JMP Pro wünschenswert, eine Option zur Visualisierung der Faltenverteilung bei der Datenverarbeitung auf diese Weise zu implementieren.
Betreff: Wie gut ist die K-fache Kreuzvalidierung für kleine Datensätze?Überanpassung ist die Sorge, aber der Grund für meine Aussage basiert auf dem gesamten Schema der „ehrlichen Beurteilung“. Man verwendet einige Daten, um das Modell zu trainieren, und trennt völlig neue Daten, um das Modell zu validieren oder auszuwählen (zwei Hold-out-Sets). Dieser Ansatz ist gültig, ist jedoch immer noch auf die Daten beschränkt, die bereits durch Lernen und Auswählen erkannt wurden. Es kann nicht zur Verallgemeinerung neuer Daten sprechen. Um die Auswahl der Modelle zu testen, sind neue Daten erforderlich. Bei diesen Daten kann es sich um einen dritten Hold-out-Satz oder zukünftige Daten handeln. Das Risiko, auf zukünftige Daten zu warten, hängt von der Situation ab. Wenn also eine große Datenmenge verfügbar ist, wird der dritte Hold-out-Satz bevorzugt.
Betreff: Wie gut ist die K-fache Kreuzvalidierung für kleine Datensätze?@Mark_Bailey Als Sie erwähnten: „Sie haben die Kreuzvalidierung für die Modellauswahl verwendet.“ Sie benötigen neue Daten, um das ausgewählte Modell zu testen und festzustellen, ob sich das Training auf die größere Bevölkerung übertragen lässt.“
Liegt das daran, dass die Kreuzvalidierung dazu neigt, überzupassen?
Betreff: Wie gut ist die K-fache Kreuzvalidierung für kleine Datensätze?Eine korrekte, ehrliche Beurteilung der Modellauswahl mit Kreuzvalidierung ist immer gültig, aber die Verwendung von Hold-out-Sets zur Validierung und zum Testen ist nur dann praktisch und lohnend, wenn Sie über große Datenmengen verfügen. (Auch bei großen Datenmengen besteht das Problem seltener Ziele setzt.) Aus diesem Grund wurde die K-fache Kreuzvalidierung erfunden. „Leave-one-out“ treibt K-Folds nur auf die Spitze. Ich würde nicht erwarten, dass der Ansatz mit 70:30 Hold-Out bei dieser kleinen Stichprobengröße gut funktioniert.
Sie haben für die Modellauswahl eine Kreuzvalidierung verwendet. Sie benötigen neue Daten, um das ausgewählte Modell zu testen und festzustellen, ob sich das Training auf die größere Bevölkerung übertragen lässt.