Phân phối Gaussian [hoặc phân phối chuẩn] là một trong những phân phối xác suất cơ bản nhất trong tự nhiên. Từ sự xuất hiện của nó trong cuộc sống hàng ngày đến các ứng dụng của nó trong các kỹ thuật học thống kê, đây là một trong những khám phá toán học sâu sắc nhất từng được thực hiện. Bài viết này sẽ hướng tới phân phối nhiều chiều và hiểu trực quan về phân phối chuẩn hai biến
Lợi ích của việc che phủ phân phối hai biến là chúng ta có thể nhìn và hiểu bằng cách sử dụng các biểu đồ hình học thích hợp. Hơn nữa, các khái niệm tương tự đã học được thông qua phân phối hai chiều có thể được mở rộng cho bất kỳ số thứ nguyên nào. Trước tiên, chúng ta sẽ trình bày ngắn gọn các khía cạnh lý thuyết của phân phối và thực hiện phân tích toàn diện về các khía cạnh khác nhau của nó, như ma trận hiệp phương sai và hàm mật độ trong Python
Hàm mật độ xác suất [hoặc hàm mật độ hoặc PDF] của phân phối Gaussian Bivariate
Hàm mật độ mô tả khả năng xảy ra tương đối của một biến ngẫu nhiên
Ở đâu
Chức năng chính được sử dụng trong bài viết này là scipy. số liệu thống kê. hàm multivariate_normal từ tiện ích scipy cho a biến ngẫu nhiên thông thường nhiều biến .
cú pháp. scipy. số liệu thống kê. multivariate_normal[mean=None, cov=1]
Thông số không tùy chọn
- nghĩa là. Một mảng Numpy chỉ định giá trị trung bình của phân phối
- cov. Một mảng Numpy xác định một ma trận hiệp phương sai xác định dương
- hạt giống. Một hạt giống ngẫu nhiên để tạo ra các kết quả có thể lặp lại
trả lại. Một đối tượng biến ngẫu nhiên bình thường đa biến scipy. số liệu thống kê. _đa biến. đối tượng multivariate_normal_gen. Một số phương thức của đối tượng được trả về hữu ích cho bài viết này như sau
- pdf[x]. Trả về giá trị hàm mật độ tại giá trị 'x'
- rvs[kích thước]. Vẽ số lượng mẫu 'kích thước' từ phân phối Gaussian đa biến được tạo
Một cái nhìn “trực quan” về ma trận hiệp phương sai
Ma trận hiệp phương sai có lẽ là một trong những thành phần linh hoạt nhất của phân phối Gaussian hai biến. Mỗi phần tử của ma trận hiệp phương sai xác định hiệp phương sai giữa mỗi cặp biến ngẫu nhiên tiếp theo. Hiệp phương sai giữa hai biến ngẫu nhiên
Các giá trị ở đường chéo bên phải thể hiện hiệp phương sai chung giữa hai thành phần của các biến ngẫu nhiên tương ứng. Nếu giá trị là +ve, điều đó có nghĩa là có hiệp phương sai dương giữa hai biến ngẫu nhiên, nghĩa là nếu chúng ta đi theo hướng mà
Dưới đây là việc thực hiện ma trận hiệp phương sai
Trong các đoạn mã sau, chúng tôi sẽ tạo 3 phân phối Gaussian bivariate khác nhau với cùng một giá trị trung bình
- Ma trận hiệp phương sai với -ve hiệp phương sai =
- Ma trận hiệp phương sai với 0 hiệp phương sai =
- Ma trận hiệp phương sai với +ve hiệp phương sai =
con trăn
# Importing the necessary modules
import
numpy as np
import
matplotlib.pyplot as plt
from
scipy.stats
import
multivariate_normal
plt.style.use[
import
0import
1
import
2import
3import
4_______1_______5_______1_______6import
7import
8
import
9
numpy as np
0import
5_______2_______2
numpy as np
3
numpy as np
4
numpy as np
5_______1_______5 numpy as np
7numpy as np
8_______2_______9import
7import
1import
7numpy as np
9import
4
import
5
import
6
import
7import
5 import
9import
1import
7import
1matplotlib.pyplot as plt
3
matplotlib.pyplot as plt
4
matplotlib.pyplot as plt
5
matplotlib.pyplot as plt
6 matplotlib.pyplot as plt
7matplotlib.pyplot as plt
8 matplotlib.pyplot as plt
9from
0
from
1_______5_______2from
3_______1_______7_______5_______5from
6from
7from
3_______1_______1
from
1
from
1_______6_______2
from
1_______6_______4_______1_______5 scipy.stats
6from
3scipy.stats
8from
3import
0
from
1
from
1_______1_______3
from
1______1_______5
from
1_______1_______7import
5 import
9import
5 multivariate_normal
1import
5 multivariate_normal
3
multivariate_normal
4multivariate_normal
5import
5 multivariate_normal
7
from
1
from
1____9_______0
from
1_______9_______2
from
1_______9_______4_______1_______5 plt.style.use[
6import
5 plt.style.use[
8import
1
from
1
from
1______1_______02
from
1_______1_______04import
1_______1_______06from
3import
08import
09import
10import
5import
12import
7
import
14import
15import
5 import
17_______1_______7
import
14import
20import
5 import
22_______1_______1
from
1_______1_______25import
26import
1
from
1_______1_______29import
30import
1
from
1_______1_______33import
34import
1
from
1_______1_______37import
38import
1
from
1
import
41
đầu ra
Các mẫu được tạo cho các ma trận hiệp phương sai khác nhau
Chúng tôi có thể thấy rằng đầu ra của mã đã đáp ứng thành công các bằng chứng lý thuyết của chúng tôi. Lưu ý rằng giá trị 0. 8 được thực hiện chỉ vì mục đích thuận tiện. Người đọc có thể thử nghiệm với các cường độ hiệp phương sai khác nhau và mong đợi kết quả nhất quán
Chế độ xem 3D của hàm mật độ xác suất
Bây giờ chúng ta có thể chuyển sang một trong những khía cạnh đặc trưng và thú vị nhất của phân bố Gaussian hai biến, hàm mật độ. Hàm mật độ chịu trách nhiệm cho hình dạng chuông đặc trưng của phân phối
con trăn
# Importing the necessary modules
import
numpy as np
import
matplotlib.pyplot as plt
from
scipy.stats
import
multivariate_normal
plt.style.use[
import
0import
1
import
2import
3import
4_______1_______5_______1_______6import
7import
8
import
61import
5 import
63
import
9
numpy as np
0import
5_______2_______2
numpy as np
3
numpy as np
4
numpy as np
5_______1_______5 numpy as np
7numpy as np
8_______2_______9import
7import
1import
7numpy as np
9import
4
import
80
import
81
import
7import
5 import
9import
1import
7import
1matplotlib.pyplot as plt
3
import
89
import
90
import
91_______1_______5 import
93
import
94
matplotlib.pyplot as plt
6 matplotlib.pyplot as plt
7matplotlib.pyplot as plt
8 matplotlib.pyplot as plt
9from
0
from
1
from
1_______6_______2
from
1_______6_______4_______1_______5 scipy.stats
6from
3scipy.stats
8from
3import
0
from
1
from
1_______1_______3
from
1______1_______5
from
1_______1_______7import
5 import
9import
5 multivariate_normal
1import
5 multivariate_normal
3
multivariate_normal
4multivariate_normal
5import
5 multivariate_normal
7
from
1
from
1_______2_______30
from
1_______2_______32
from
1_______2_______34_______1_______5 numpy as np
36import
1numpy as np
38from
3_______1_______4
from
1_______2_______42import
5 numpy as np
44_______1_______1import
7import
1numpy as np
48_______5_______3import
7from
3import
4
from
1
from
1_______2_______55import
5 numpy as np
57_______2_______8from
5numpy as np
60numpy as np
61_______5_______5numpy as np
60numpy as np
64import
5numpy as np
66import
1
from
1_______2_______69import
5 numpy as np
57numpy as np
8from
5numpy as np
60numpy as np
75_______5_______5numpy as np
60numpy as np
78import
5numpy as np
66import
1
from
1_______2_______83import
5 numpy as np
85
from
1
from
1_______2_______88
from
1____2_______90
from
1_______2_______92import
5 numpy as np
94
from
1_______4_______6 numpy as np
97_______4_______8 numpy as np
99import
00import
1_______1_______02
import
03_______4_______6 import
05_______4_______8 numpy as np
99import
00_______5_______3_______1_______02
import
11import
12_______1_______5 import
14
from
1
from
1_______1_______17
from
1_______1_______19import
5 import
21_______5_______7import
23
from
1_______1_______25import
5 import
27_______1_______5 import
29import
1
from
1_______1_______32import
5 import
34_______1_______1
from
1_______1_______29import
38import
1
from
1_______1_______33import
42import
1
from
1_______1_______25import
26import
1
from
1_______1_______49
from
1_______1_______51
import
52
import
41
import
54
matplotlib.pyplot as plt
6 matplotlib.pyplot as plt
7matplotlib.pyplot as plt
8 matplotlib.pyplot as plt
9import
59
from
1_______5_______2from
3_______1_______7_______5_______5from
6from
7from
3_______1_______1
from
1_______1_______70import
5import
34_______1_______1
from
1_______1_______29import
38import
1
from
1_______1_______33import
42import
1
from
1_______1_______25import
84import
1
import
52
import
41
đầu ra
1] Đồ thị của hàm mật độ
Các hàm mật độ tương ứng với các ma trận hiệp phương sai khác nhau
2] Vẽ đường nét
Đường viền của các hàm mật độ
Như chúng ta có thể thấy, các đường viền của hàm mật độ hoàn toàn khớp với các mẫu mà chúng ta đã vẽ trong phần trước. Lưu ý rằng ranh giới 3 sigma [kết thúc từ 68-95-99. 7] đảm bảo phạm vi bao phủ mẫu tối đa cho phân phối đã xác định. Như đã đề cập trước đó, người đọc có thể chơi xung quanh với các ranh giới khác nhau và mong đợi kết quả nhất quán
Phần kết luận
Chúng tôi đã hiểu những điểm phức tạp khác nhau đằng sau phân phối hai biến Gaussian thông qua một loạt các sơ đồ và xác minh kết quả lý thuyết với những phát hiện thực tế bằng Python. Người đọc được khuyến khích chơi xung quanh với các đoạn mã để có được trực giác sâu sắc hơn nhiều về phân phối kỳ diệu này