@Glen_b ให้คำตอบที่ดี (+1) ซึ่งฉันต้องการแสดงด้วยรหัสบางอย่าง
วิธีสร้างตัวอย่างจากการแจกแจงแบบเกาส์มิติหลายมิติด้วยเมทริกซ์ความแปรปรวนร่วมที่กำหนด ? นี้เป็นเรื่องง่ายที่จะทำโดยการสร้างตัวอย่างจากมาตรฐานเสียนและคูณด้วยรากที่สองของเมทริกซ์ความแปรปรวนเช่นโดยSigma) สิ่งนี้ครอบคลุมในหลาย ๆ หัวข้อใน CV เช่นที่นี่: ฉันจะสร้างข้อมูลด้วยเมทริกซ์สหสัมพันธ์ที่ได้รับการกำหนดล่วงหน้าได้อย่างไร นี่คือการใช้ Matlab อย่างง่าย:ndΣc h o l (Σ)
n = 100;
d = 2;
Sigma = [ 1 0.7 ; ...
0.7 1 ];
rng(42)
X = randn(n, d) * chol(Sigma);
เมทริกซ์ความแปรปรวนร่วมตัวอย่างของข้อมูลผลลัพธ์จะไม่แน่นอน ; เช่นในตัวอย่างข้างต้นส่งคืนΣcov(X)
1.0690 0.7296
0.7296 1.0720
วิธีการสร้างข้อมูลด้วยความสัมพันธ์ตัวอย่างที่ระบุไว้ล่วงหน้าหรือเมทริกซ์ความแปรปรวนร่วมได้อย่างไร
ตามที่ @Glen_b เขียนหลังจากสร้างข้อมูลจาก Gaussian มาตรฐาน, กลาง, ทำให้ขาวขึ้นและทำให้เป็นมาตรฐานเพื่อให้มันมีเมทริกซ์ความแปรปรวนร่วมตัวอย่าง ; เพียงแล้วคูณด้วยSigma)ผมc h o l (Σ)
นี่คือความต่อเนื่องของตัวอย่าง Matlab ของฉัน:
X = randn(n, d);
X = bsxfun(@minus, X, mean(X));
X = X * inv(chol(cov(X)));
X = X * chol(Sigma);
ตอนนี้cov(X)
ตามที่ต้องการส่งคืน
1.0000 0.7000
0.7000 1.0000