2016-11-21 3 views
0

私は、テストセット全体を使用せず、回帰の対象となるトップランクの予測のX%のみを評価することを試みています。 これを可能にするRにはパッケージがありますか?スピアマン相関ソートされたデータの上位X%

ので、例えば、私は次のよう

x<-c(1,2,3,4,5,8,7,9,12,11,14,15,16,17,20,25,40) 
y<-c(0,1,2,4,5,6,8,7,10,12,15,14,13,10,18,22,30) 
df<-cbind(x,y) 
model<-lm(y~x) 
summary(model) 

複数のR二乗している場合:0.9432、調整後R-乗:0.9395

plot(y~x,df) 
abline(model) 

私はX」パラメータを持っていると思います"(30%)は全データセットではなく、Spearmanの順位順相関指数を使用して上位30%のデータのみで計算されます。 この場合、計算されるのはx=c(15,16,17,20,25,40)です。 この「部分的」相関指数は、R-二乗が悪いが、ドメインの正確な領域(例えば、xの上位X%)においてより良好に機能するモデルのさらなる特徴付けに役立つ可能性がある。 ポインタありがとう。

+0

あなたが望むものは完全にはっきりとはっきりしません。 'lm(y〜x、data = df、subset = x> quantile(x、0.7))'のようなものですか? –

+0

@Ben。どうも。私は少ないデータでモデルを変更したくないので、選択した部分集合のモデルを単に「測定」します。 –

答えて

1

は、単にデータセットの関連部分のための予測値と実際の値コンペアすなわち、

y.pred <- predict(model) 
y.err <- y-y.pred 
idx.part <- x > quantile(0.7) 

# R squared 
r.squared <- 1- var(y.err)/var(y) 
r.squared.part <- 1- var(y.err[idx.part])/var(y[idx.part]) 

サブセットに計算された際に適切にR二乗調整する方法がわかりません。完全なデータセットについては、adjusted R squared is computedに小数の掛け算を(n-1)/(n-p-1)とし、nがサンプルサイズであり、pが予測子の数(この場合は1)です。

+0

すぐにお返事ありがとうございます!私はパッケージの中に何もないと思った。そして、私は調整されたRの二乗をどのようにして作り出すかについてもどちらも確信していません。しかし、私は、上位x%の予測のランキングで最適化された回帰モデル(つまり、上位または最低のX%データでのスピアマンの相関を最大化する)が、セット全体で最適化された「クラシック」モデルよりも好ましい状況があると考え続けています。 –

関連する問題