Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
$KovarianzSAMP
Neu ab Version 8.0.2.
Der $covarianceSamp Operator in Amazon DocumentDB gibt die Stichprobenkovarianz zweier numerischer Ausdrücke zurück. Es handelt sich um einen Fensteroperator, der nur in der $setWindowFields Phase verwendet wird. In den $group Stufen oder ist er nicht gültig. $bucket Sie geben den Operator unter dem output Feld der Bühne an und definieren optional die Fenstergrenzen mit einem window Dokument.
Parameter
-
$covarianceSampverwendet ein Array mit zwei Elementen[ <expression1>, <expression2> ], wobei jedes Element ein numerischer Ausdruck ist (ein Feldpfad"$x", z. B. ein Ausdruck oder eine Konstante). Es gibt die Beispielkovarianz der beiden Ausdrücke in den Dokumenten im Fenster zurück.
Beispiel (MongoDB Shell)
Das folgende Beispiel partitioniert die Dokumente nachseries, sortiert jede Partition nach t und berechnet die Stichprobenkovarianz von x und y über die gesamte Partition.
Erstellen Sie Beispieldokumente
db.measurements.insertMany([ { _id: 1, series: "A", t: 1, x: 1, y: 2 }, { _id: 2, series: "A", t: 2, x: 2, y: 5 }, { _id: 3, series: "A", t: 3, x: 3, y: 8 }, { _id: 4, series: "B", t: 1, x: 1, y: 8 }, { _id: 5, series: "B", t: 2, x: 2, y: 5 }, { _id: 6, series: "B", t: 3, x: 3, y: 2 } ]);
Beispiel für eine Abfrage
db.measurements.aggregate([ { $setWindowFields: { partitionBy: "$series", sortBy: { t: 1 }, output: { covariance: { $covarianceSamp: [ "$x", "$y" ], window: { documents: ["unbounded", "unbounded"] } } } } } ]);
Ausgabe
[
{ "_id": 1, "series": "A", "t": 1, "x": 1, "y": 2, "covariance": 3 },
{ "_id": 2, "series": "A", "t": 2, "x": 2, "y": 5, "covariance": 3 },
{ "_id": 3, "series": "A", "t": 3, "x": 3, "y": 8, "covariance": 3 },
{ "_id": 4, "series": "B", "t": 1, "x": 1, "y": 8, "covariance": -3 },
{ "_id": 5, "series": "B", "t": 2, "x": 2, "y": 5, "covariance": -3 },
{ "_id": 6, "series": "B", "t": 3, "x": 3, "y": 2, "covariance": -3 }
]
Jedes Dokument in einer Partition erhält dieselbe covariance Stichprobenkovarianz aller Dokumente in dieser Partition x und y für alle Dokumente in dieser Partition: 3 für Reihen A (X und Y nehmen zusammen zu) und -3 für Reihen B (y nimmt ab, wenn X zunimmt). Die Stichprobenkovarianz wird durch n - 1 statt durch als dividiertn, sodass ihr Betrag größer ist als die Kovarianz der Grundgesamtheit für dieselben Daten.
Codebeispiele
Um ein Codebeispiel für die Verwendung des $covarianceSamp Operators in der $setWindowFields Phase anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten: