を使用してモデルを選択したいregsubsets()
。私はolympiadatenと呼ばれるデータフレームを持っています(アップロードされたデータ:http : //www.sendspace.com/file/8e27d0)。最初にこのデータフレームを添付してから分析を開始します。私のコードは次のとおりです。
attach(olympiadaten)
library(leaps)
a<-regsubsets(Gesamt ~ CommunistSocialist + CountrySize + GNI + Lifeexp +
Schoolyears + ExpMilitary + Mortality +
PopPoverty + PopTotal + ExpEdu + ExpHealth, data=olympiadaten, nbest=2)
summary(a)
plot(a,scale="adjr2")
summary(lm(Gesamt~ExpHealth))
プロットのスクリーンショット:
ここでの問題は、「手動で」最適なモデルをもう一度フィットさせて確認したいのですが、調整されたRの2乗の値がregsubsetsの出力と同じではないということです。これは、他のモデルにも当てはまります。たとえば、グラフィックで最も単純なモデルを実行するとします。
summary(lm(Gesamt~ExpHealth))
図は、約0.14の調整済みR二乗が必要であることを示していますが、出力を見ると、0.06435の値を取得しています。
これは次の出力ですsummary(lm(Gesamt~ExpHealth))
:
Call:
lm(formula = Gesamt ~ ExpHealth)
Residuals:
Min 1Q Median 3Q Max
-18.686 -9.856 -4.496 1.434 81.980
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -3.0681 6.1683 -0.497 0.6203
ExpHealth 1.9903 0.7805 2.550 0.0127 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 18.71 on 79 degrees of freedom
(4 observations deleted due to missingness)
Multiple R-squared: 0.07605, Adjusted R-squared: 0.06435
F-statistic: 6.502 on 1 and 79 DF, p-value: 0.01271
私が何を間違ったのかわからないので、どんな助けでもいただければ幸いです。
そして最後に重要なこととして、さらにいくつかの質問:
- AICとadjによるモデルの選択の違いは何ですか。Rの2乗?
- どちらも近似を測定し、変数の数を認識します。そのため、AICによって選択された最良のモデルではなく、最も高いadjを持つモデルでもあります。r二乗?
- 12個の変数がある場合、これはモデルの可能性があることを意味しますよね?
- それで、
regsubsets()
コマンドは各モデルを計算し、nbest=2
各サイズの2つの最適な()を表示しますか? - もしそうなら、私は本当に「最高の」モデルを手に入れますか?
- そして、(すべての変数を含むモデルから始めて)逆方向選択を使用してAICを実行すると、これも同じモデルが最終的
regsubsets()
に最高となるのですか?