जॉन फॉक्स की पुस्तक एन आर साथी को लागू प्रतिगमन के साथ लागू प्रतिगमन मॉडलिंग पर एक उत्कृष्ट स्रोत है R
। car
इस उत्तर में मैं जिस पैकेज का उपयोग करता हूं, वह पैकेज है। पुस्तक में अतिरिक्त अध्यायों वाली वेबसाइट भी है ।
प्रतिक्रिया रूपांतरण (उर्फ आश्रित चर, परिणाम)
R
lm
boxCox
car
λfamily="yjPower"
boxCox(my.regression.model, family="yjPower", plotit = TRUE)
यह निम्नलिखित की तरह एक कथानक का निर्माण करता है:
λλ
अब अपने आश्रित चर को बदलने के लिए, पैकेज yjPower
से फ़ंक्शन का उपयोग करें car
:
depvar.transformed <- yjPower(my.dependent.variable, lambda)
lambda
λboxCox
महत्वपूर्ण: केवल निर्भर चर को लॉग-ट्रांसफ़ॉर्म करने के बजाय, आपको लॉग-लिंक के साथ एक जीएलएम को फिट करने पर विचार करना चाहिए। यहां कुछ संदर्भ दिए गए हैं जो आगे की जानकारी प्रदान करते हैं: पहला , दूसरा , तीसरा । ऐसा करने के लिए R
, इसका उपयोग करें glm
:
glm.mod <- glm(y~x1+x2, family=gaussian(link="log"))
जहां y
आपके आश्रित चर और है x1
, x2
आदि अपने स्वतंत्र चर हैं।
भविष्यवक्ताओं का रूपांतरण
कड़ाई से सकारात्मक भविष्यवाणियों के परिवर्तन का अनुमान आश्रित चर के परिवर्तन के बाद अधिकतम संभावना से लगाया जा सकता है। ऐसा करने के लिए, पैकेज boxTidwell
से फ़ंक्शन का उपयोग करें car
(मूल पेपर के लिए यहां देखें )। इसे ऐसे उपयोग करें boxTidwell(y~x1+x2, other.x=~x3+x4)
:। यहां महत्वपूर्ण बात यह है कि विकल्प other.x
प्रतिगमन की शर्तों को इंगित करता है जिन्हें रूपांतरित नहीं किया जाना है। यह आपके सभी श्रेणीबद्ध चर होंगे। फ़ंक्शन निम्न प्रपत्र का आउटपुट उत्पन्न करता है:
boxTidwell(prestige ~ income + education, other.x=~ type + poly(women, 2), data=Prestige)
Score Statistic p-value MLE of lambda
income -4.482406 0.0000074 -0.3476283
education 0.216991 0.8282154 1.2538274
income
λincome
आयएन ई डब्ल्यू= 1 / आयओ एल डी--------√
स्वतंत्र चर के परिवर्तन के बारे में साइट पर एक और बहुत ही दिलचस्प पोस्ट यह एक है ।
परिवर्तनों का नुकसान
जबकि लॉग-रूपांतरित आश्रित और / या स्वतंत्र चर की अपेक्षाकृत आसान व्याख्या की जा सकती है , अन्य की व्याख्या, अधिक जटिल रूपांतरण कम सहज (मेरे लिए कम से कम) है। उदाहरण के लिए, निर्भर चर को से बदलने के बाद आप कैसे कर सकते हैं1 / वाई√λλ
गैर-संबंध संबंधों की मॉडलिंग करना
ग़ैर-ग़रीब रिश्तों को फिट करने के लिए दो काफी लचीले तरीके भिन्नात्मक बहुपद और स्प्लिन हैं । ये तीन पत्र दोनों विधियों का बहुत अच्छा परिचय देते हैं: पहला , दूसरा और तीसरा । वहाँ भी एक पूरी है पुस्तक आंशिक बहुआयामी पद और के बारे में R
। R
पैकेजmfp
लागू आंशिक बहुआयामी पद मल्टिवेरियेबल। यह प्रस्तुति भिन्नात्मक बहुपद के बारे में जानकारीपूर्ण हो सकती है। फिट splines के लिए, आपको समारोह का उपयोग कर सकते gam
(, सामान्यीकृत additive मॉडल देखें यहाँ के साथ एक उत्कृष्ट परिचय के लिए R
) से पैकेजmgcv
या कार्योंns
(प्राकृतिक क्यूबिक स्प्लिन्स) और bs
(क्यूबिक बी-स्प्लिन्स) पैकेज से splines
( इन कार्यों के उपयोग के उदाहरण के लिए यहां देखें )। फ़ंक्शन gam
का उपयोग करके आप यह निर्दिष्ट कर सकते हैं कि आप किन भविष्यवाणियों को स्प्लिन का उपयोग करके फिट करना चाहते हैं s()
:
my.gam <- gam(y~s(x1) + x2, family=gaussian())
यहाँ, एक सामान्य रेखीय प्रतिगमन के रूप में एक x1
तख़्ता और x2
रैखिक का उपयोग करके फिट किया जाएगा । अंदर gam
आप वितरण परिवार और लिंक फ़ंक्शन निर्दिष्ट कर सकते हैं glm
। तो एक लॉग-लिंक फ़ंक्शन के साथ एक मॉडल को फिट करने के लिए, आप विकल्प को family=gaussian(link="log")
अंदर gam
में निर्दिष्ट कर सकते हैं glm
।
साइट से इस पोस्ट को देखो ।