बिंदुओं के समूह का केंद्रक ज्ञात करें


27

वेब पर खोज करते समय, बहुभुज के सेंट्रोइड्स को खोजने के समाधान अक्सर सामने आते हैं। मुझे जिस चीज में दिलचस्पी है, वह बिंदुओं के एक समूह का एक केन्द्रक पा रहा है। एक प्रकार का भारित अर्थ। मैं इसकी सराहना करता हूं अगर कोई कुछ संकेत, छद्म कोड (या इससे भी बेहतर, एक आर पैकेज जो पहले से ही इसे हल कर चुका है) प्रदान कर सकता है या इस मुद्दे से कैसे निपटा जा सकता है।

संपादित करें

धर्मान्तरण पूर्ववत (पुनः) हुआ है। iant ने निर्देशांक को औसत करने और सेंट्रोइड के लिए उपयोग करने का एक तरीका सुझाया है। जब मैंने इस वेब पेज पर सही तस्वीर देखी, तो यह मेरे दिमाग को पार कर गया ।

निम्नलिखित आंकड़ा बनाने के लिए यहां कुछ सरल आर कोड है जो यह प्रदर्शित करता है (× सेंट्रो है):

xcor <- rchisq(10, 3, 2)
ycor <- runif(10, min = 1, max = 100)
mx <- mean(xcor)
my <- mean(ycor)

plot(xcor, ycor, pch = 1)
points(mx, my, pch = 3)

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

EDIT 2

cluster::pam()$medoidsक्लस्टर के एक सेट का एक औसत लौटाता है। यह @Joris Meys से बेशर्मी से चुराया गया एक उदाहरण है:

library(cluster)
df <- data.frame(X = rnorm(100, 0), Y = rpois(100, 2))
plot(df$X, df$Y)
points(pam(df, 1)$medoids, pch = 16, col = "red")

1
क्या कोई कारण है कि बिंदुओं की न्यूनतम दूरी के बीच का केंद्र या केंद्र पर्याप्त नहीं होगा?
एंडी डब्ल्यू

1
@ रोमन: ग्राफिक गलत है: आपको माध्यिका का उपयोग करने की आवश्यकता है , न कि माध्यिका की। 2 डी स्थानिक बिंदु बादलों के लिए एक मध्य केंद्र के एनालॉग होते हैं, लेकिन यह उनमें से एक नहीं है (क्योंकि यह समन्वय-निर्भर है): एक चर्चा के लिए आँकड़े.स्टैकएक्सचेंज . com/q/1927/919 देखें ।
whuber

1
मैं भी crimestat वर्कबुक, icpsr.umich.edu/CrimeStat/files/CrimeStatChapter.4.pdf के अध्याय 4 की जाँच करने का सुझाव दूंगा । यह एक सुंदर कोमल परिचय है, वर्णन करता है और रेखांकन करता है कि उच्च आयामों के लिए माध्यिका का एक अनूठा समाधान क्यों नहीं है, और स्थानिक बिंदु पैटर्न के केंद्रीय प्रवृत्ति और विचरण के अन्य उपायों का वर्णन करता है।
एंडी डब्ल्यू

यह अधिक से अधिक दिलचस्प हो रहा है। आपके जवाबों के लिये धन्यवाद। मैं मामले को देख रहा हूं।
रोमन लुसट्रिक

2
"निर्देशांक को औसत करने और सेंट्रोइड के लिए उपयोग करने के लिए एक विधि का सुझाव दिया।" यह वास्तव में, केन्द्रक की परिभाषा है, न कि केवल कुछ जो एक अच्छा सन्निकटन बनाता है।
कॉलिन के

जवाबों:


43

बस औसत X और Y निर्देशांक (यदि आप चाहते हैं तो एक वजन से गुणा करें) और आपका सेंट्रोइड है।


4
+1 महान समाधान। यह गोलाकार पर केन्द्रक तक फैला हुआ है, भी (जो प्रक्षेपण-संबंधी विकृतियों से बचने के लिए आवश्यक है जब बिंदु दुनिया के एक बड़े हिस्से में फैले हुए हैं): पहले 3 डी (x, y, z) में कनवर्ट करें (lat, lon) भूगर्भिक) निर्देशांक, उन्हें औसत करते हैं, फिर परिणाम को वापस (लाट, लोन) में परिवर्तित करते हैं (लगभग अपरिहार्य तथ्य की अनदेखी करते हुए कि 3 डी औसत सतह के नीचे गहरा होगा)।
whuber

मैंने आपके उत्तर को दर्शाने के लिए अपना प्रश्न अपडेट किया है।
रोमन लुसट्रिक

1

आप जियोस्फियर पैकेज से सेंट्रोइड फ़ंक्शन का उपयोग कर सकते हैं।

https://www.rdocumentation.org/packages/geosphere/versions/1.5-5/topics/centroid


उत्तर देने के लिए GIS StackExchange और धन्यवाद में आपका स्वागत है। कृपया हमारे ध्यान केंद्रित किए गए प्रश्नोत्तर प्रारूप के बारे में जानने के लिए दौरे की समीक्षा करें । कृपया अधिक विवरण शामिल करने के लिए अपने उत्तर को संपादित करें क्योंकि हम आम तौर पर मूल पोस्टर या भविष्य के खोजकर्ताओं की मदद के लिए लंबे समय तक (1-2 वाक्य नहीं) उत्तर ढूंढ रहे हैं। एक संशोधन जो आप कर सकते हैं वह यह है कि आपको लगता है कि यह उपकरण मददगार होगा या एक कोड स्निपेट / स्क्रीनशॉट शामिल है।
17
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.