2017-07-11 1 views
1

私は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 

私が試したため、モデルの非significate変数を削除したいです)

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 

答えて

0

これは(説明したように)悪い考えです。おそらく、単一のモデルフィットを見て、同じデータを使って有意義なものを見つけ出し、用語を取り除くべきではないでしょう。それは自己実現的な預言のようなものです。

あなたは、リスクを最小限に抑えることができます多くのデータを、持っているように見えるんが、私が代わりに機能を削除するために、クロスバリデーションの内の特徴選択を行うにはcaretsbf機能を使用します。これにより、selection biasからあなたを守り、正直な評価を得ることができます。

関連する問題