Die Radiusmessungen sind sicherlich fehlerbehaftet. Ich würde erwarten, dass der Fehlerbetrag proportional zu den Radien selbst ist. Nehmen wir an, die Messungen sind ansonsten unvoreingenommen. Eine vernünftige Lösung verwendet dann eine gewichtete nichtlineare Anpassung der kleinsten Quadrate mit Gewichten, die umgekehrt proportional zu den quadratischen Radien sind.
Dies ist Standard - Sachen in (unter anderem) Python, R
, Mathematica und viele voll funktionsfähige statistische Pakete, so dass ich es einfach veranschaulichen. Hier sind einige Daten, die durch Messen der Abstände mit einem relativen Fehler von 10% zu fünf zufälligen Zugriffspunkten rund um den Gerätestandort erhalten wurden:
Mathematica benötigt nur eine Codezeile und keine messbare CPU-Zeit, um die Anpassung zu berechnen:
fit = NonlinearModelFit[data, Norm[{x, y} - {x0, y0}], {x0, y0}, {x, y}, Weights -> 1/observations^2]
Bearbeiten--
Für große Radien können genauere (sphärische oder ellipsoidale) Lösungen gefunden werden, indem lediglich der euklidische Abstand Norm[{x, y} - {x0, y0}]
durch eine Funktion zur Berechnung des sphärischen oder ellipsoidalen Abstandes ersetzt wird. In Mathematica könnte dies zB über erfolgen
fit = NonlinearModelFit[data, GeoDistance[{x, y}, {x0, y0}], {x0, y0}, {x, y},
Weights -> 1/observations^2]
--Ende der Bearbeitung
Ein Vorteil einer solchen statistischen Technik besteht darin, dass Konfidenzintervalle für die Parameter (die Koordinaten des Geräts) und sogar eine gleichzeitige Konfidenzellipse für den Standort des Geräts erstellt werden können.
ellipsoid = fit["ParameterConfidenceRegion", ConfidenceLevel -> 0.95];
fit["ParameterConfidenceIntervalTable", ConfidenceLevel -> 0.95]
Es ist aufschlussreich, die Daten und die Lösung zu zeichnen:
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]
Die weißen Punkte sind die (bekannten) Zugriffspunkte.
Der große blaue Punkt ist der wahre Gerätestandort.
Die grauen Kreise repräsentieren die gemessenen Radien. Im Idealfall kreuzen sie sich alle am tatsächlichen Gerätestandort - dies ist jedoch aufgrund von Messfehlern offensichtlich nicht der Fall.
Der große rote Punkt gibt den geschätzten Gerätestandort an.
Die rote Ellipse kennzeichnet einen Vertrauensbereich von 95% für den Gerätestandort.
Die Form der Ellipse ist in diesem Fall von Interesse: Die Ortsunsicherheit ist entlang einer NW-SE-Linie am größten. Hier ändern sich die Entfernungen zu drei Zugangspunkten (nach Nordosten und Südosten) kaum, und es gibt einen Kompromiss zwischen den Entfernungen zu den beiden anderen Zugangspunkten (nach Nordosten und Südosten).
(In einigen Systemen kann ein genauerer Vertrauensbereich als Kontur einer Wahrscheinlichkeitsfunktion erhalten werden; diese Ellipse ist nur eine Annäherung zweiter Ordnung an eine solche Kontur.)
Wenn die Radien fehlerfrei gemessen werden, haben alle Kreise mindestens einen Schnittpunkt, und wenn dieser Punkt eindeutig ist, ist dies die eindeutige Lösung.
Diese Methode funktioniert mit zwei oder mehr Zugangspunkten. Drei oder mehr sind erforderlich, um Konfidenzintervalle zu erhalten. Wenn nur zwei verfügbar sind, wird einer der Schnittpunkte gefunden (sofern vorhanden). Andernfalls wird ein geeigneter Ort zwischen den beiden Zugriffspunkten ausgewählt.