आर में glm परिवार तर्क में लॉगऑनॉर्मल वितरण कैसे निर्दिष्ट करें?


17

सरल प्रश्न: आरएल में जीएलएम परिवार तर्क में एक असामान्य वितरण कैसे निर्दिष्ट करें? मुझे नहीं लग रहा था कि यह कैसे हासिल किया जा सकता है। लॉजिकल (या घातांक) पारिवारिक तर्क में एक विकल्प क्यों नहीं है?

आर-आर्काइव्स में कहीं मैंने पढ़ा है कि एक जीएलएम में परिवार को सेट करने के लिए लॉग-लिंक का उपयोग करना पड़ता है, ताकि लोगनॉर्मल निर्दिष्ट किया जा सके। हालांकि, यह बकवास है क्योंकि यह एक गैर-रेखीय प्रतिगमन फिट होगा और आर शुरू होने वाले मूल्यों के लिए पूछना शुरू कर देता है।

क्या किसी को पता है कि GLM के लिए लॉगऑनॉर्मल (या घातीय) वितरण कैसे सेट किया जाए?


1
यह SO पर [r] टैग के साथ होना चाहिए।
डीडिन

4
@ ड्विन - मैं एक बार के लिए असहमत हूं - मैं अक्सर एसओ को खुद को स्थानांतरित करने के लिए वोट देता हूं, लेकिन इस प्रश्न में महत्वपूर्ण सांख्यिकीय सामग्री है।
onestop

जवाबों:


8

Gamlss पैकेज लिंक कार्यों में कुछ विविधता के साथ, आप दोनों lognormal और घातीय वितरण, और दूसरों के एक समूह के साथ सामान्यीकृत additive मॉडल फिट करने के लिए अनुमति देता है और का उपयोग कर, अगर आप चाहें तो सज़ा splines के आधार पर अर्द्ध या गैर पैरामीट्रिक मॉडल। यह उपयोग किए गए एल्गोरिदम और प्रलेखन और मेरे द्वारा लिंक की गई साइट से जुड़े उदाहरणों पर प्रकाशित कुछ पेपर मिला है।


10

एक्सपोनेंशियल मॉडल के साथ फिटिंग के बारे में glm: glmपरिवार के साथ फ़ंक्शन का उपयोग करते समय = गामा summary.glmको 1 को फैलाव पैरामीटर को ठीक करने के लिए सहायक सुविधाओं का उपयोग करने की भी आवश्यकता है :

?summary.glm
fit <- glm(formula =..., family = Gamma)
summary(fit,dispersion=1) 

और जैसा कि मैं इंगित करने जा रहा था, लेकिन जुम्मन ने मुझे इसके लिए हराया, "गेमल्स" पैकेज (लॉग) सामान्य-सामान्य फिटिंग के लिए प्रदान करता है:

help(dLOGNO, package=gamlss.dist)

1
मैं फैलाव पैरामीटर (+1) को ठीक करने के बारे में नहीं जानता था।
जूलमैन

मैंने इस समाधान को एक अन्य पोस्ट में देखा, मुझे लगता है। हालाँकि, दो समस्याएं हैं। सबसे पहले, इस मामले में केवल सारांश को समायोजित किया जाता है लेकिन मुझे (अवशिष्ट आदि) निकालने के लिए आवश्यक पैरामीटर 1 के फैलाव से समायोजित नहीं होते हैं, या मैं गलत हूं? दूसरा, मैं परिवार = गामा के साथ फिट नहीं हो सकता, क्योंकि डेटा सेट में शून्य हैं (वास्तव में ये छोटे मूल्य हैं लेकिन शून्य पर सेट थे)। मैं gamlss.dist पैकेज चेकआउट करूँगा!
जेन्स

1
खैर, शून्य-समस्या आर या के साथ एक समस्या नहीं है glm, लेकिन गणित के साथ, ... और यदि आपके पास पैरामीटर अनुमान हैं, तो अवशिष्ट का निर्माण आर। पोस्ट में तुच्छ है। एस में प्रश्न [r] टैग के साथ और आप निश्चित रूप से तेजी से प्रतिक्रिया मिलेगी।
ड्विन

9

लॉगऑनॉर्मल एक विकल्प नहीं है क्योंकि लॉग-सामान्य वितरण वितरण के घातीय परिवार में नहीं है। सामान्यीकृत रैखिक मॉडल केवल घातीय परिवार से वितरण को फिट कर सकते हैं।

मैं कम स्पष्ट कर रहा हूँ क्यों घातीय एक विकल्प नहीं है, के रूप में घातीय वितरण है घातीय परिवार में (के रूप में आप आशा है कि हो सकता है)। अन्य सांख्यिकीय सॉफ्टवेयर जिसके साथ मैं परिचित हूं, वह अनुमान के बजाय 1 पर निर्धारित आकार (उर्फ स्केल या फैलाव) पैरामीटर के साथ गामा वितरण के एक विशेष मामले के रूप में इलाज करके GLM के रूप में घातीय वितरण को फिट करने की अनुमति देता है। glm()हालाँकि, R के फ़ंक्शन का उपयोग करके मैं इस पैरामीटर को ठीक करने का एक तरीका नहीं देख सकता । एक विकल्प पैकेज के साथ survreg()फ़ंक्शन का उपयोग करना होगा ।survivaldist="exponential"

ylog(y)E(log(Y))log(E(Y)).


8
(एक्स),टी(एक्स),(θ)

क्या आपके पास इस कथन का संदर्भ है कि "सामान्यीकृत रैखिक मॉडल केवल घातीय परिवार से वितरण को फिट कर सकते हैं"?
हेनरिक

5

लॉग-नॉर्मल जीएलएम फिट करने का वितरण और glm()फ़ंक्शन के लिंक विकल्प से कोई लेना-देना नहीं है। "लॉग-नॉर्मल" शब्द इस अर्थ में काफी भ्रामक है, लेकिन इसका मतलब है कि प्रतिक्रिया चर सामान्य रूप से वितरित किया जाता है (परिवार = गौसियन), और इस चर पर निम्न तरीके से एक परिवर्तन लागू किया जाता है:

log.glm <- glm(log(y)~x, family=gaussian, data=my.dat)

हालांकि, जब विभिन्न वितरण (जैसे, गामा) का उपयोग करके इस लॉग-नॉर्मल ग्लम की अन्य ग्लम्स से तुलना की जाती है, तो एआईसी () फ़ंक्शन को सही किया जाना चाहिए। क्या कोई इस मामले में इन गलत AIC () का विकल्प जानता होगा?


2
साइट पर आपका स्वागत है, @ चित्र। यदि आपके पास कोई प्रश्न है, तो कृपया अपने उत्तर में शामिल करने के बजाय ऊपरी दाएं कोने में ग्रे "ASK QUESTION" पर क्लिक करें।
गूँग - मोनिका

1

निम्न आदेश का उपयोग करने का प्रयास करें:

log.glm = glm(y ~ x, family=gaussian(link="log"), data=my.dat)

यह यहां काम करता है और एआईसी को सही लगता है।


7
यह उत्तर गलत है। इसका मतलब होगा कि y का सशर्त वितरण गौसियन है और लॉग का मतलब रैखिक भविष्यवक्ता के बराबर होगा। निश्चित रूप से ओपी का वर्णन नहीं है।
माइकल एम।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.