Bản phân phối beta Python

Phân phối bình thường và phân phối Beta. Chúng là gì, cách tạo và trực quan hóa chúng trong Python

Bài viết này mô tả hai bản phân phối phổ biến, Bản phân phối bình thường và Bản phân phối Beta. Nó cũng cho thấy cách chúng có thể được tạo và vẽ trong Python. Nếu bạn thấy bài viết này hay, hữu ích hay đơn giản là bạn thích nó, hãy nhớ CLAP. Vui lòng liên hệ với tác giả nếu có câu hỏi, phản hồi và nếu có bất kỳ lỗi nào được thực hiện. Tận hưởng và mã hóa vui vẻ

Phân phối chuẩn là một hàm xác suất mô tả cách các giá trị của một biến được phân phối. Đó là một phân phối đối xứng trong đó hầu hết các cụm quan sát xung quanh đỉnh trung tâm và xác suất cho các giá trị ở xa giá trị trung bình giảm dần theo cả hai hướng. Các giá trị cực trị ở cả hai đuôi của phân phối đều khó xảy ra tương tự. [1]

Phân phối chuẩn là phân phối xác suất chung. Nó có hình dạng thường được gọi là “đường cong hình chuông. ” Nhiều bộ dữ liệu hàng ngày thường tuân theo phân phối chuẩn. ví dụ, chiều cao của người trưởng thành, điểm số trong bài kiểm tra cho một lớp học đông người, sai số trong phép đo. Phân phối chuẩn luôn đối xứng qua trung bình. [2]

Độ lệch chuẩn là thước đo mức độ trải rộng của một tập hợp dữ liệu được phân phối bình thường. Đó là một thống kê cho bạn biết mức độ chặt chẽ của tất cả các ví dụ được thu thập xung quanh giá trị trung bình trong một tập dữ liệu. Hình dạng của phân phối chuẩn được xác định bởi giá trị trung bình và độ lệch chuẩn. Đường cong hình chuông càng dốc thì độ lệch chuẩn càng nhỏ. Nếu các ví dụ được trải ra xa nhau, đường cong hình chuông sẽ phẳng hơn nhiều, nghĩa là độ lệch chuẩn lớn. [2]

Tôi khuyên bạn nên tự mình thử mã này bằng Python và sửa đổi các giá trị biến khi tạo bản phân phối, sau đó quan sát cách trực quan hóa thay đổi. . -]

# thư viện nhập
nhập numpy dưới dạng np
nhập gấu trúc dưới dạng pd
từ số liệu thống kê nhập scipy
import matplotlib.pyplot as plt

Chúng tôi sẽ sử dụng np của Python. ngẫu nhiên. default_rng[]. normal[] để tạo tập hợp 1.000.000 số để tạo tập dữ liệu tuân theo phân phối chuẩn với giá trị trung bình 0 và độ lệch chuẩn 1

# trung bình
mu = 0
# độ lệch chuẩn
sigma = 1
# number of observations in our dataset
n = 1_000_000
# construct a random Generator
s = np.random.default_rng[0]
# tạo một mảng gồm 1_000_000 giá trị ngẫu nhiên tuân theo phân phối chuẩn với mu và st trung bình. nhà phát triển. sigma
r = s. bình thường[mu, sigma, n]

Bây giờ chúng ta có một mảng r chứa các điểm dữ liệu tuân theo phân phối chuẩn. Tuy nhiên, chúng tôi muốn xem xét các số liệu thống kê mô tả và để làm điều đó, sẽ hữu ích hơn nếu có các điểm dữ liệu này trong một đối tượng khung dữ liệu. Dưới đây là mã để chuyển đổi mảng thành khung dữ liệu, sau đó xem số liệu thống kê mô tả trên tập dữ liệu

# chuyển đổi mảng thành khung dữ liệu
df = pd. DataFrame[r, column=[‘value’]]
# xem thống kê mô tả về dữ liệu
dstats = df. description[]
dstats

Thống kê mô tả

Diễn giải kết quả trên.
count = tổng số quan sát/điểm trong tập dữ liệu của chúng tôi
mean = tổng của tất cả các giá trị chia cho tổng số giá trị
std = standard deviation [we chose this to be 1]
min = the minimum value in our dataset
25% = 25th percentile, 25% of the values in our dataset are less than -0.67
50% = phân vị thứ 50 hoặc trung vị, 50% giá trị lớn hơn 0 và 50% giá trị nhỏ hơn 0
75% = . 67
max = giá trị lớn nhất trong tập dữ liệu của chúng tôi

# lưu số liệu thống kê ở trên vào các biến riêng lẻ
mean = dstats. loc[‘có nghĩa là’]. giá trị
std = dstats. loc[‘std’]. giá trị
p25 = dstats. loc[‘25%’]. giá trị
trung vị = dstats. loc[‘50%’]. giá trị
p75 = dstats. loc[‘75%’]. giá trị
minv = dstats. loc[‘min’]. giá trị
maxv = dstats. vị trí ['tối đa']. giá trị

Bây giờ, hãy vẽ biểu đồ phân phối của chúng ta, cùng với các đường thẳng đứng để biểu thị các giá trị thống kê ở trên và chúng trông như thế nào đối với biểu đồ của chúng ta

# phân phối lô
plt. hình[figsize=[10,5]]

plt. hist[df[‘value’], bins=100, color=’teal’];

plt. axvline[x=mean, color=’red’, ls=’ — ‘]
plt. axvline[x=mean+std, color=’orange’, ls=’-’]
plt. axvline[x=mean-std, color=’salmon’, ls=’-’]
plt. axvline[x=p25, color=’purple’, ls=’. ’]
plt. axvline[x=median, color=’black’, ls=’. ’]
plt. axvline[x=p75, color=’lime’, ls=’. ’]
plt. axvline[x=minv, color=’blue’, ls=’-. ’]
plt. axvline[x=maxv, color=’navy’, ls=’-. ’]

plt. title['Phân bố chuẩn', size=16, color='blue', pad=20]
plt. xlabel[‘Values’, color=’blue’]
plt. ylabel['Mật độ tần số', color='blue']

plt. legend[['Trung bình', '+Độ lệch chuẩn',
'-Độ lệch chuẩn', 'Phần trăm thứ 25',
'Phần trăm thứ 50 hoặc Trung vị', '
‘Minimum Value’, ‘Maximum Value’]]

plt. savefig[‘blog_fig1. jpg’, dpi=200]

plt. chặt_layout[]
plt. hiển thị []

Phân phối bình thường

Diện tích của mỗi thanh đại diện cho tần số, do đó, để tìm chiều cao của thanh, chúng ta sẽ chia tần số/diện tích cho chiều rộng của thanh/thanh. Đây được gọi là mật độ tần số

Nếu chúng tôi sửa đổi các giá trị của giá trị trung bình [mu] và độ lệch chuẩn [sigma], chúng tôi có thể nhận được các phân phối bình thường khác nhau

Một số nhận xét khác về phân phối chuẩn.
- giá trị trung bình và trung bình giống nhau
- khoảng 68% giá trị nằm trong một độ lệch chuẩn so với giá trị trung bình
. 7% giá trị nằm trong ba độ lệch chuẩn so với giá trị trung bình
- 99.7% of the values are within three standard deviations from the mean

Phân phối Beta là một loại phân phối xác suất. Phân phối này đại diện cho một nhóm xác suất và là một cách linh hoạt để biểu thị kết quả theo tỷ lệ phần trăm hoặc tỷ lệ. Ví dụ, khả năng Kanye West giành chiến thắng trong cuộc bầu cử Tổng thống tiếp theo là bao nhiêu? . 2. Bạn của bạn có thể nghĩ đó là 0. 15. Bản phân phối beta cung cấp cho bạn một cách để mô tả điều này. [3]

Phân phối beta cũng có hai giá trị đặc trưng, ​​thường được gọi là alpha và beta, hay ngắn gọn hơn là a và b. Mỗi bộ cặp [a,b] xác định một phân phối beta khác nhau. Khi chúng tôi lấy mẫu từ beta[a,b], mỗi giá trị mẫu [giá trị p] sẽ nằm trong khoảng từ 0. 0 và 1. 0 và nếu chúng ta lấy mẫu nhiều giá trị, chúng sẽ lấy trung bình là a /[a+b]. Ví dụ: nếu chúng tôi lấy mẫu nhiều giá trị từ beta[3, 1], mỗi giá trị sẽ nằm trong khoảng từ 0. 0 và 1. 0 và tất cả các giá trị sẽ trung bình vào khoảng 3/4 = 0. 75. [4]

Trong lý thuyết xác suất và thống kê, phân phối beta là một họ các phân phối xác suất liên tục được xác định trên khoảng [0, 1] được tham số hóa bởi hai tham số hình dạng dương, ký hiệu là α và β, xuất hiện dưới dạng số mũ của biến ngẫu nhiên và kiểm soát hình dạng . [5]

Bây giờ, hãy xem cách chúng ta có thể tạo và vẽ biểu đồ phân phối beta trong Python. Một lần nữa, tôi khuyến khích bạn tự mình thử mã này. -]

# alpha
# alpha
alpha =. 5
# thử nghiệm
thử nghiệm =. 5
# số giá trị
n = 1_000_000
# hạt ngẫu nhiên
np. ngẫu nhiên. seed[0]
# trục x
x = np. linspace[0, 1, 1001]
# bản phân phối beta
s = thống kê. beta[alpha, beta]
# tạo n giá trị ngẫu nhiên tuân theo phân phối trên
r = s. rvs[n]

Tạo một khung dữ liệu chứa các giá trị của chúng tôi, sau đó xem số liệu thống kê mô tả về dữ liệu

# tạo khung dữ liệu để giữ các giá trị này
df = pd. DataFrame[r, column=[‘value’]]
# xem thống kê mô tả về dữ liệu
dstats = df. description[]
dstats

Thống kê mô tả

Lưu các giá trị trên vào các biến

# lưu số liệu thống kê ở trên vào các biến riêng lẻ
mean = dstats. loc[‘có nghĩa là’]. giá trị
std = dstats. loc[‘std’]. giá trị
p25 = dstats. loc[‘25%’]. giá trị
trung vị = dstats. loc[‘50%’]. giá trị
p75 = dstats. loc[‘75%’]. giá trị
minv = dstats. loc[‘min’]. giá trị
maxv = dstats. vị trí ['tối đa']. giá trị

Vẽ biểu đồ cho phân phối của chúng tôi

plt. hình[figsize=[10,5]]

plt. hist[r, bins=100, color=’teal’];

plt. axvline[x=mean, color=’red’, ls=’ — ‘]
plt. axvline[x=mean+std, color=’orange’, ls=’-’]
plt. axvline[x=mean-std, color=’salmon’, ls=’-’]
plt. axvline[x=p25, color=’purple’, ls=’. ’]
plt. axvline[x=median, color=’black’, ls=’. ’]
plt. axvline[x=p75, color=’lime’, ls=’. ’]
plt. axvline[x=minv, color=’blue’, ls=’-. ’]
plt. axvline[x=maxv, color=’navy’, ls=’-. ’]

plt. title['Bản phân phối Beta', size=16, color='blue', pad=20]
plt. xlabel[‘Values’, color=’blue’]
plt. ylabel['Mật độ tần số', color='blue']

plt. legend[['Trung bình', '+1Độ lệch chuẩn',
'-1Độ lệch chuẩn', 'Phần trăm thứ 25',
'Phần trăm thứ 50 hoặc Trung vị', '
‘Minimum Value’, ‘Maximum Value’]]

plt. savefig[‘blog_fig2. jpg’, dpi=200]

plt. chặt_layout[]
plt. hiển thị []

Phân phối Beta

Vẽ đồ thị hàm

plt. hình[figsize=[10,5]]

plt. âm mưu [x, s. pdf[x], color=’xanh mòng két’];

plt. axvline[x=mean, color=’red’, ls=’ — ‘]
plt. axvline[x=mean+std, color=’orange’, ls=’-’]
plt. axvline[x=mean-std, color=’salmon’, ls=’-’]
plt. axvline[x=p25, color=’purple’, ls=’. ’]
plt. axvline[x=median, color=’black’, ls=’. ’]
plt. axvline[x=p75, color=’lime’, ls=’. ’]
plt. axvline[x=minv, color=’blue’, ls=’-. ’]
plt. axvline[x=maxv, color=’navy’, ls=’-. ’]

plt. title['Bản phân phối Beta', size=16, color='blue', pad=20]
plt. xlabel[‘Values’, color=’blue’]
plt. ylabel['Density', color='blue']

plt. legend[['Hàm mật độ xác suất', 'Trung bình', '+1Độ lệch chuẩn',
'-1Độ lệch chuẩn', 'Phần trăm thứ 25',
'50th
‘Minimum Value’, ‘Maximum Value’]]

plt. savefig[‘blog_fig3. jpg’, dpi=200]

plt. chặt_layout[]
plt. hiển thị []

Nếu chúng tôi thay đổi các giá trị cho alpha và beta, thì hình dạng phân phối beta của chúng tôi, khi được vẽ trên biểu đồ, sẽ thay đổi. [6]

alpha = [0. 5, 1. 5, 3. 0, 0. 5]
beta = [0. 5, 1. 5, 3. 0, 1. 5]
lines = [‘-’, ‘ — ‘, ‘. ’, ‘-. ’]
x = np. khoảng trắng[0, 1, 1001]

hình, rìu = plt. ô con[figsize=[10,5]]

cho a, b, l trong zip[alphas, betas, lines].
s = thống kê. beta[a, b]
plt. âm mưu [x, s. pdf[x], color=’teal’, label=r’$\alpha=%. 1f,\ \beta=%. 1f$’ % [a, b], ls=l];

plt. xlim[0, 1]
plt. ylim[0, 3]

plt. title['Bản phân phối Beta', size=16, color='blue', pad=20]
plt. xlabel[‘Values’, color=’blue’]
plt. ylabel['Density', color='blue']

plt. huyền thoại[loc=0]

plt. savefig[‘blog_fig4. jpg’, dpi=200]

plt. chặt_layout[]
plt. hiển thị []

Tôi hy vọng bài viết này cung cấp sự hiểu biết tốt hơn về các bản phân phối Bình thường và Beta. Để biết thêm chi tiết, vui lòng tham khảo các tài nguyên bên dưới. Đừng ngần ngại liên hệ với tôi với câu hỏi. -]. Nếu bạn thấy bài viết này hay, hữu ích hay đơn giản là bạn thích nó, hãy nhớ Vỗ tay. Cảm ơn bạn và mã hóa vui vẻ

Công thức phân phối beta là gì?

Công thức phân phối Beta . Hàm beta có công thức này. B[α,β]=∫01t[α−1][1−t][β−1]dt . 0≤x≤1;p,q>0.

Phân phối beta được sử dụng để làm gì?

Phân phối beta được sử dụng để lập mô hình các biến ngẫu nhiên liên tục có phạm vi nằm trong khoảng từ 0 đến 1 . Ví dụ, trong các phân tích Bayesian, phân phối beta thường được sử dụng như một phân phối trước của tham số p [được giới hạn giữa 0 và 1] của phân phối nhị thức [xem, e. g. , Novick và Jackson, 1974].

Máy học phân phối beta là gì?

Về mặt thống kê, phân phối beta là phân phối xác suất động, được cập nhật liên tục với hai tham số. Công dụng phổ biến nhất của nó trong học máy là mô hình hóa sự không chắc chắn về xác suất thành công của một thử nghiệm nhất định .

Beta trong phân phối bình thường là gì?

Phân phối chuẩn beta cung cấp tính linh hoạt cao trong việc lập mô hình không chỉ phân phối nặng đối xứng, mà cả phân phối lệch và phân phối hai chiều . Tính linh hoạt của phân phối này được minh họa bằng cách áp dụng nó cho hai bộ dữ liệu thực nghiệm và so sánh kết quả với các phương pháp đã sử dụng trước đó.

Chủ Đề