प्रतिगमन का उपयोग करके एक गुणांक को कैसे ठीक करें और दूसरों को फिट करें


11

मैं एक निश्चित गुणांक मैन्युअल रूप से ठीक करने के लिए कहते हैं, चाहते हैं , तो सभी अन्य भविष्यवक्ताओं के लिए फिट गुणांक है, जबकि रखते हुए β 1 = 1.0 मॉडल में।β1=1.0β1=1.0

आर का उपयोग करके मैं इसे कैसे प्राप्त कर सकता हूं? glmnetयदि संभव हो तो मैं विशेष रूप से LASSO ( ) के साथ काम करना चाहूंगा ।

वैकल्पिक रूप से, मैं कैसे एक विशिष्ट श्रेणी को यह गुणांक सीमित कर सकते हैं, का कहना है कि ?0.5β11.0


फिट किए गए गुणांकों पर बॉक्स की कमी को निर्दिष्ट करने के लिए वहाँ तर्क हैं। glmnet में दलीलें निम्न और उच्चतर।
टॉम वेन्सेलेर्स

जवाबों:


4

आपको offsetइस तरह से तर्क का उपयोग करने की आवश्यकता है :

library(glmnet)
x=matrix(rnorm(100*20),100,20)
x1=matrix(rnorm(100),100,1)
y=rnorm(100)
fit1=glmnet(x,y,offset=x1)
fit1$offset
print(fit1)

सीमा के बारे में ... मुझे नहीं लगता कि इसे लागू किया गया है glmnet। यदि वे कुछ संख्यात्मक विधि का उपयोग करते हैं, तो आप आर कोड में खोदना चाहते हैं और इसे वहां पर प्रतिबंधित करने का प्रयास कर सकते हैं, लेकिन आपको एक अच्छी, ठोस प्रोग्रामिंग पृष्ठभूमि की आवश्यकता होगी।


2
offsetवास्तव में क्या कर रहा है? 1.1*x1प्रश्न से कैसे निर्धारित किया जाता है?
whuber

मैंने glmnet में 'ऑफसेट' के लिए प्रलेखन पढ़ा, और मुझे अभी भी यकीन नहीं है कि यह क्या करता है। मुझे कोई महान उदाहरण नहीं मिला, लेकिन अधिकांश संदर्भ पॉसन प्रक्रियाओं का है। 1.1 * X1 का उपयोग क्यों किया जाता है?
राको

मैंने सोचा कि वह गुणांक फिक्सिंग जाता है कि । मैंने सिर्फ उत्तर संपादित किया। ऑफसेट वह शब्द है जिसमें इसके गुणांक का अनुमान मॉडल द्वारा नहीं लगाया जाता है लेकिन मान लिया जाता है 1.β1=1.1
स्टेट

मैं इस जवाब से काफी खुश हूं। मैं अलग-अलग ऑफसेट "गुणांक" पर पुनरावृति कर सकता हूं और मॉडल की तुलना कर सकता हूं। धन्यवाद!
राको

1
पैकेज के संबंध offsetमें glmnet, स्टेट द्वारा दिए गए उत्तर से मुझे कोई मतलब नहीं है। जब मैं fit1 चलाने बीटा)] मैं किसी भी नहीं दिख रहा है β 1 = 1.0 । क्या आप स्पष्ट कर सकते हैं कि आपके उदाहरण में ऑफसेट कैसे काम कर रहा है? बेटास की सीमा के लिए, आप और तर्कों का उपयोग कर सकते हैं । beta[,ncol(fit1β1=1.0lower.limitsupper limits
मारियो नुनेज़

9

अच्छा, चलो सोचते हैं। आपके पास:

Y=b0+b1x1+b2x2+e

(इसे सरल रखने के लिए) आप को मजबूर करना चाहते हैं, इसलिए आप चाहते हैंb1=1

Y=b0+x1+b2x2+e

तो आप बस प्रत्येक पक्ष से को घटा सकते हैं :x1

Ynew=Yx1=b0+b2x2+e

जो तब अनुमान लगा सकता है b2


2
यह आसान हिस्सा है (और मुझे याद के रूप में अन्य थ्रेड्स में संबोधित किया गया है)। एक सीमा तक गुणांक को सीमित करने के बारे में क्या? इस समस्या का विशेष रूप से कठिन हिस्सा आत्मविश्वास की सीमा प्राप्त कर रहा है जब अनुमान बाधा क्षेत्र की सीमा पर स्थित है।
whuber

2
यह निश्चित रूप से कठिन है। मुझे पोस्ट का अंत याद आ गया। लेकिन मुझे लगता है कि मैं अपने जवाब ऊपर छोड़ देना चाहिए के रूप में यह सवाल का जवाब हिस्सा करता है
पीटर Flom

β11β1=0.75Ynew=Y.75x1=β0+(β10.75)x1+β2x2+ϵβ1

1
हाँ, यदि यह .75 पर नियत है तो आप जो कहते हैं वह करेंगे। लेकिन जैसे-जैसे @whuber बताते हैं, कि इस समस्या का आसान हिस्सा है
पीटर Flom

2
@whuber, एक बायेसियन फ्रेमवर्क में, आप अपनी सीमा के बाहर किसी भी गुणांक को टॉस करने के लिए एक मेट्रोपोलिस स्टेप में फेंक सकते हैं या वैकल्पिक रूप से आप एक अलग बहुभिन्नरूपी सामान्य वितरण से नमूना ले सकते हैं।
जॉन

3

एक सीमा के भीतर होने के लिए गुणांक को विवश करने के संबंध में, अनुमान के लिए एक बायेसियन दृष्टिकोण इसे पूरा करने का एक साधन है।

विशेष रूप से, एक मार्कोव चेन मोंटे कार्लो पर भरोसा करेगा। सबसे पहले, एक गिब्स नमूना एल्गोरिथ्म पर विचार करें, जो कि आप एक बेसेनियन ढांचे में एमसीएमसी को कैसे फिट करेंगे, यह प्रतिबंध से अनुपस्थित है। गिब्स नमूना में, एल्गोरिथ्म के प्रत्येक चरण में आप डेटा और अन्य सभी मापदंडों पर प्रत्येक पैरामीटर (या मापदंडों के समूह) सशर्त वितरण से नमूना लेते हैं। विकिपीडिया दृष्टिकोण का एक अच्छा सारांश प्रदान करता है।

सीमा को बाधित करने का एक तरीका मेट्रोपोलिस-हेस्टिंग्स चरण लागू करना है। मूल विचार बस किसी भी नकली चर को बाहर फेंकना है जो आपकी सीमा के बाहर है। आप तब तक पुन: नमूना रख सकते हैं जब तक कि अगले पुनरावृत्ति पर जाने से पहले आपकी सीमा के भीतर न हो। इसका नकारात्मक पक्ष यह है कि आप बहुत बार अनुकरण कर सकते हैं, जो एमसीएमसी को धीमा कर देता है। एक वैकल्पिक दृष्टिकोण, जो मूल रूप से जॉन गेवेके द्वारा कुछ कागजों में विकसित किया गया था और रॉड्रिग्ज-यम, डेविस, शार्प द्वारा एक पेपर में विस्तारित किया गया था , एक विवश बहुभिन्नरूपी सामान्य वितरण से अनुकरण करना है। यह दृष्टिकोण मापदंडों पर रैखिक और गैर-रैखिक असमानता बाधाओं को संभाल सकता है और मुझे इसके साथ कुछ सफलता मिली है।


फिट किए गए गुणांकों पर बॉक्स की कमी को निर्दिष्ट करने के लिए वहाँ तर्क हैं। glmnet में दलीलें निम्न और उच्चतर।
टॉम वेसलर्स

@TomWenseleers मैं अधिक आम तौर पर जवाब दे रहा था। के संबंध में कुछ अन्य उत्तरों को देखें glmnet
जॉन

2

मैं LASSO से परिचित नहीं हूँ या glmnet, लेकिन lavaan("अव्यक्त चर विश्लेषण" के लिए छोटा) समानता अवरोधों और एकल-बाध्य असमानता बाधाओं दोनों के साथ कई प्रतिगमन मॉडल की सुविधा देता है ( इस पीडीएफ के पृष्ठ 7 पर तालिका देखें , "Lavaan: एक R पैकेज संरचनात्मक समीकरण मॉडलिंग के लिए " )। मुझे नहीं पता कि क्या आपके पास गुणांक पर ऊपरी और निचले दोनों सीमाएं हो सकती हैं, लेकिन शायद आप प्रत्येक को अलग-अलग लाइनों के साथ जोड़ सकते हैं, जैसे:

Coefficient>.49999999
Coefficient<1.0000001

बेशक, यदि आप मॉडल को फिट करने से पहले सब कुछ मानकीकृत कर रहे हैं, तो आपको वैसे भी अपने प्रतिगमन गुणांक पर 1 के ऊपरी हिस्से को लागू करने के बारे में चिंता नहीं करनी चाहिए। मैं कहता हूँ कि आप इस मामले में इसे छोड़ देना बेहतर है, बस अगर कुछ गलत हो जाता है! ( lavaan है के बाद सभी ... मैं इसके बारे में अपने खुद के सीमित उपयोग में कुछ थोड़ा गड़बड़ परिणाम देखा है अब तक अभी भी बीटा में।)


फिट किए गए गुणांकों पर बॉक्स की कमी को निर्दिष्ट करने के लिए वहाँ तर्क हैं। glmnet में दलीलें निम्न और उच्चतर।
टॉम वेसलर्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.