2016-09-01 7 views
0

ctreeがすべてのプレディクタの完全な欠落を伴う観察結果をどのように予測するかを理解しようとしています。例えば、airqpartykit :: ctree randomness = TRUE

library(partykit) 
airq <- subset(airquality, !is.na(Ozone)) 
airq <- rbind(airq,data.frame(Ozone=rnorm(50),Solar.R=NA,Wind=NA,Temp=NA,Month=NA,Day=NA)) 
airct <- ctree(Ozone ~ ., data = airq,control = ctree_control(majority = TRUE)) 
table(tail(predict(airct,type="node"),50)) 

最後の50行は、すべての予測変数が欠落している、およびドキュメントを読んでから、私は彼らがすべて同じノードに行くべき意味、majority=TRUEとそれだけで過半数に従うこと感想を取得しますバリエーションは全くありません。しかし、私はそれらの予測分布を得る。

ので

  1. majority=TRUE作品は修正方法の私の理解ですか?
  2. ctreeは、どのように観測予測子をもたない行をフィッティング/予測するのですか?道による

は、私がmajority引数が使用されているかを確認し、partykit:::.cnodeにその行#104を見るために、コードをトレースしようとしている。結果として、私にはかなり奇妙に見える

prob <- numeric(0) + 1L:length(prob) %in% which.max(prob) 

は常にnumeric(0)となります。

答えて

1

これは、majority制御引数の処理のバグです。最近、R-Forgeリポジトリ(https://R-Forge.R-project.org/R/?group_id=261参照)で修正されましたが、まだCRANにはリリースされていません。実行後

install.packages("partykit", repos = "http://R-Forge.R-project.org") 

すべてが正常に動作するはずです。 CRANのリリース日はまだ予定されていませんが、あまりにも遠い将来にあるべきではないと私は思います。

関連する問題