Pomiary promienia z pewnością są obarczone pewnym błędem. Spodziewałbym się, że wielkość błędu będzie proporcjonalna do samych promieni. Załóżmy, że pomiary są poza tym obiektywne. Rozsądnym rozwiązaniem jest zastosowanie ważonego nieliniowego dopasowania najmniejszych kwadratów , z ciężarami odwrotnie proporcjonalnymi do kwadratowych promieni.
Jest to standardowy materiał dostępny w (między innymi), Python R
, Mathematica i wiele pełnych funkcjonalny pakietów statystycznych, więc będę po prostu zilustrować go. Oto niektóre dane uzyskane przez pomiar odległości, z błędem względnym 10%, do pięciu losowych punktów dostępu otaczających lokalizację urządzenia:
Mathematica potrzebuje tylko jednego wiersza kodu i żadnego mierzalnego czasu procesora, aby obliczyć dopasowanie:
fit = NonlinearModelFit[data, Norm[{x, y} - {x0, y0}], {x0, y0}, {x, y}, Weights -> 1/observations^2]
Edytować--
W przypadku dużych promieni bardziej dokładne (sferyczne lub elipsoidalne) rozwiązania można znaleźć po prostu zastępując odległość euklidesową Norm[{x, y} - {x0, y0}]
funkcją obliczającą odległość sferyczną lub elipsoidalną. W Mathematica można to zrobić np. Przez
fit = NonlinearModelFit[data, GeoDistance[{x, y}, {x0, y0}], {x0, y0}, {x, y},
Weights -> 1/observations^2]
- koniec edycji
Jedną z zalet stosowania takiej techniki statystycznej jest to, że może ona wytwarzać przedziały ufności dla parametrów (które są współrzędnymi urządzenia), a nawet równoczesną elipsę pewności dla lokalizacji urządzenia.
ellipsoid = fit["ParameterConfidenceRegion", ConfidenceLevel -> 0.95];
fit["ParameterConfidenceIntervalTable", ConfidenceLevel -> 0.95]
Pouczające jest wykreślenie danych i rozwiązania:
Graphics[{Opacity[0.2], EdgeForm[Opacity[0.75]], White, Disk[Most[#], Last[#]] & /@ data,
Opacity[1], Red, ellipsoid,
PointSize[0.0125], Blue, Point[source], Red, Point[solution],
PointSize[0.0083], White, Point @ points},
Background -> Black, ImageSize -> 600]
Białe kropki to (znane) lokalizacje punktów dostępu.
Duża niebieska kropka to prawdziwa lokalizacja urządzenia.
Szare kółka reprezentują zmierzone promienie. Idealnie wszystkie przecinałyby się w prawdziwej lokalizacji urządzenia - ale oczywiście nie robią tego z powodu błędu pomiaru.
Duża czerwona kropka to szacowana lokalizacja urządzenia.
Czerwona elipsa wyznacza 95% obszar pewności dla lokalizacji urządzenia.
W tym przypadku interesujący jest kształt elipsy: niepewność lokalizacyjna jest największa wzdłuż linii NW-SE. Tutaj odległości do trzech punktów dostępowych (do NE i SW) prawie się nie zmieniają i występuje kompromis w błędach między odległościami do dwóch innych punktów dostępowych (na północ i południowy wschód).
(Bardziej dokładny obszar ufności można uzyskać w niektórych systemach jako kontur funkcji prawdopodobieństwa; ta elipsa jest tylko przybliżeniem drugiego rzędu do takiego konturu).
Gdy promienie są mierzone bezbłędnie, wszystkie koła będą miały co najmniej jeden punkt wzajemnego przecięcia i - jeśli ten punkt jest unikalny - będzie to unikalne rozwiązanie.
Ta metoda działa z dwoma lub więcej punktami dostępu. Aby uzyskać przedziały ufności, potrzebne są trzy lub więcej. Gdy dostępne są tylko dwa, znajduje jeden z punktów przecięcia (jeśli istnieją); w przeciwnym razie wybiera odpowiednią lokalizację między dwoma punktami dostępu.