1. Phân phối Chi-Bình Phương trong Numpy

Trong lý thuyết xác suất thống kê, phân phối Chi-bình phương ()  với k bậc tự do (degrees of freedom, df) là phân phối của tổng k bình phương biến ngẫu nhiên có phân phối chuẩn hóa độc lập và là một trong những phân phối thường được sử dụng trong thống kê suy luận như kiểm định giả thuyết thống kê hay xây dựng khoảng tin cậy.

Trong Numpy, để tạo ra mảng dựa theo phân phối Chi-Bình Phương ta sẽ cần sử dụng hàm random.chisquare() – hàm này yêu cầu 2 tham số:

  • Tham số df – là mức độ tự do.
  • Tham số size – là kích thước mảng cần trả về

Ví dụ dưới đây, sử dụng hàm random.chisquare() để tạo ra một mảng 2 chiều có kích thước 2 x 3, các giá trị theo phân phối Chi-Bình Phương với độ tự do.bằng 2 (nghĩa là df = 2) như sau:

from numpy import random

x = random.chisquare(df=2, size=(2, 3))

print(x)

Kết quả:

[[1.12059223 1.28205279 1.92607332]
 [3.69333499 2.53728839 6.45673215]]

2. Trực quan hóa phân phối Chi-bình phương

Chúng ta có thể trực quan hóa các phân phối mũ thông qua hàm sns.distplot() trong mô-đun Seaborn.

Ví dụ dưới đây, trực quan hóa phân phối Chi-Bình Phương trong mảng 1 chiều có kích thước 1 x 1000 với mức độ tự do bằng 1 (nghĩa là df = 1) thông qua hàm sns.distplot() như sau:

from numpy import random
import matplotlib.pyplot as plt
import seaborn as sns

sns.distplot(random.chisquare(df=1, size=1000), hist=False)

plt.show()