Sei so dass für eine sehr kurze Stichprobe wie berechnet werden kann aus dem Auffinden der ten Ordnung statischer paarweiser Differenzen:
7 6 5 3 2 1
1 6 5 4 2 1
2 5 4 3 1
3 4 3 2
5 2 1
6 1
7
h = [n / 2] + 1 = 4
k = h (h-1) / 2 = 8
Also ist
Offensichtlich benötigen wir für große Samples, die aus 80.000 Datensätzen bestehen, sehr viel Speicher.
Gibt es überhaupt im 1D-Raum anstelle von 2D zu berechnen ?
Ein Link zur Antwort ftp://ftp.win.ua.ac.be/pub/preprints/92/Timeff92.pdf, obwohl ich es nicht vollständig verstehen kann.
Antworten:
Update: Der Kern des Problems besteht darin, dass zum Erreichen der Komplexität von in der Reihenfolge von Speicherplatz benötigt wird.O(nlog(n)) O(n)
Nein, ist die untere theoretische Schranke für die zeitliche Komplexität von (siehe (1)) der Auswahl des -Elements unter allen möglich .O(nlog(n)) kth n(n−1)2 |xi−xj|:1≤i<j≤n
Sie können -Raum erhalten, aber nur, indem Sie naiv alle Kombinationen von in der Zeit überprüfen .O(1) xi−xj O(n2)
Die gute Nachricht ist, dass Sie den in der Funktion im Paket implementierten Skalierungsschätzer (siehe (2) und (3) für eine verbesserte Version und einige Zeitvergleiche verwenden können . Der univariate Schätzer ist ein zweistufiger (dh neu gewichteter) Skalenschätzer. Es hat einen Wirkungsgrad nach Gauß von 95 Prozent, einen Durchschlagspunkt von 50 Prozent und eine Komplexität von -Zeit und -Raum (und es kann problemlos online geschaltet werden), wodurch die Hälfte der Berechnungskosten bei wiederholter Verwendung gespart wird - obwohl Sie müssen in den Code eintauchen, um diese Option zu implementieren, es ist ziemlich einfach zu tun).τ τ O ( n ) O ( 1 )τ O(n) O(1)
scaleTau2()
R
robustbase
R
Bearbeiten Um dies zu verwenden
R
(kostenlos und kann hier heruntergeladen werden )quelle
(Sehr kurze Antwort) Der Text zum Kommentieren sagt
Also los geht's: Es gibt eine Abhandlung über einen Online-Algorithmus, der anscheinend recht gut funktioniertQn :
Anwendung des Q n Estimator Online .
BEARBEITEN
(vom Benutzer user603). Der in diesem Artikel verknüpfte Algorithmus ist eine Moving-Window- Version des .Qn
quelle
Das ist mein Werkzeug von Qn ...
Ich habe dies in C programmiert und das Ergebnis ist folgendes:
quelle