Rのrpart
関数が多変量分割を実装するために必要なデータを保持することは知っていますが、実際に多変量分割を実行しているかどうかはわかりません。私はrpart
ドキュメントを見てオンラインで調べてみましたが、それを実行できる、または実行しているという情報はありません。誰もが確かに知っていますか?
Rのrpart
関数が多変量分割を実装するために必要なデータを保持することは知っていますが、実際に多変量分割を実行しているかどうかはわかりません。私はrpart
ドキュメントを見てオンラインで調べてみましたが、それを実行できる、または実行しているという情報はありません。誰もが確かに知っていますか?
回答:
Rpartは一変量分割のみを提供します。私は、あなたの質問に基づいて、単変量分割法と多変量分割法の違いに完全には精通していないと思います。私はこれを以下で説明するために最善を尽くし、さらに研究のためのいくつかの参照を提供し、これらの方法を実装するためのいくつかのRパッケージを提案しました。
Rpartは、再帰的なパーティション分割を使用するツリーベースの分類子です。分割方法では、分割が行われるデータ内のポイントを定義する必要があります。Rのrpartアルゴリズムは、RSSを最適に分割する(したがって削減する)変数とポイントを見つけることでこれを行います。分割は一度に1つの変数でのみ発生するため、これらは一変量分割です。多変量分割は通常、複数の軸に沿った同時分割(したがって多変量)として定義されます。つまり、最初のrpartノードはAge> 35に沿って分割され、2番目のノードは所得> 25,000に沿って分割され、3番目のノードは西の都市に沿って分割されます。ミシシッピ。2番目と3番目のノードは、データ全体の小さなサブセットで分割されるため、2番目のノードでは、収入基準は35歳以上の人のみのRSSを最適に分割します。このノードにない観測には適用されません。Cities基準にも同じことが適用されます。データセット内の各観測にノードが存在するまでこれを続けることができます(rpartは最小ノードサイズ基準に加えて最小バケットサイズ関数を使用し、最小二乗値はr二乗値を増加させるために増加する必要がありますフィッティングを続行します)。
患者規則誘導法(Rのプリムパッケージ)などの多変量法は、たとえば、収入が22,000より大きく、年齢が32を超えるすべての観測値、およびアトランタの西部の都市を選択することで同時に分割されます。近似が異なる場合がある理由は、近似の計算が単変量ではなく多変量であるためです。これら3つの基準の近似は、これらの基準を満たすすべての観測値に対する3つの変数の同時近似に基づいて計算されます。単変量分割(rpartと同様)。
単変量分割法と多変量分割法の有効性に関しては、さまざまな考えがあります。一般的に私が実際に見たのは、ほとんどの人が説明のために単変量分割(rpartなど)を好むということです(構造が非常に明確に定義されており、変数間のばらつきがかなり大きい問題を処理する場合にのみ使用されます)定数、これはこれらがしばしば医学で使用される理由です)。単変量ツリーモデルは通常、予測に使用される場合(つまり、ランダムフォレスト)、アンサンブル学習器と組み合わされます。多変量パーティショニングまたはクラスタリング(多変量パーティショニングと非常に密接に関連しています)を使用する人々は、単変量メソッドの適合性が非常に低い複雑な問題によく使用し、主に予測、または観測値をカテゴリにグループ化します。
Julian Farawayの著書「Rによる線形モデルの拡張」を強くお勧めします。第13章は、すべてツリー(すべて単変量)の使用に特化しています。多変量メソッドにさらに興味がある場合は、Hastie et。alは、PRIM(スタンフォードのフリードマンが彼のWebサイトに投稿されたメソッドに関する彼のオリジナルの記事を持っていますが)やクラスタリングメソッドなど、多くの多変量メソッドの優れた概要を提供しています。
これらの方法を利用するためのRパッケージに関しては、すでにrpartパッケージを使用していると思います。また、上記のprimパッケージについて述べました。さまざまな組み込みのクラスタリングルーチンがあり、ディシジョンツリーの構築プロセスで条件付き推論を実装しているため、このスレッドで別の人が言及したパーティーパッケージはとても気に入っています。optpartパッケージを使用すると、多変量パーティション分割を実行でき、mvpartパッケージ(他のユーザーも言及)を使用すると、多変量rpartツリーを実行できますが、私は、partDSAを使用することを好みます。観察結果。rpartとpartyが私のモデリング目的に適していないと感じた場合。
注:段落2のrpartツリーの例では、パーティションがノード番号でどのように機能するかを説明します。このツリーを描画すると、分割のルールがtrueの場合、パーティションは左側に進みますが、RIではルールが真の場合、分割は実際に右に進むと考えています。
用語が混乱しています。複数の変数を使用した分割、または多変量(単変量ではなく)の応答を可能にするツリーを使用するという意味ですか?後者だと思います。
F. Tusellがmvpartパッケージを紹介しました。これは、ツリー構築の各段階で可能なすべての分割について評価されるノード不純物の多変量基準を追加します。
別の方法は、多変量応答を処理できる関数を持つパーティーパッケージctree()
です。
rpart
されます。バイナリ分割は、すべての変数と各変数内のすべての可能な分割位置を検索することによって形成されます。rpart
また、変数に欠落データがある場合に使用できるサロゲート分割に関する情報も格納します。これは役に立ちますか?
rpart
その場合は処理されません。