Quantile (FPScript)
Ermittelt einzelne, gleitende oder Blockquantile für einen Datensatz.
Syntax
Quantile(DataSet, Alpha, [ Mode = PROCESS_COLUMNS ] [ , IntervalWidth ])
Die Syntax der Quantile-Funktion besteht aus folgenden Teilen:
Teil |
Beschreibung |
||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DataSet |
Der auszuwertende Datensatz. Es sind alle Datenstrukturen erlaubt. Es sind alle numerischen Datentypen erlaubt. Ist das Argument eine Liste, dann wird die Funktion für jedes Element der Liste ausgeführt und das Ergebnis ist ebenfalls eine Liste. |
||||||||||||||
Alpha |
Gibt den Parameter für die Ermittlung des Quantils an. Erlaubte Datenstrukturen sind Einzelwert. Es sind alle numerischen Datentypen erlaubt. Der Wert muss größer gleich 0 und kleiner gleich 1 sein. Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt. |
||||||||||||||
Mode |
Gibt an, wie Datenmatrizen und Signalreihen verarbeitet werden sollen und ob einzelne, gleitende oder Blockquantile ermittelt werden sollen. Wenn Sie das Argument weglassen, erfolgt spaltenweise Ermittlung von Einzelquantilen. Das Argument Mode kann folgende Werte haben:
...plus einer optionalen Konstanten, die die Berechnungsweise bestimmt:
Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt. Wenn das Argument nicht angegeben wird, wird es auf den Vorgabewert PROCESS_COLUMNS gesetzt. |
||||||||||||||
IntervalWidth |
Dieses Argument wird für die Ermittlung von gleitenden und Blockquantilen benötigt. Die Intervallbreite gibt dann die Anzahl der zu betrachtenden Werte an. Die Breite sollte eine ungerade Zahl sein. Ansonsten ist das Intervall unsymmetrisch und es wird rechts vom Zentrum ein Wert mehr als links davon in die Berechnung einbezogen. Erlaubte Datenstrukturen sind Einzelwert. Es sind alle ganzzahligen Datentypen erlaubt. Der Wert muss größer gleich 1 sein. Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt. |
Anmerkungen
Um das Alpha-Quantil zu ermitteln, wird die Stichprobe sortiert und dann der Wert an der Position Alpha * NumberOfRows(DataSet) entnommen.
Wenn Alpha eine Position angibt, die zwischen zwei benachbarten Werten liegt (z. B. gerade Wertanzahl und Alpha = 0.5), dann wird zwischen den Werten linear interpoliert. Für folgende Werte von Alpha existieren spezielle Begriffe:
Wert von Alpha |
Interpretation |
---|---|
0.25 |
Unteres Quartil |
0.5 |
Median |
0.75 |
Oberes Quartil |
Ein Einzelwert wird unverändert zurückgegeben. Bei Signalen und Signalreihen wird die Y-Komponente verarbeitet und die X- bzw. Z-Komponente nach Möglichkeit übernommen. Bei der Berechnung von gleitenden und Blockquantilen entspricht die Datenstruktur des Ergebnisses der des Argumentes. Wenn ansonsten DataSet eine Datenreihe oder ein Signal ist, so ist das Ergebnis ein Einzelwert mit dem gesuchten Quantilen. Andernfalls ist das Ergebnis eine Datenreihe bzw. ein Signal mit einem Quantil pro Spalte bzw. Zeile.
Die Datentypen Kalenderzeit und Zeitspanne bleiben im Ergebnis erhalten. Für alle anderen Datentypen hat das Ergebnis den Typ 64-Bit Fließkommazahl.
Hinweis Die Quantile-Funktion eignet sich zur Realisierung eines Medianfilters. Hierzu verwenden Sie die Funktion mit Alpha = 0.5 und im Modus CALC_MOVING. Ein Medianfilter glättet ein Signal ähnlich wie ein gleitender Mittelwert, zeigt jedoch ein besseres Verhalten bei Signalen mit Ausreißern. Einzelne Ausreißer haben großen Einfluss auf den Mittelwert aber kleinen Einfluss auf den Median. Folgende Grafik zeigt die Unterschiede:
Verfügbarkeit
FlexPro Basic, Professional, Developer Suite
Beispiele
Quantile({2, 5, 7, 1, 3}, 0.5) |
Ergibt 3. (der Median) |
Quantile(Signal, 0.5, CALC_MOVING, 10) |
Medianfilterung mit Glättungsbreite 10. |