交差検証でまれなレベルの要因に対処する方法は?


9

Rの回帰分析で、列車データセットに3つのレベルの因子型独立変数があるとします。ただし、テストデータセットでは、同じ因子変数に5つのレベルがあります。したがって、テストデータセットの応答値を予測できません。この場合、何をすべきですか?


1
これは、主にRの使用方法に関するものではありません。Rの使用方法に関するものだけの場合は、ここではトピックから外れます。ただし、ここには統計的な質問があります。
ガン-モニカの回復

1
サンプルデータを追加していただけますか?この方法で対処する方が簡単です。
Andrew Owens、

回答:


8

非常に最初の考えとして、これは少なくともトレーニングセットがアプリケーションデータを代表していないことを意味します。テストセットが代表的なものであるかどうかは、IMHOが非常に慎重に検討すべき問題です。このコンテキストでは、これらの欠落したクラスが特定のトレーニングセットの小さすぎる問題であるかどうか、またはこれが問題/タスク/アプリケーションの一般的な特性であるかどうかを見つけることも重要です。つまり、これまでに出会ったことのない新しいクラスが常に表示されるかどうかです。

原則として、この状況に対処するには2つの可能性があります。

  • トレーニングセットは代表的なものではなく、特に不足しているクラスのデータなど、より多くのデータを要求するとします。これは、問題がアプリケーションの一般的な特性ではなく、特定のトレーニングセットにあるという結論に達した場合に意味があります。

  • いずれにせよ、トレーニングデータがクラスを欠いていることを知っているので、1クラスの分類子を使用することを検討します。つまり、他の可能なクラスとは無関係に各クラスを処理する分類子です。理想的には、1クラス分類子は、トレーニングに利用できなかったクラスのテストケースに対して「不明なクラス」を返す必要があります。1クラス分類子の場合、本当に未知のクラスに属するケースのこの「拒否」をテストすることは、実際には意味があります。


編集wrt @gungのコメント:うまくいけば、何らかの理由で train / test分割が修正されたと思います。


データを各レベルで分割し、それらをフォールドに結合することは理にかなっていますか?たとえば、X1には2レベルがあり、データは90と10です。10を10個のシングルトンに、90個を9個の10個のセットに分割し、それぞれから1つのセットを組み合わせて、CVの10個のフォールドをそれぞれ形成します。これは私がQを読んだときに頭に浮かんだことですが、あなたがそれを示唆しているようには見えません。これは有効な解決策ですか?(必要に応じて、新しいQとして質問することもできます。)
ガン-モニカを回復する

@gung:論理的には別の質問だと思います、はい。また、トレーニングセットがすべてのクラスをカバーしていないことと、特定の小さなデータセットのすべてのクラスがトレーニングとテストの分割(=層別化)で確実に表示されることの間には、大きな違いがあることもわかりました。
cbeleitesはSXに満足していない2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.