【问题标题】:forward subset selection in R without interceptR中的前向子集选择没有截距
【发布时间】:2015-02-16 20:53:30
【问题描述】:

嘿,所以我正在开发一个多元回归模型并使用前向子集选择方法来减少参数数量并使用“mallows 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)

【问题讨论】:

    标签: r statistics regression regression-testing


    【解决方案1】:

    我之前没有使用过regsubsets(),但我认为你可以简单地将intercept 参数设置为FALSE,检查?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 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 2016-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-21
      相关资源
      最近更新 更多