हम तिरछे डेटा को सामान्य वितरण में क्यों बदलते हैं


15

मैं कागल ( हाउस प्राइस पर मानव एनालॉग कर्नेल: आवास प्रतिगमन तकनीक ) पर आवास की कीमतों की प्रतियोगिता के समाधान के माध्यम से जा रहा था और इस हिस्से में आया था:

# Transform the skewed numeric features by taking log(feature + 1).
# This will make the features more normal.
from scipy.stats import skew

skewed = train_df_munged[numeric_features].apply(lambda x: skew(x.dropna().astype(float)))
skewed = skewed[skewed > 0.75]
skewed = skewed.index

train_df_munged[skewed] = np.log1p(train_df_munged[skewed])
test_df_munged[skewed] = np.log1p(test_df_munged[skewed])

मुझे यकीन नहीं है कि एक तिरछे वितरण को सामान्य वितरण में परिवर्तित करने की आवश्यकता क्या है। कृपया, क्या कोई विस्तार से बता सकता है:

  1. यहाँ ऐसा क्यों किया जा रहा है? या यह कैसे सहायक है?
  2. यह फीचर-स्केलिंग से कैसे अलग है?
  3. क्या यह सुविधा-इंजीनियरिंग के लिए एक आवश्यक कदम है? यदि मैं इस चरण को छोड़ देता हूं तो क्या होने की संभावना है?

2
तो अवशिष्ट गाऊसी हैं (और औसत से रद्द किया जा सकता है), विचरण स्थिर है, और पूर्ववर्ती अभिसरण को पूर्ववर्ती करने के लिए पूर्वसूचक। en.wikipedia.org/wiki/Power_transform
Emre

जवाबों:


12

आप अपने गुणांक की व्याख्या करना चाह सकते हैं। यही है, अगर मैं अपने चर वृद्धि करता हूं, तो "जैसी चीजों को कहने में सक्षम हो।"X1Yβ1

आपके गुणांक के व्याख्यात्मक होने के लिए, रैखिक प्रतिगमन चीजों का एक गुच्छा मानता है।

X

XXY^YY

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

निष्पक्ष अनुमान लगाने के लिए ये सभी तकनीकें हैं । मुझे नहीं लगता कि इसका अभिसरण से कोई लेना-देना है जैसा कि अन्य लोगों ने कहा है (कभी-कभी आप अपने डेटा को सामान्य करना भी चाह सकते हैं, लेकिन यह एक अलग विषय है)।

बाद रेखीय प्रतीपगमन मान्यताओं महत्वपूर्ण यदि आप या तो गुणांक व्याख्या करने के लिए चाहते हैं या आप अपने मॉडल में सांख्यिकीय परीक्षण उपयोग करना चाहते हैं है। अन्यथा, इसके बारे में भूल जाओ।

y^-y2ynormalize


3

यहां तिरछे डेटा को एक जोड़कर सामान्य किया जा रहा है (एक जोड़ा ताकि शून्य 0 के रूप में परिभाषित नहीं किया जा रहा है) और प्राकृतिक लॉग ले रहे हैं। स्क्वायर रूट या पारस्परिक या लॉगरिथम लेने जैसी परिवर्तन तकनीकों का उपयोग करके डेटा को लगभग सामान्य किया जा सकता है। अब, इसकी आवश्यकता क्यों है। वास्तव में डेटा में कई एल्गोरिदम यह मानते हैं कि डेटा विज्ञान सामान्य है और यह मानकर विभिन्न आँकड़ों की गणना करता है। तो जितना अधिक डेटा सामान्य के करीब होगा उतना ही अधिक यह धारणा को फिट करता है।


3
यहाँ एल्गोरिदम ढाल बढ़ाने और लसो प्रतिगमन हैं। मुझे लगता है कि यह उत्तर अधिक उपयोगी होगा यदि यह दिखा सकता है कि यह (या नहीं है) विशेष रूप से इन दोनों एल्गोरिदम के लिए प्रासंगिक कैसे है।
oW_

मेरे दृष्टिकोण से, जब एक मॉडल को प्रशिक्षित किया जाता है, चाहे वे रेखीय प्रतिगमन या कुछ निर्णय ट्री (बाहर की ओर मजबूत) हों, तिरछा डेटा एक मॉडल को डेटा में एक उचित पैटर्न खोजने में मुश्किल बनाता है यही कारण है कि हमें तिरछा डेटा बनाना पड़ता है सामान्य या गौसियन में।
गोल्डी राणा

1

क्योंकि डेटा विज्ञान दिन के अंत में सिर्फ आँकड़े हैं, और आंकड़ों की प्रमुख मान्यताओं में से एक केंद्रीय सीमा प्रमेय है । इसलिए यह कदम उठाया जा रहा है क्योंकि कुछ बाद के कदम सांख्यिकी तकनीकों का उपयोग करते हैं जो इस पर भरोसा करते हैं।


1
एक प्रमेय एक धारणा नहीं है। केंद्रीय सीमा प्रमेय वास्तव में गारंटी देता है कि स्वतंत्र यादृच्छिक चर का औसत लगभग सामान्य रूप से वितरित किया जाता है, जबकि व्यक्तिगत यादृच्छिक चर सामान्य रूप से वितरित नहीं होते हैं।
एलियास स्ट्रील

1
यह तर्क की एक अत्यंत त्रुटिपूर्ण श्रृंखला है। यह पसंद है: "- मैंने लोगों को सेब खाने से पहले छीलते देखा है। क्यों? - ओह, ऐसा इसलिए है क्योंकि सेब फल हैं और एक प्रमुख फल नारंगी है और आप हमेशा एक नारंगी छीलते हैं!"।
ayorgo
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.