Làm thế nào để bạn tìm thấy hiệp phương sai của một ma trận trong python?
Xét ma trận gồm 5 quan sát, mỗi quan sát gồm 3 biến, $x_0$, $x_1$ và $x_2$ có giá trị quan sát được giữ trong ba hàng của mảng 7 Show
Ma trận hiệp phương sai là một mảng giá trị $3 \times 3$,
Các phần tử đường chéo, $C_{ii}$ là phương sai trong các biến $x_i$ giả sử $N-1$ bậc tự do
Mặc dù độ lớn của các phần tử ma trận hiệp phương sai không phải lúc nào cũng dễ diễn giải (vì nó phụ thuộc vào độ lớn của các quan sát riêng lẻ có thể rất khác nhau đối với các biến khác nhau), nhưng rõ ràng là có sự tương quan nghịch mạnh giữa $x_0$ . 2325$. khi cái này tăng thì cái kia giảm) và không có mối tương quan chặt chẽ giữa $x_0$ và $x_1$ ($C_{01}=0. 0575$. $x_0$ và $x_1$ không có xu hướng mạnh cùng nhau) Có chính xác 1 sự khác biệt giữa 0 và 1 đó là bước thiên vị. Với 2 thì 3 chia cho 4 ( 5), trong khi với 8 thì 3 chia cho 8 ( 9). Xem mã nguồn để biết thêm thông tin Ma trận phương sai-hiệp phương sai là một ma trận vuông (có cùng số hàng và số cột) đưa ra hiệp phương sai giữa từng cặp phần tử có sẵn trong dữ liệu Hiệp phương sai đo lường mức độ mà các biến di chuyển theo cùng một hướng Trong ma trận phương sai- hiệp phương sai, phương sai của các biến xuất hiện trên đường chéo và hiệp phương sai của các biến đều là các phần tử khác của ma trận Để tiếp tục làm theo hướng dẫn này, chúng ta sẽ cần thư viện Python sau. gấu trúc Nếu bạn chưa cài đặt chúng, vui lòng mở “Command Prompt” (trên Windows) và cài đặt chúng bằng mã sau 2Sách tôi giới thiệu
Giải thích ma trận phương sai-hiệp phương saiMột ma trận hiệp phương sai là
$$ trong đó mỗi hiệp phương sai có thể được tính theo công thức sau (thay thế các giá trị x, y, z) $$ Ví dụ về ma trận phương sai-hiệp phương saiTrước tiên, hãy xem xét một số dữ liệu mẫu để làm việc với TuổiKinh nghiệmLương252200032630003793500Ngoài ra, bảng trên có thể được biểu diễn dưới dạng ma trận $$A = \begin{bmatrix} 25 & 2 & 2000 \\ 32 & 6 & 3000 \\ 37 & 9 & 3500 \end{bmatrix}$$ Khi đó ma trận hiệp phương sai của \(A\) sẽ như sau $$ trong đó \(a\), \(e\), \(s\) lần lượt là Tuổi, Kinh nghiệm và Mức lương Cuối cùng, sử dụng công thức hiệp phương sai $$ chúng ta có thể tính toán hiệp phương sai giữa mỗi cặp và điền vào ma trận hiệp phương sai \( cov_{a,a} = \frac{\sum(Age_i – \bar{Age})(Age_i – \bar{Age})}{N-1} = \\ = \frac{(25-31. 33)(25-31. 33) + (32-31. 33)(32-31. 33) + (37-31. 33)(37-31. 33)}{3-1} = \\ = \frac{40. 0689 + 0. 4489 + 32. 1489}{2} \xấp xỉ 36. 33 \)\( cov_{a,e} = cov_{e,a} = \frac{\sum(Age_i – \bar{Age})(Experience_i – \bar{Experience})}{N-1} . 33)(2-5. 66) + (32-31. 33)(6-5. 66) + (37-31. 33)(9-5. 66)}{3-1} = \\ = \frac{23. 1678 + 0. 2278 + 18. 9378}{2} \xấp xỉ 21. 17 \) = \frac{(25-31.33)(2-5.66) + (32-31.33)(6-5.66) + (37-31.33)(9-5.66)}{3-1} = \\ = \frac{23.1678 + 0.2278 + 18.9378}{2} \approx 21.17 \) \( cov_{a,s} = cov_{s,a} = \frac{\sum(Age_i – \bar{Age})(Salary_i – \bar{Salary})}{N-1} . 33)(2.000-2.833. 33) + (32-31. 33)(3.000-2.833. 33) + (37-31. 33)(3,500-2,833. 33)}{3-1} = \\ = \frac{5,274. 9789 + 111. 6689 + 3,780. 0189}{2} \xấp xỉ 4,583. 33 \) = \frac{(25-31.33)(2,000-2,833.33) + (32-31.33)(3,000-2,833.33) + (37-31.33)(3,500-2,833.33)}{3-1} = \\ = \frac{5,274.9789 + 111.6689 + 3,780.0189}{2} \approx 4,583.33 \) \( cov_{e,e} = \frac{\sum(Experience_i – \bar{Experience})(Experience_i – \bar{Experience})}{N-1} = \\ = \frac{(2-5.67)(2-5.67) + (6-5.67)(6-5.67) + (9-5.67)(9-5.67)}{3-1} = \\ = \frac{13.4689 + 0.1089 + 11.0889}{2} \approx 12.33 \) \( cov_{e,s} = cov_{s,e} = \frac{\sum(Kinh nghiệm_i – \bar{Kinh nghiệm})(Salary_i – \bar{Salary})}{N-1} . 67)(2.000-2.833. 33) + (6-5. 67)(3.000-2.833. 33) + (9-5. 67)(3,500-2,833. 33)}{3-1} = \\ = \frac{3,058. 3211 + 55. 0011 + 2,220. 0111}{2} \xấp xỉ 2,666. 67 \) = \frac{(2-5.67)(2,000-2,833.33) + (6-5.67)(3,000-2,833.33) + (9-5.67)(3,500-2,833.33)}{3-1} = \\ = \frac{3,058.3211 + 55.0011 + 2,220.0111}{2} \approx 2,666.67 \) \( cov_{s,s} = \frac{\sum(Salary_i – \bar{Salary})(Salary_i – \bar{Salary})}{N-1} = \\ = \frac{(2,000-2,833.33)(2,000-2,833.33) + (3,000-2,833.33)(3,000-2,833.33) + (3,500-2,833.33)(3,500-2,833.33)}{3-1} = \\ = \frac{694,438.8889 + 27,778.8889 + 444,448.889}{2} \approx 583,333.33 \) Sử dụng các giá trị hiệp phương sai được tính toán, giờ đây chúng ta có thể điền vào ma trận hiệp phương sai $$ Tạo một DataFrame mẫuHãy tạo một Khung dữ liệu Pandas mẫu với ba biến. Tuổi, Kinh nghiệm, Mức lương với một vài quan sát cho mỗi 3Và chúng tôi nhận được 4Tính toán ma trận phương sai hiệp phương sai bằng PythonSử dụng. cov() của Pandas DataFrame, chúng tôi có thể tính toán ma trận hiệp phương sai bằng Python 5Và chúng tôi nhận được 6Sự kết luậnTrong bài viết này, chúng ta đã thảo luận về cách tính ma trận phương sai hiệp phương sai bằng Python Vui lòng để lại nhận xét bên dưới nếu bạn có bất kỳ câu hỏi nào hoặc có đề xuất cho một số chỉnh sửa và xem thêm các bài viết Thống kê của tôi |