प्रतिगमन के लिए बॉक्स कॉक्स ट्रांसफ़ॉर्म


9

मैं सिर्फ एक भविष्यवक्ता (कहना (x, y)) के साथ कुछ डेटा पर एक रैखिक मॉडल फिट करने की कोशिश कर रहा हूं। डेटा ऐसा है कि x के छोटे मानों के लिए, y मान एक सीधी रेखा के लिए एक तंग फिट देते हैं, हालांकि जैसे ही x मान बढ़ता है, y मान अधिक अस्थिर हो जाते हैं। इस तरह के डेटा (आर कोड) का एक उदाहरण है

y = c(3.2,3.4,3.5,3.8,4.2,5.5,4.5,6.8,7.4,5.9)
x = seq(1,10,1)

मैं यह जानने के लिए उत्सुक हूं कि क्या कोई शक्ति परिवर्तन मौजूद है (बॉक्स कॉक्स शायद?) जो मुझे डेटा के लिए एक बेहतर फिट होने देता है, जैसा कि नीचे दिखाया गया है।

fit = lm(y ~ x)

जैसा कि मैं इसे समझता हूं, बॉक्स कॉक्स जैसे परिवर्तनों का उद्देश्य बेहतर फिट होना नहीं है, बल्कि मॉडल की मान्यताओं को पूरा करना है। यह एक बेहतर फिट, एक बेहतर फिट या बहुत अधिक बदलाव नहीं हो सकता है, लेकिन यह एक ऐसा फिट होगा जो मान्यताओं का उल्लंघन नहीं करता है।
पीटर Flom

एक nonlinear परिवर्तन एक रैखिक संबंध को nonlinear बना देगा (हालांकि कभी-कभी आप x को भी रूपांतरित कर सकते हैं और इसे ठीक कर सकते हैं)। हालांकि, परिवर्तन एक घुमावदार को भी सीधा कर सकता है, और एक ही समय में विषमलैंगिकता को कम कर सकता है (हालांकि एक ही परिवर्तन के साथ दोनों करना हमेशा संभव नहीं होता है)। उस डेटा के लिए एक लॉग-ट्रांसफॉर्म कुछ हद तक मदद करता है।
Glen_b -Reinstate Monica

4
के दो चरम और मध्यम (पांचवें) मूल्यों का उपयोग करना yआँकड़े .stackexchange.com / questions / 35711 / पर दिखाया गया तरीका एक लघुगणक (पैरामीटर 0 के साथ बॉक्स-कॉक्स परिवर्तन) को दर्शाता है जो रिश्ते को रैखिक बनाने के लिए उपयुक्त होगा । पहले, छठे और अंतिम मूल्यों का उपयोग करना दर्शाता है कि पारस्परिक (पैरामीटर -1) अच्छा होगा। यह सुझाव देता है कि 0 और -1 के बीच लगभग कोई भी पैरामीटर काम कर सकता है। रेंज कोई आश्चर्य की बात नहीं है कि कितने डेटा हैं। कोई भी मोनोटोनिक पुनः अभिव्यक्ति इन आंकड़ों के लिए भिन्नता को स्थिर नहीं करेगा।
व्हिबर

जवाबों:


6

MASS पैकेज जो आपके R के साथ आता है, पहले से ही boxcox()फंक्शन है, जिसे आप उपयोग कर सकते हैं: डेटा में पढ़ने के बाद, करें:

library(MASS)
boxcox(y ~ x)

फिर इस ग्राफ को देखें, जो कि बॉक्सकोक्स ट्रांसफॉर्मेशन पैरामीटर के लिए ग्राफिकल 95% विश्वास अंतराल दिखाता है। लेकिन आपके पास वास्तव में ऐसा करने के लिए पर्याप्त डेटा (n = 10) नहीं है, परिणामस्वरूप आत्मविश्वास अंतराल लगभग -2 से 2 तक चला जाता है!, लगभग 0 की अधिकतम संभावना अनुमान के साथ (एक लॉग-ट्रांसफॉर्म, जैसा कि पहले कहा गया था)। यदि आपके वास्तविक डेटा में अधिक अवलोकन हैं, तो आपको यह प्रयास करना चाहिए।

जैसा कि दूसरों ने कहा है, यह परिवर्तन वास्तव में भिन्नताओं को स्थिर करने की कोशिश कर रहा है। यह सिद्धांत से वास्तव में स्पष्ट नहीं है, यह क्या करता है, एक सामान्य-वितरण आधारित संभावना समारोह को अधिकतम करने की कोशिश करना है, जो निरंतर गठबंधन मानता है। कोई सोच सकता है कि एक सामान्य-आधारित संभावना को अधिकतम करने से अवशिष्टों के वितरण को सामान्य करने की कोशिश की जाएगी, लेकिन व्यवहार में मुख्य रूप से संभावना को अधिकतम करने के लिए परिवर्तन को स्थिर करने से आता है। यह शायद इतना आश्चर्य की बात नहीं है, यह देखते हुए कि जिस संभावना को हम अधिकतम करते हैं वह एक निरंतर विचरण सामान्य वितरण परिवार पर आधारित है!

मैंने एक बार XLispStat में एक स्लाइडर-आधारित डेमो लिखा था, जिसने इसे स्पष्ट रूप से प्रदर्शित किया था!


3

जब आपके पास एक रेखीय संबंध होता है, लेकिन असमान रूप से भिन्न होते हैं, तो आपको समान रूप से चर के साथ एक रैखिक संबंध प्राप्त करने के लिए आम तौर पर x और y दोनों को बदलना होगा (या बस अनियंत्रित चर पर भारित कम से कम वर्ग प्रतिगमन का उपयोग करें)।

एवीएएस प्रक्रिया का उपयोग संभावित परिवर्तनों का सुझाव देने के लिए किया जा सकता है।


डेटा पर एक नज़र डालें: y प्रवृत्तियों के लिए नीरस x से 1 सेवा 5, तो व्यवस्थित रूप से इसके लिए बहुत कुछ करता है x के बीच 5 तथा 10। इसका तात्पर्य यह है कि कोई निरंतर अखंड पुन: अभिव्यक्ति नहीं करता हैyभिन्नताओं को स्थिर करने में सफल होंगे। भारित कम से कम वर्गों का आपका सुझाव इस सीमा के प्रकाश में आशाजनक लगता है, लेकिन किसी को वज़न कैसे चुनना चाहिए?
whuber

@Whuber से सहमत
ब्रोकोली

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

यह देखते हुए कि एक्स के साथ विचरण बढ़ता है, क्या glmएक पॉइज़न लिंक फ़ंक्शन के साथ एक फ्रेमवर्क इसे काट देगा?
रोमन लुसट्रिक 11

3
@ RomanLuštrik, एक पॉइसन प्रतिगमन पर विचार करने के लिए कुछ है, लेकिन चुनाव विज्ञान के आधार पर किया जाना चाहिए, न कि डेटा के आधार पर। उपरोक्त डेटा में गैर-पूर्णांक हैंy, इसलिए गैर-पूर्णांकों के लिए कुछ प्रकार के वजन या अवलोकन खिड़की की आवश्यकता होगी जो कि पॉइसन प्रतिगमन में समझ में आए। यह केवल तभी माना जाना चाहिए जब प्रतिक्रिया चर गणना का प्रतिनिधित्व करती है और डेटा के पीछे का विज्ञान पॉइसन वितरण के अनुरूप है।
ग्रेग स्नो

1

खैर, आर में आप यह कोशिश कर सकते हैं:

library(MASS)
boxcox(y~x)
plot(1/y^2~x) # since the profile likelihood has a maximum near 2

यहाँ छवि विवरण दर्ज करें

लेकिन यह वास्तव में इस बात पर निर्भर करता है कि 'डेटा के लिए बेहतर फिट' से आपका क्या मतलब है


-2

अच्छी तरह से अगर x के लिए आपका सारा डेटा नॉन निगेटिव है, तो आप बॉक्स कॉक्स ट्रांसफॉर्मेशन का उपयोग कर सकते हैं ... ट्रांसफॉर्मेशन के पैरामीटर लैम्ब्डा के आदर्श मूल्य का अनुमान लगाने के लिए आप matlab ... http://www.mathworks.in/ का उपयोग कर सकते हैं । मदद / वित्त / boxcox.html


1
यहां "आदर्श" का अर्थ है प्रश्न में पूछे जाने के अलावा कुछ और। प्रश्न विभिन्नताओं को स्थिर करने का प्रयास करता है, जबकि मतलूब समाधान उन्हें यथासंभव सामान्य रूप से वितरित करने के लिए तैयार करना चाहता है।
whuber
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.