2014-06-10 5 views
11

मैं 67 अवलोकन और 32 चर के साथ एक रिग्रेशन चला रहा हूं। मैं glmnet पैकेज से cv.glmnet फ़ंक्शन का उपयोग कर चर चयन कर रहा हूं। एक वैरिएबल है जिसे मैं मॉडल में मजबूर करना चाहता हूं। (यह सामान्य प्रक्रिया के दौरान गिरा दिया जाता है।) मैं cv.glmnet में इस स्थिति को कैसे निर्दिष्ट कर सकता हूं?मैं cv.glmnet को एक विशिष्ट चर को छोड़ने के लिए कैसे मजबूर कर सकता हूं?

धन्यवाद!

मेरे कोड ऐसा दिखाई देता है:

glmntfit <- cv.glmnet(mydata[,-1], mydata[,1]) 
coef(glmntfit, s=glmntfit$lambda.1se) 

और चर मैं चाहता हूँ MyData है [, 2]। ?glmnet में वर्णित के रूप

उत्तर

9

यह एक penalty.factor वेक्टर प्रदान करके प्राप्त किया जा सकता। 0 का जुर्माना कारक इंगित करता है कि "चर हमेशा मॉडल में शामिल होता है", जबकि 1 डिफ़ॉल्ट है।

glmntfit <- cv.glmnet(mydata[,-1], mydata[, 1], 
         penalty.factor=c(0, rep(1, ncol(mydata) - 2))) 
+0

'penalty.factor = (नाम (MyData) [1: ...] == 'VAR_TO_PENALIZE')' एक और अधिक सुरुचिपूर्ण तरीका है कि चर बाहर लेने के लिए होगा। – smci

+0

क्या कोई संभावना है कि जुर्माना सेट करने के बाद भी 0 से परिवर्तक के फैक्टर, यह अभी भी मॉडल में मजबूर नहीं है? –

संबंधित मुद्दे

 संबंधित मुद्दे