-1 और 1 के बीच डेटा को सामान्य कैसे करें?


36

मैंने न्यूनतम-अधिकतम सामान्यीकरण फॉर्मूला देखा है, लेकिन यह 0 और 1. के बीच मानों को सामान्य करता है, मैं -1 और 1 के बीच अपने डेटा को कैसे सामान्य करूंगा? मेरे डेटा मैट्रिक्स में नकारात्मक और सकारात्मक दोनों मूल्य हैं।


1
यदि आप R में काम कर रहे हैं, तो कुछ विकल्पों के लिए इस धागे को देखें । विशेष रूप से, स्वीकृत उत्तर पर एक टिप्पणी में यह फ़ंक्शन होता है जहां आपने 'newMax' को 1 और 'newMin' को -1 पर सेट किया है और फ़ंक्शन को अपने डेटा पर चलाया है
— mtreg

आप विकिपीडिया पर संदर्भ निम्नानुसार पा सकते हैं: en.wikipedia.org/wiki/Normalization_(statistics)
— salem

जावास्क्रिप्ट उदाहरण, यहाँ से लिया गया । फ़ंक्शन कन्वर्टरेंज (मान, आर 1, आर 2) {रिटर्न (मूल्य - आर 1 [0]) * (आर 2 [1] - आर 2 [0]) / (आर 1 [1] - आर 1 [0]) + आर 2 [0]; } कन्वर्टरेंज (328.17, [300.77, 559.22], [1, 10]); >>> 1.9541497388276272
— Giuseppe Canale

1
यदि आप अभी भी आपके आसपास हैं तो @covfefe एक उत्तर को स्वीकार करना चाहते हैं
— Simone

जवाबों:


97

x[0,1]

x′=x−minxmaxx−minx
x[0,1]

[-1,1] में सामान्य करने के लिए [−1,1]आप इसका उपयोग कर सकते हैं:

x″=2x−minxmaxx−minx−1

सामान्य तौर पर, आप हमेशा [, बी] में एक नया चर x '' प्राप्त कर सकते हैं :x‴[a,b]

x‴=(b−a)x−minxmaxx−minx+a

15
ईमानदारी से मेरे पास इसके लिए उद्धरण नहीं हैं। यह एक यादृच्छिक चर का एक रैखिक परिवर्तन है। एक यादृच्छिक चर के समर्थन पर रैखिक परिवर्तनों के प्रभाव पर एक नज़र डालें।
— सिमोन

-1

मैंने बेतरतीब ढंग से उत्पन्न डेटा पर परीक्षण किया, और

Xout=(b−a)Xin−minXinmaxXin−minXin+a

वितरण के आकार को संरक्षित नहीं करता है। वास्तव में यादृच्छिक चर के उपयोग से इस की उचित व्युत्पत्ति देखना चाहेंगे।

मेरे लिए आकृति का संरक्षण करने वाला दृष्टिकोण उपयोग कर रहा था:

Xout=Xin−μinσin⋅σout+μout

कहा पे

σout=b−a6

(मैं मानता हूँ कि 6 का उपयोग करना थोड़ा गंदा है ) और

μout=b+a2

तथा

a और वांछित सीमा है; इसलिए मूल प्रश्न के अनुसार और ।ba=−1b=1

मैं इस तर्क से परिणाम पर पहुंचा

Zout=Zin

Xout−μoutσout=Xin−μinσin


3
क्या आप सुनिश्चित हैं कि यह परिवर्तनित डेटा सीमा के भीतर होगा? आर में, कोशिश करें set.seed(1); scale(rnorm(1000))*.333:। मुझे अधिकतम मिलता है 1.230871। आपका तरीका डेटा को मानकीकृत करने के लिए सिर्फ एक ट्वीक लगता है, बजाय उन्हें सामान्य किए हुए अनुरोध के रूप में। ध्यान दें कि प्रश्न एक विधि के लिए नहीं पूछता है जो वितरण के आकार को संरक्षित करता है (जो सामान्यीकरण के लिए एक अजीब आवश्यकता होगी)।
— गूँग - मोनिका

3
मुझे यकीन नहीं है कि डेटा के आकार को बनाए रखने में मूल परिवर्तन कैसे विफल हो सकता है। यह एक स्थिर को घटाना और फिर एक स्थिर से विभाजित करने के बराबर है, जो कि आपका प्रस्ताव करता है, और जो डेटा के आकार को नहीं बदलता है। आपका प्रस्ताव मानता है कि सभी डेटा औसतन तीन मानक विचलन के भीतर आते हैं, जो कि छोटे, लगभग सामान्य रूप से वितरित नमूनों के साथ कुछ हद तक उचित हो सकता है, लेकिन बड़े या गैर-सामान्य नमूनों के साथ नहीं।
— नूह

1
@ नोहा यह स्थिरांक द्वारा घटाना और विभाजित करने के बराबर नहीं है, क्योंकि न्यूनतम और अधिकतम डेटा यादृच्छिक चर हैं। वास्तव में, ज्यादातर अंतर्निहित वितरण के लिए वे बहुत ही परिवर्तनशील हैं - बाकी डेटा की तुलना में अधिक चर - मानकीकरण के किसी भी रूप के लिए उनका उपयोग करना आमतौर पर एक अच्छा विचार नहीं है। इस उत्तर में यह स्पष्ट नहीं है कि और क्या अर्थ है या वे डेटा से संबंधित कैसे हो सकते हैं। bab
— whuber

2
@ सच, ​​लेकिन मेरा मतलब था कि किसी दिए गए डेटासेट में (यानी, डेटा को निश्चित रूप से मानते हुए), वे स्थिरांक हैं, उसी तरह नमूना का मतलब है और नमूना मानक विचलन फ़ंक्शन स्थिरांक जब एक डेटासेट को मानकीकृत करते हैं। मेरी धारणा थी कि ओपी एक डेटासेट को सामान्य करना चाहता था, वितरण नहीं।
— नूह

@ नोहा मुझे एक ही धारणा थी, लेकिन मेरा मानना ​​है कि वर्तमान पोस्ट एक अलग व्याख्या का जवाब दे सकती है।
— whuber
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.