1

ねえ、私は重回帰モデルを開発しており、前方サブセット選択法を使用してパラメーターの数を減らし、選択基準として「ゼニアオイ Cp」を使用しています。ただし、これは工学的な問題であり、切片を使用しても意味がありません。つまり、すべての予測子がゼロの場合、予測は 0 になります。したがって、回帰式から切片を削除したいと考えています。単なる回帰の場合、「lm(y~x+z-1)」が機能することはわかっていますが、これは私のコードでは機能しないようです。

#Fitting Using Model Selection
library(leaps)
a.fit<- regsubsets(ROP~.-1,data=dat1,nvmax=10)
summary(a.fit)
plot(summary(a.fit)$cp,xlab="No. of variables", ylab="Cp")
which.min((summary(a.fit)$cp))
plot(a.fit,scale="Cp")
coef(a.fit,6)

##Forward Stepwise Selection
f.fit<- regsubsets(ROP~.,data=dat1)
summary(f.fit)
plot(summary(f.fit)$cp,xlab="No. of variables", ylab="Cp")
which.min((summary(f.fit)$cp))
plot(f.fit,scale="Cp")
coef(f.fit,5)
4

1 に答える 1

1

私は以前に使用したことはありませんが、私が見た方法では、パラメータを FALSE にregsubsets()設定するだけで済みます。例:intercept?regsubsets

data(swiss)
a.fit <- regsubsets(Fertility ~ ., data = swiss, nvmax = 10,  intercept = F)
minimum <- which.min((summary(a.fit)$cp)) # 4

coef(a.fit, minimum)    
     Agriculture        Education         Catholic Infant.Mortality 
      0.11714390      -0.44750066       0.07508021       3.27420789 
于 2015-02-17T04:15:17.560 に答える