Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
$covarianceSamp
Nuevo a partir de la versión 8.0.2.
El $covarianceSamp operador de Amazon DocumentDB devuelve la covarianza de muestra de dos expresiones numéricas. Es un operador de ventana que solo se usa en la $setWindowFields etapa; no es válido en las etapas o. $group $bucket El operador se especifica en el output campo de la etapa y, si lo desea, puede definir los límites de la ventana con un window documento.
Parámetros
-
$covarianceSamptoma una matriz de dos elementos[ <expression1>, <expression2> ], donde cada elemento es una expresión numérica (una ruta de campo, por ejemplo"$x", una expresión o una constante). Devuelve el ejemplo de covarianza de las dos expresiones en los documentos de la ventana.
Ejemplo (MongoDB Shell)
En el ejemplo siguiente se dividen los documentosseries, se ordenan las particiones y se calcula la covarianza muestral de x toda la partición. t y
Cree documentos de ejemplo
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 } ]);
Ejemplo de consulta
db.measurements.aggregate([ { $setWindowFields: { partitionBy: "$series", sortBy: { t: 1 }, output: { covariance: { $covarianceSamp: [ "$x", "$y" ], window: { documents: ["unbounded", "unbounded"] } } } } } ]);
Salida
[
{ "_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 }
]
Todos los documentos de una partición reciben la misma covariance covarianza muestral de x y todos los documentos de esa partición: 3 para las series A (x e y aumentan juntas) y -3 para las series B (y disminuye a medida que x aumenta). La covarianza muestral se divide por, n - 1 en lugar den, por lo que su magnitud es mayor que la covarianza poblacional de los mismos datos.
Ejemplos de código
Para ver un ejemplo de código sobre el uso del $covarianceSamp operador en el $setWindowFields escenario, elija la pestaña correspondiente al idioma que desee utilizar: