कैसे गलत जीपीएस अंक फ़िल्टर करने के लिए?


11

मेरे पास GPS पॉइंट्स का एक डेटाबेस है। कोई ट्रैक नहीं है, केवल अंक। मुझे हर 100 मीटर के लिए कुछ मूल्य की गणना करने की आवश्यकता है, लेकिन कभी-कभी जीपीएस ने एक गलत निर्देशांक दिया जो वास्तविक जीपीएस बिंदुओं से बहुत दूर है, और एक छोटे वर्ग के लिए मूल्यों की गणना करने के बजाय, मुझे इसे वास्तव में बड़े आयताकार क्षेत्र के लिए गणना करना होगा।

गलत GPS पॉइंट को फ़िल्टर करने के लिए सबसे अच्छा एल्गोरिथ्म क्या है?

मैंने समझने में मदद करने के लिए एक स्क्रीनशॉट बनाया:

[Http://content.screencast.com/users/smirnoffs/folders/Jing/media/94624331-db6a-4171-bed9-e2183f953a1d/gps_error.png]


1
मैं ऐसे आउटलेयर का पता लगाने के लिए मानदंड के रूप में अंकों के बीच औसत दूरी (कहे जाने वाले 10 अंतिम बिंदुओं) की एक छोटी संख्या का उपयोग करूँगा।
lynxlynxlynx

क्या आप अपनी विधि का अधिक विस्तृत वर्णन कर सकते हैं? मेरे पास बिंदुओं का एक डेटाबेस है, वे किसी भी प्रकार के क्रमबद्ध नहीं हैं। इसलिए दूरी 2 मीटर या 500 मीटर हो सकती है। लेकिन कुछ बिंदु बहुत दूर हैं। मैंने आपको समझने में मदद करने के लिए
smirnoffs

2
समझा। इस मामले में मेरा दृष्टिकोण इतना अच्छा नहीं है। मैं इसके बजाय प्रत्येक बिंदु के लिए निकटतम पड़ोसी बिंदु की गणना करूंगा और फिर वहां के आउटलेयर को बंद कर दूंगा।
lynxlynxlynx

2
@Lynx द्वारा सुझाया गया दूसरा तरीका नमूना डेटा के साथ अच्छी तरह से काम करेगा, खासकर जब आउटलाइंग डिटेक्शन विधि एक अच्छा है। विकल्पों के लिए हमारे आँकड़े साइट पर आउटलेर के बारे में प्रश्न देखें । उदाहरण के लिए, कई रचनात्मक (और मान्य) दृष्टिकोण आँकड़े.स्टैकएक्सचेंज . com / questions / 213 पर सुझाए गए हैं
whuber

जवाबों:


3

अंक के खिलाफ Anselin Local Moran I चलाएं और -1.96 से नीचे के z- स्कोर के साथ कुछ भी बाहर फेंक दें। यह स्थानिक आउटलेर्स का पता लगाने के लिए एक सांख्यिकीय तरीका है। आपको यह सुनिश्चित करना चाहिए कि सभी बिंदुओं को ऐसा करने के लिए उनके स्थानिक स्थान से संबंधित मूल्य है।

लेकिन व्हीलर की टिप्पणी के बाद 10.1 में टूल पर जाँच करने पर, मुझे एहसास हुआ कि यदि आप आर्कगिस 10.1 का उपयोग करते हैं, तो ग्रुपिंग विश्लेषण टूल उपलब्ध है, जो वास्तव में आप क्या करना चाहते हैं।

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

उसके आधार पर, मुझे लगता है कि Delauney triangulation एक फिल्टर एल्गोरिथ्म का स्रोत हो सकता है, लेकिन मुझे अभी तक यकीन नहीं है।

एक और अपडेट: पार्टिशनहोम में खुदाई करने के बाद, वह स्क्रिप्ट जो ग्रुपिंग एनालिसिस टूल को चलाती है, मुझे लगता है कि इसमें NoNeighbors हिस्से के साथ संयुक्त डिस्कनेक्ट किए गए समूहों के लिए एल्गोरिथ्म का उपयोग करना संभव है, हालांकि मुझे इस हिस्से को खोदने में परेशानी हो रही है। स्क्रिप्ट।


(-1) यह 40 अंक में से 1 को फेंकने की गारंटी है, इससे कोई फर्क नहीं पड़ता। बाहरी जाँच के लिए ऐसे किसी भी परीक्षण का उपयोग करना उचित नहीं है।
whuber

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

1
लगभग: यदि आउटलेयर खुद एक क्लस्टर बनाते हैं, तो आप उन्हें पूरी तरह से पता लगाने में विफल हो सकते हैं। (ऐसी स्थिति पर विचार करें जहां शून्य या स्पष्ट रूप से खराब निर्देशांक स्वचालित रूप से मैप किया जाता है।) आपकी टिप्पणी से पता चलता है कि आउटलेयर खोजना मुश्किल हो सकता है और आउटलेर की प्रकृति पर निर्भर करता है: क्या एक या कई हो सकते हैं; वे कितनी दूर हो सकते हैं; चाहे वे क्लस्टर कर सकते हैं; आदि एक सामान्य सिद्धांत के रूप में, आंकड़े जो वितरणात्मक धारणाएं बनाते हैं (जैसे कि स्थानीय मोरन के I का यह उपयोग) काम नहीं करता है और साथ ही मजबूत, गैर-पैरामीट्रिक आँकड़े भी हैं।
whuber

2
मैं एक विशिष्ट सैद्धांतिक समस्या पर विचार कर रहा था, जहां आपके पास "अच्छे" जीपीएस बिंदु हैं और आपके पास "खराब" जीपीएस बिंदुओं की एक समान संख्या है, जो बाउंडिंग बॉक्स के एक कोने पर एक दूसरे के शीर्ष पर खड़ी हैं। "अच्छे" अंक के लिए ब्याज के क्षेत्र के ज्ञान के बिना, मुझे नहीं लगता कि आप सांख्यिकीय रूप से अलग कर सकते हैं कि कौन सा सेट "अच्छा" है और कौन सा सेट "खराब" है। यह एक ऐसी समस्या हो सकती है जिसमें ब्याज के क्षेत्रों के मैनुअल पदनाम की आवश्यकता होती है।
ब्लॉर्ड-कैस्टिलो

2
यह सही है: आपने एक द्विविध बहुभिन्नरूपी वितरण का वर्णन किया है। आमतौर पर ऐसे मामलों में क्या किया जाता है या तो एक मिश्रण मॉडल या क्लस्टर एल्गोरिदम के अनुप्रयोग का अनुमान है। परिणाम मिश्रण / क्लस्टर घटकों को अलग करने के लिए है, लेकिन उनमें से किसी को "आउटलेयर:" के रूप में नामित किए बिना उस कर्तव्य को उपयोगकर्ता को गिरना होगा।
whuber

3

यह आउटलेर्स की सूची प्राप्त करने में मदद कर सकता है:

SELECT p1.point_id 
FROM p1 AS points, p2 AS points
WHERE p1.point_id <> p2.point_id AND
ST_Distance(p1.geom, p2.geom) > 10000

यहाँ, point_id आपकी पॉइंट्स टेबल की प्राथमिक कुंजी होगी। दूरी फ़ंक्शन उन बिंदुओं को पाएगा जहां निकटतम 10000 मीटर से अधिक है। (आप, निश्चित रूप से, उचित मूल्य डाल सकते हैं)

यदि उपरोक्त काम करता है, तो एक DELETE क़ानून में परिवर्तन करें, कुछ इस तरह है:

DELETE FROM points WHERE point_id IN (
-- SELECT as above
SELECT ....
);

1
1. अंक हल नहीं होते हैं। 2. क्या होगा यदि त्रुटि 10000 मीटर से कम होगी? उदाहरण के लिए 150 मीटर?
स्मरनॉफ्स

1
शायद मेरी समझ में नहीं आया। आपकी छवि से, मैं देखता हूं कि एक क्षेत्र में लगभग सभी बिंदुओं को एक साथ जोड़ा जाता है, और बहुत कम संख्या बहुत दूर है। क्या यह समस्या नहीं है? यदि एक बिंदु दूसरे से केवल 150 मीटर की दूरी पर है, तो आप कैसे जानते हैं कि यह एक बाहरी है?
माईका

1

मैं आपको काम पाने में मदद करने के लिए और अधिक व्यावहारिक जवाब देने की कोशिश करूंगा। (यदि आप एल्गोरिदम पर चर्चा की तलाश कर रहे हैं तो क्षमा करें)

परिदृश्य 1: आप 'जीपीएस बिंदुओं' का उल्लेख करते हैं, इसलिए यदि आपके पास मूल जीपीएस तरीके की पहुंच है, तो काम बहुत आसान हो जाता है। आप उच्च HDOP / VDOP या देखने में उपग्रहों की संख्या के साथ अंक निकाल सकते हैं - जो मूल रूप से त्रुटि का कारण होगा। एक मुक्त उपकरण जैसे gpsbabel में ऐसे फ़िल्टर अंतर्निहित हैं। http://www.gpsbabel.org/htmldoc-development/Data_Filters.html

परिदृश्य 2: आपके पास बस अंकों का एक सेट है। समस्या तब स्थानिक outliers का पता लगाने के हो जाता है। इस क्षेत्र में बहुत सारे शोध हैं और मैं इस विषय पर कई शोधों को एक वेब खोज से देखता हूं। यदि आप अपना डेटा साफ़ करना चाहते हैं, तो आप GRASS के v.outlier एल्गोरिथ्म का उपयोग कर सकते हैं जो आपके द्वारा साझा किए गए स्क्रीनशॉट के आधार पर आपके मामले में काम करना चाहिए। http://grass.osgeo.org/gdp/html_grass63/v.outlier.html


टिप्पणी के लिए धन्यवाद। दुर्भाग्य से मेरे पास केवल निर्देशांक हैं। जीपीएस सिर्फ निर्देशांक का एक स्रोत था और मैं मूल जीपीएस पटरियों तक नहीं पहुंच पाया हूं।
smirnoffs

-2

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

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

यदि खराब डेटा कोई मायने नहीं रखता है, तो बस इसका उपयोग करें और त्रुटियों को अनदेखा करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.