小さなデータセットに対する K 分割相互検証はどの程度優れていますか?154 個の分子を含む小さなデータセットがあります (添付)。 6 つの要素を使用して KV40 を予測しようとしています。 文献内の同様の研究を見ると、多くは、このような小さなデータセットのモデルを構築するために、leave-one-out 検証法を使用しているため、これを JMP で再現するために、次のことを行いました。
適合モデル: 段階的回帰
- 因子に使用される応答曲面
- 使用 k (k 分割交差検証) = サンプル数 = 154
- その他はすべてデフォルトのままにします
結果:
r2 = 0.84; r2 (k 倍) = 0.72
box-cox 変換後: r2 = 0.87 (r2_adj = 0.86)
検証列 (70:30) を使用してこれを実行しようとしましたが、これほど良好な結果は得られませんでした。 JMPプロを持っています。 私が懸念しているのは、この種の相互検証を行うときに偽のモデルまたは過剰適合モデルを作成しているのではないかということです。 これを行うより良い方法はありますか? 注意すべきことやテストすべきことはありますか? ありがとう。
Re: 小さなデータセットに対する K 分割相互検証はどの程度優れていますか?こんにちは@tnadたった今この投稿を見つけました。3 年半後に追加の返信があっても構わないことを願っています。
この場合、Stepwise に K = 154 を設定することはお勧めできません。これは、アルゴリズムが最適なフォールドを検索するためです。この場合、それは 1 つの観測値のみで構成されます。一般に、過学習を避けるために各折り目内で段階的にネストして実行することが重要です。これはモデル スクリーニングの Nested K-Fold オプションで利用できます。また、k 分割には 154 の観測値で十分であり、ネストされた k 分割を繰り返すことはモデルを比較する優れた方法であると思います。
モデル スクリーニングでは、Y、K = 5、L= 4 として Log10(KV40) を使用したテスト R2 = 0.87 対 0.77 で、これらのデータに対して Neural Boosted が Stepwise よりもうまく機能することが明らかになりました。新しいTorch Deep Learningアドインも試してみました(リクエストに応じて次から入手可能です) JMP アーリーアダプター)そして少し調整すると、5 分割相互検証でより良いとは言わないまでも、同様の結果が得られます。
一般に、JMP の Neural、Torch、XGBoost、およびその他のプラットフォームは、QSAR 予測モデリングに役立ちます。
Re: 小さなデータセットに対する K 分割相互検証はどの程度優れていますか?はい、K = N は「1 つ除外」相互検証を生成します。
Re: 小さなデータセットに対する K 分割相互検証はどの程度優れていますか?私はちょうどこれを理解しました...
調理:卵を混合物に混ぜます
地質学: 地球のマントルの激しい褶曲
ビジネス: クラブは 1 年後に解散した
スポーツ: ランナーは 1 マイルでフォールドした
カード: いつ折り畳むべきかを知る
地理: 町は丘の襞の中にあります
Web デザイン: スクロールせずに見える範囲のテキストを表示する必要がない
変化:事故は10倍に増加
紙: 折り紙を折ってアヒルを作ります
慣用句:手を組む
牧場:羊を囲いの中に入れる
それは農耕バージョンでなければなりません! ペンという意味です! データは K 個のペン/サブセット/フォールドに分割されます。
Re: 小さなデータセットに対する K 分割相互検証はどの程度優れていますか?おお! K 分割クロスブリデーションのアイデアは、データセットを K 分割に分割することに基づいており、K-1 はトレーニング用、1 は検証用であるため、これは私にとって非常に驚きです。 混乱するかも知れませんが。 あなたの投稿を見ると、この戦略は「放置する」ことに起因しているようですね。Re: 小さなデータセットに対する K 分割相互検証はどの程度優れていますか?相互検証による正直な評価は、通常、ホールドアウト セット (トレーニング、検証、テスト)、k 分割、または 1 つ除外の 3 つの方法のいずれかで実装されます。 k = N (サンプル サイズ) を使用することは、k 倍 CV を使用して最後のアプローチを達成する方法です。
Re: 小さなデータセットに対する K 分割相互検証はどの程度優れていますか?こんにちは! 交差検証に k = 154 を使用した理由をお聞きしてもよろしいでしょうか?
通常、データセットに応じて k に 5 (検証用の 20%) を設定しますが、それらはすべて通常のトレーニング、検証、テストには十分な小ささでした。
ありがとう!
将来的には、この方法でデータを処理する際に、JMP Pro がフォールドの分布を視覚化するオプションを実装することが望ましいです。
Re: 小さなデータセットに対する K 分割相互検証はどの程度優れていますか?過剰適合が懸念されていますが、私の発言の理由は「正直な評価」というスキーム全体に基づいています。 一部のデータを使用してモデルをトレーニングし、完全に新しいデータを分離してモデルを検証または選択します (2 つのホールドアウト セット)。 このアプローチは有効ですが、学習と選択によってすでに確認されたデータに限定されます。 新しいデータの一般化について語ることはできません。 モデルの選択をテストするには、新しいデータが必要です。 このデータは、3 番目のホールドアウト セットまたは将来のデータである可能性があります。 将来のデータを待つリスクは状況によって異なるため、大量のデータが利用可能な場合は 3 番目のホールドアウト セットが優先されます。
Re: 小さなデータセットに対する K 分割相互検証はどの程度優れていますか?@Mark_Baileyあなたが言及したとき、「モデルの選択に相互検証を使用しました。 選択したモデルをテストして、トレーニングがより大きな母集団に一般化するかどうかを確認するには、新しいデータが必要になります。」
これは相互検証が過剰適合する傾向があるためでしょうか?
Re: 小さなデータセットに対する K 分割相互検証はどの程度優れていますか?そうですね、相互検証を使用したモデル選択に対する正直な評価は常に有効ですが、検証とテストにホールドアウト セットを使用するのは、大規模なデータ セットがある場合にのみ実用的で有益です。(大規模なデータであってもターゲットがまれであるという問題もあります)これが、K 分割相互検証が発明された理由です。 Leave-one-out は、K フォールドを極端に行うだけです。 この小さなサンプルサイズでは、70:30 ホールドアウトのアプローチがうまく機能するとは思いません。
モデルの選択に相互検証を使用しました。 選択したモデルをテストして、トレーニングがより大きな母集団に一般化されるかどうかを確認するには、新しいデータが必要です。