Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
$kovariansAMP
Baru dari versi 8.0.2.
$covarianceSampOperator di Amazon DocumentDB mengembalikan contoh kovarians dari dua ekspresi numerik. Ini adalah operator jendela yang hanya digunakan di pang $setWindowFields gung; itu tidak valid dalam ta $bucket hapan $group atau. Anda menentukan operator di bawah output bidang panggung, dan secara opsional menentukan batas jendela dengan window dokumen.
Parameter
-
$covarianceSampmengambil array dua elemen[ <expression1>, <expression2> ], di mana setiap elemen adalah ekspresi numerik (jalur bidang seperti"$x", ekspresi, atau konstanta). Ini mengembalikan contoh kovarians dari dua ekspresi di seluruh dokumen di jendela.
Contoh (MongoDB Shell)
Contoh berikut mempartisi dokumen berdasarkanseries, mengurutkan setiap partisi berdasarkant, dan menghitung kovarians sampel dari x dan di y seluruh partisi.
Buat dokumen sampel
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 } ]);
Contoh kueri
db.measurements.aggregate([ { $setWindowFields: { partitionBy: "$series", sortBy: { t: 1 }, output: { covariance: { $covarianceSamp: [ "$x", "$y" ], window: { documents: ["unbounded", "unbounded"] } } } } } ]);
Keluaran
[
{ "_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 }
]
Setiap dokumen dalam partisi menerima yang samacovariance, contoh kovarians dari x dan y di semua dokumen di partisi itu: 3 untuk seri A (x dan y meningkat bersama-sama) dan -3 untuk seri B (y berkurang saat x meningkat). Kovarians sampel dibagi dengan n - 1 bukann, sehingga besarnya lebih besar daripada kovarians populasi untuk data yang sama.
Contoh kode
Untuk melihat contoh kode untuk menggunakan $covarianceSamp operator di pang $setWindowFields gung, pilih tab untuk bahasa yang ingin Anda gunakan: