如何删除插入符号中无关紧要的变量

时间:2017-07-11 01:34:40

标签: r cross-validation r-caret glm

我使用glm模型与caret包的交叉验证(10倍)。我想删除模型的非重要变量,例如TX_RESP_Q108BTX_RESP_Q108CTX_RESP_Q065.Q等。

输入

tc <- trainControl("cv", 10, savePredictions = T, classProbs = T)
fit1 <- train(response~., data = my_data, method = "glm", family = "binomial", trControl = tc)

输出

Call:
NULL

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.3268  -0.6676  -0.5238  -0.3620   3.0841  

Coefficients:
                  Estimate Std. Error z value Pr(>|z|)    
(Intercept)      -3.507239   0.171328 -20.471  < 2e-16 ***
ID_TURNO2        -0.412723   0.024630 -16.757  < 2e-16 ***
ID_TURNO3        -2.089175   0.234093  -8.925  < 2e-16 ***
TX_RESP_Q089B     0.452723   0.047093   9.613  < 2e-16 ***
TX_RESP_Q108B    -0.001968   0.330746  -0.006  0.99525    
TX_RESP_Q108C     0.220013   0.222716   0.988  0.32322    
TX_RESP_Q108D     0.371279   0.178481   2.080  0.03751 *  
TX_RESP_Q108E     0.115137   0.164007   0.702  0.48266    
TX_RESP_Q108F     0.301288   0.162907   1.849  0.06439 .  
TX_RESP_Q079B     0.410358   0.027035  15.179  < 2e-16 ***
TX_RESP_Q005.L    0.558060   0.047220  11.818  < 2e-16 ***
TX_RESP_Q005.Q    0.090621   0.036774   2.464  0.01373 *  
TX_RESP_Q005.C   -0.144208   0.029758  -4.846 1.26e-06 ***
`TX_RESP_Q005^4` -0.015192   0.023936  -0.635  0.52563    
TX_RESP_Q078B     0.400272   0.046226   8.659  < 2e-16 ***
TX_RESP_Q009B     0.035596   0.131552   0.271  0.78671    
TX_RESP_Q009C    -0.072846   0.150077  -0.485  0.62740    
TX_RESP_Q009D     0.270092   0.028457   9.491  < 2e-16 ***
TX_RESP_Q009E     0.184751   0.033084   5.584 2.35e-08 ***
TX_RESP_Q009F     0.118077   0.066456   1.777  0.07561 .  
TX_RESP_Q070B     0.483582   0.026233  18.434  < 2e-16 ***
TX_RESP_Q013.L   -0.142476   0.069901  -2.038  0.04152 *  
TX_RESP_Q013.Q   -0.096416   0.056399  -1.710  0.08735 .  
TX_RESP_Q013.C    0.075822   0.052626   1.441  0.14965    
`TX_RESP_Q013^4`  0.089282   0.049417   1.807  0.07081 .  
`TX_RESP_Q013^5` -0.039960   0.041490  -0.963  0.33550    
`TX_RESP_Q013^6`  0.084890   0.031894   2.662  0.00778 ** 
TX_RESP_Q048.L    0.569328   0.063179   9.011  < 2e-16 ***
TX_RESP_Q048.Q   -0.016526   0.057944  -0.285  0.77548    
TX_RESP_Q048.C    0.112465   0.052459   2.144  0.03204 *  
TX_RESP_Q107B     0.167977   0.275342   0.610  0.54182    
TX_RESP_Q107C    -0.084265   0.198600  -0.424  0.67135    
TX_RESP_Q107D     0.017702   0.159386   0.111  0.91156    
TX_RESP_Q107E     0.225705   0.146949   1.536  0.12455    
TX_RESP_Q107F     0.253538   0.146698   1.728  0.08394 .  
TX_RESP_Q062.L   -0.027898   0.104988  -0.266  0.79045    
TX_RESP_Q062.Q    0.054648   0.076644   0.713  0.47584    
TX_RESP_Q062.C   -0.021481   0.044358  -0.484  0.62819    
TX_RESP_Q045B     0.348216   0.071149   4.894 9.87e-07 ***
TX_RESP_Q045C     0.118404   0.071593   1.654  0.09816 .  
TX_RESP_Q045D    -0.067446   0.077291  -0.873  0.38287    
TX_RESP_Q058B     0.073366   0.076204   0.963  0.33567    
TX_RESP_Q058C     0.095275   0.081153   1.174  0.24039    
TX_RESP_Q058D     0.167319   0.085421   1.959  0.05014 .  
TX_RESP_Q059B    -0.206194   0.103281  -1.996  0.04589 *  
TX_RESP_Q059C    -0.185812   0.105676  -1.758  0.07869 .  
TX_RESP_Q059D    -0.098488   0.108455  -0.908  0.36383    
TX_RESP_Q060B     0.273180   0.060671   4.503 6.71e-06 ***
TX_RESP_Q060C     0.368747   0.063615   5.797 6.77e-09 ***
TX_RESP_Q060D     0.396086   0.067710   5.850 4.92e-09 ***
TX_RESP_Q061B     0.066926   0.087237   0.767  0.44298    
TX_RESP_Q061C    -0.006212   0.092005  -0.068  0.94617    
TX_RESP_Q061D     0.012422   0.096713   0.128  0.89780    
TX_RESP_Q063.L    0.024938   0.098261   0.254  0.79965    
TX_RESP_Q063.Q    0.070767   0.071592   0.988  0.32291    
TX_RESP_Q063.C   -0.040853   0.042945  -0.951  0.34146    
TX_RESP_Q065.L   -0.039285   0.051561  -0.762  0.44612    
TX_RESP_Q065.Q    0.019015   0.036056   0.527  0.59792    
TX_RESP_Q065.C    0.025068   0.025339   0.989  0.32252    
TX_RESP_Q067B    -0.075401   0.093803  -0.804  0.42150    
TX_RESP_Q067C    -0.108572   0.093832  -1.157  0.24724    
TX_RESP_Q067D    -0.038972   0.094387  -0.413  0.67969    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 52275  on 56144  degrees of freedom
Residual deviance: 48930  on 56083  degrees of freedom
AIC: 49054

Number of Fisher Scoring iterations: 6

我试过(例如)

 f2 <- update(f~., TURMA_PROFICIENTE~ID_TURNO + TX_RESP_Q089B +  TX_RESP_Q108D)
fit2 <- train(f2, data = dados, method = "glm", family = "binomial", trControl = tc)
#Error mensage
Error in eval(expr, envir, enclos) : object 'TX_RESP_Q089B' not found

1 个答案:

答案 0 :(得分:0)

这可能是一个坏主意(如上所述)。您可能不应该考虑单个模型拟合,找出使用相同数据的重要性,并消除术语。这是一种自我实现的预言。

您似乎拥有大量数据,这有助于将风险降至最低,但我会使用caret sbf函数来执行内部的功能选择/ em>交叉验证以删除功能。这有助于保护您免受selection bias的侵害,并为您提供诚实的绩效估算。