★ Rのrpartについて質問です。 ★

 262 Rのrpartについて質問です。  makky  2002/01/16 (水) 16:26
  269 Re: Rのrpartについて質問です。  sb812109  2002/01/16 (水) 23:50
   270 Re^2: Rのrpartについて質問です。  竹澤邦夫  2002/01/17 (木) 09:51
    271 Re^3: Rのrpartについて質問です(さっきの続き)。  竹澤邦夫  2002/01/17 (木) 09:54
     279 Re^4: Rのrpartについて質問です(さっきの続き)。  sb812109  2002/01/17 (木) 23:59
      295 Re^5: Rのrpartについて質問です(さっきの続き)。  竹澤邦夫  2002/01/18 (金) 16:50
       306 Re^6: Rのrpartについて質問です(さっきの続き)。  sb812109  2002/01/19 (土) 00:29
        310 Re^7: Rのrpartについて質問です(さっきの続き)。  竹澤邦夫  2002/01/19 (土) 16:20
         323 Re^8: Rのrpartについて質問です(さっきの続き)。  sb812109  2002/01/21 (月) 22:00
     272 Re^4: Rのrpartについて質問です。  makky  2002/01/17 (木) 14:44
      273 Re^5: Rのrpartについて質問です。  竹澤邦夫  2002/01/17 (木) 15:49
       275 Re^6: Rのrpartについて質問です。  makky  2002/01/17 (木) 17:39


262. Rのrpartについて質問です。  makky  2002/01/16 (水) 16:26
Rにて決定木を作成しましたが出力結果がどれが何を表しているかがわかりませんでした。
printcp()を使うと「rel error, xerror, xstd」などが出力されますが
これらは単にエラー率を表したものだけではないのでしょうか?
わかる方がいらしたら教えていただきたいです。
よろしくお願いします。

     [このページのトップへ]


269. Re: Rのrpartについて質問です。  sb812109  2002/01/16 (水) 23:50
Modern Applied Statistics with S-PLUS (3rd edition, B.D. Ripley)
邦訳「S-PLUSによる統計解析」 ISBN4-431-70821-9 C3041
第10章 Tree-based Methods 10.2 implementation in rpartに紹介が
あります。rel error, xerror, sstd に関して直截の説明はありませんが
読む人が読めば何らかの示唆を得られると思います。

私自身,読んでもよく判らないので原著にあたらねば,と思いつつ現在に
到っております。理解できたら是非,教えて下さい。

     [このページのトップへ]


270. Re^2: Rのrpartについて質問です。  竹澤邦夫  2002/01/17 (木) 09:51
竹澤(中央農業総合研究センター・農業情報研究部・営農情報システム研究室)です。

>printcp()を使うと「rel error, xerror, xstd」などが出力されますが
>これらは単にエラー率を表したものだけではないのでしょうか?

 Rを使ったことがないので確証はありませんが,おそらく以下のような
ことだと思います。
 「rel error」というのは,データの目的変数の部分の標準偏差で,モデルが
与える推定値とデータの間の標準誤差を割ったものでしょう。そのため,
分岐がないとき,つまり「nsplit」の値が0のときには,1.00になっている
ものと思われます。
 「xerror」というのは,データの目的変数の部分の標準偏差で,モデルが
与える予測値(クロスバリデーションで得たもの)とデータの間の
標準誤差を割ったものでしょう。
「xstd」というのは「xerror」の値が持つ誤差の標準偏差を推定したものだと
考えられます。
(続く)

     [このページのトップへ]


271. Re^3: Rのrpartについて質問です(さっきの続き)。  竹澤邦夫  2002/01/17 (木) 09:54
竹澤(中央農業総合研究センター・農業情報研究部・営農情報システム研究室)です。
さっきの続きです。
 「S-PLUSによる統計解析」という本の374ページに「列のxerrorとxstdはランダムで」
(原文では,The columns xerror and xstd are random)とあるのは,この二つの
列に書かれている値は,乱数を用いたクロスバリデーションによる値なので,
用いる乱数によって幾らか変化する値ですよ,という意味だと思います。
この辺りは,僅かな言葉で多くのことを意味する,というこの著者の個性が
如実に表れているところなので,読者は苦労を強いられます。
 で,なぜ,この二つの値を計算するのかについては,「S-PLUSによる統計解析」
の次の部分に書かれています。普通は,クロスバリデーションを使って求めた
予測誤差が最小のモデルを最適なモデルと考えますけれども,樹形モデル
のような複雑なモデルの場合は,最小の予測誤差を与えるモデルが与える,予測誤差の
誤差の標準偏差の範囲(xstd)にあるモデルの中から分岐が最も少ないものを
選んだ方がよいことが経験的に分かっています。そのため,xerrorとxstdを
算出して,図10.4のようなものを描くわけです。

     [このページのトップへ]


279. Re^4: Rのrpartについて質問です(さっきの続き)。  sb812109  2002/01/17 (木) 23:59
樹形モデルを予測に適用しようと悪戦苦闘しています。

まず,回帰モデルで説明変数を選択し,妥当と思われる樹形モデルを幾つか生成する。
それらの樹形モデルによる予測と目的変数(二値です)とで2x2分割表を作成する。
樹形モデルの採択は次の2つの基準による。
(1)ある基準(予め設定していた感度,特異度等)を満たし
(2)かつ,最も単純なモデル
注)これは,Ripleyの「S-PLUSによる統計解析」がよく理解出来なかった為です。

これまで,次の様な問題で困っています。
(1)データを幾つかの training set と validation set に分ける。training set
により採択した樹形モデルを validation set に適用する。この場合,
   validation set により,同等程度にいいモデルと判定される樹形モデルもその
   繁茂の状態,枝ぶりが随分と違います。
(2)分岐を検討すると,直観と矛盾するようなノードが少なからず存在します(例えば,高齢ほど生命予後が良好等)。

樹形モデルの利点の1つは,判別の規則がブラックボックスでなく,容易に追跡出来る
ことと考えています。上記2点を克服するいい方法がありましたら是非,教えて戴ければと思います。

     [このページのトップへ]


295. Re^5: Rのrpartについて質問です(さっきの続き)。  竹澤邦夫  2002/01/18 (金) 16:50
 竹澤(中央農業総合研究センター・農業情報研究部・
営農情報システム研究室)です。

>validation set により,同等程度にいいモデルと
>判定される樹形モデルもその繁茂の状態,
>枝ぶりが随分と違います。

 樹形モデルのような複雑なモデルの場合,予測誤差
が同じ程度と見なされるモデルがいくつも得られる
ことはよくあります。このとき,わずかであっても
予測誤差が小さいものを選ぶ,というのが通常の
クロスバリデーションの考え方です。一方,予測誤差が
大きくは違わないのであれば,単純なモデルがいい,
というのが1SEルールです。

>分岐を検討すると,直観と矛盾するようなノードが
>少なからず存在します

 これは,介護保険の1次判定プログラムについて
さんざん指摘された点です。重回帰式を作ったときに
回帰係数の符号が常識に反することがあるのと同様の
現象と言えます。1SEルールを使って単純なモデルを
選ぶようにすれば,いくらかは問題が緩和される
ことがあります。しかし,全てのルールが常識に
反しないようにするためには,常識に反するルールが
作成されそうになったらそれを阻止するような仕組みを
組み込むしかないように思います。

     [このページのトップへ]


306. Re^6: Rのrpartについて質問です(さっきの続き)。  sb812109  2002/01/19 (土) 00:29
> わずかであっても予測誤差が小さいものを選ぶ,というのが通常の
> クロスバリデーションの考え方です。一方,予測誤差が大きくは違
> わないのであれば,単純なモデルがいい,というのが1SEルールです。

複数の基準があると云うことは,逆に云えば,絶対的な基準はないと解
釈してもいいのでしょうか。1-SEルールに関しても,一つの目安であり,
例えば,0.8-SE rule, 1.3-SE ruleを採用しても必ずしも間違いではな
いとの解釈でいいでしょうか。

多変量解析のモデル構築の場合,統計学的根拠や観測値との適合度は重
視しつつも,先行研究や自分の経験も考慮に入れた形で柔軟(ある意味
いい加減に)最終モデルを決定しています。樹形モデルに基づくモデル
の構築・採否においても,同様の方針をとっても間違いではないと云う
事で宜しいでしょうか。

     [このページのトップへ]


310. Re^7: Rのrpartについて質問です(さっきの続き)。  竹澤邦夫  2002/01/19 (土) 16:20
 竹澤(中央農業総合研究センター・農業情報研究部・
営農情報システム研究室)です。

>例えば,0.8-SE rule, 1.3-SE ruleを採用しても
>必ずしも間違いではないとの解釈でいいでしょうか。

 1SEルールにははっきりした根拠はなく,あくまでも
経験が正当化しているだけですから,データの性質に
よっては0.8-SE rule,や1.3-SE ruleの方がいい,
ということもあり得るだろうと思います。

>多変量解析のモデル構築の場合,統計学的根拠や
>観測値との適合度は重視しつつも,先行研究や
>自分の経験も考慮に入れた形で柔軟(ある意味
> いい加減に)最終モデルを決定しています。

 数値データだけを使ってモデルを作った場合と
定性的な知識を加味した場合を比べると,クロス
バリデーションによる予測誤差は増えることも
減ることもあります。定性的な知識をどのくらい
利用すればいいかについては明確な基準はありません。
数値データだけを用いたときの予測誤差を大きくは
上回らない予測誤差が得られるのであれば,定性的な
知識を加えて得たモデルを採用してもよい,という
くらいしか言えません。このことは,樹形モデルでも
同じだと思います。

     [このページのトップへ]


323. Re^8: Rのrpartについて質問です(さっきの続き)。  sb812109  2002/01/21 (月) 22:00
丁寧な回答有難うございました。
大変参考になりました。

     [このページのトップへ]


272. Re^4: Rのrpartについて質問です。  makky  2002/01/17 (木) 14:44
> 竹澤様
ありがとうございます。
xerrorやxstdは最適な樹形図を得る為の指標なのですね。
では単にエラー率を求めるのはクロスバリデーションをを作成すればよいのですね。
具体的にxerrorの値がいくつぐらいだとよい樹形図と言えるのでしょうか?
私が作成した樹形図では木のサイズが325でrelerror=0.28 xerror=0.47という結果でした。

     [このページのトップへ]


273. Re^5: Rのrpartについて質問です。  竹澤邦夫  2002/01/17 (木) 15:49
 竹澤(中央農業総合研究センター・農業情報研究部・
営農情報システム研究室)です。

>私が作成した樹形図では木のサイズが325で
>relerror=0.28, xerror=0.47という結果でした。

 予測誤差の相対値(全体の変動を表す標準偏差の
大きさに対する予測誤差の標準偏差の割合)が
0.47で充分かどうかというのは,この樹形モデルを
どのような目的で利用するかに依存しますので,
何とも言えません。
 ただ,「木のサイズが325」となるとかなり
大きな樹形モデルなので,そのときのxstdの
値にも注目してはどうかと思います。1-SEルールを
使うともっと小さな樹形モデルが最適だ,と
いう結果になるかも知れません。
 データ数がかなり多いのでしょうから,データを
ランダムに二つに分けて。一方を使って作成した
樹形モデルを他方で試してみてもいいのでは
ないでしょうか。
 ちなみに,xerrorのxはcross-validationの
crossを意味するものと思われます。最短の
表現を行う,という意図は分かりますけれども
最初は面食らいますね。

     [このページのトップへ]


275. Re^6: Rのrpartについて質問です。  makky  2002/01/17 (木) 17:39
返答ありがとうございます。
ちなみにxstd=0.008程度でした。
1-SEルールがどうのようなものかわかりませんがデータを
二つに分ける方法を試してみたいと思います。

     [このページのトップへ]


● 「統計学関連なんでもあり」の過去ログ--- 017 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る