CDF trong Python là gì?

Thư viện

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
9 trong Python cung cấp cho chúng ta khả năng biểu diễn các bản phân phối ngẫu nhiên bằng Python. Thư viện có hàng chục bản phân phối, bao gồm tất cả các bản phân phối thường được sử dụng. Ba phân phối cực kỳ phổ biến là phân phối bình thường, bernoulli và nhị thức

Phân phối Mã Python Phân phối bình thường Phân phối Bernoulli Phân phối nhị thức

Sau khi bạn có một biến có phân phối, có nhiều hàm Python mà chúng ta có thể sử dụng để tạo các phép tính trước với phân phối. Các chức năng đều giống nhau cho dù bạn có bản phân phối nào -- vì vậy hãy khám phá chúng qua các ví dụ

Ví dụ phân phối nhị thức

Phân phối nhị thức đơn giản dễ hiểu là phân phối nhị thức với n=2 và p=0. 5 [hai sự kiện, mỗi sự kiện có 50% cơ hội thành công, chẳng hạn như tung đồng xu hai lần và tìm xem chúng ta được mặt ngửa bao nhiêu lần]. Để tạo bản phân phối này trong Python

from scipy.stats import binom
COIN = binom[n=2, p=0.5]

Có bốn kết quả có thể xảy ra -- HH, HT, TH và TT. Các mô hình phân phối nhị thức những kết quả này

  • Có 25% xác suất kết quả không có mặt ngửa [TT]. Điều này được thể hiện khi
    print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    0 trả về giá trị
    print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    1 [không đứng đầu]
  • Có 50% khả năng kết quả có chính xác một mặt ngửa [TH hoặc HT]. Điều này được thể hiện khi
    print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    0 trả về giá trị
    print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    0 [chính xác là một cái đầu]
  • Có 25% xác suất xuất hiện 2 mặt ngửa [HH]. Điều này được thể hiện khi
    print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    0 trả về giá trị
    print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    2 [chính xác là hai đầu]

Chúng ta có thể biểu diễn phân phối này dưới dạng bảng và biểu đồ

xP[ XU == x ]00. 2510. 520. 25

CDF. Chức năng phân phối tích lũy

Hàm phân phối tích lũy hoặc CDF là

  • Xác suất của tất cả các kết quả nhỏ hơn hoặc bằng một giá trị nhất định
    print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    3,
  • Về mặt đồ thị, đây là tổng diện tích của mọi thứ nhỏ hơn hoặc bằng
    print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    3 [**tổng diện tích bên trái của
    print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    3*]

Sử dụng ví dụ lật hai đồng xu của chúng tôi trong đó

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
6, các hàm CDF đang hỏi như sau

  • print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    7 hỏi "bao nhiêu phần trăm kết quả có 0. 2 cái đầu trở xuống?"
  • print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    8 hỏi "bao nhiêu phần trăm kết quả có 1 hoặc ít hơn?"
  • print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    9 hỏi "bao nhiêu phần trăm kết quả có 2 mặt đầu trở xuống?"
Python Ví dụ 1.
print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
7

Mặc dù hơi lạ khi hỏi "bao nhiêu phần trăm kết quả có 0. 2 mặt ngửa trở xuống?" vì chúng ta không thể lấy một phần số mặt ngửa, nhưng thật dễ dàng để tính toán rằng số mặt ngửa duy nhất bằng hoặc nhỏ hơn 0. 2 là không có đầu. Vì điều này chỉ xảy ra một trong bốn lần của chúng tôi, nên chúng tôi hy vọng kết quả là 25%

Chạy mã trong Python

cdf[0. 2] của

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
0 là 0. 25 [25%]. Điều này có thể hiểu là 25% kết quả sẽ có 0. 2 đầu trở xuống

Python Ví dụ 2.
print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
8

Tương tự như ví dụ đầu tiên, "bao nhiêu phần trăm kết quả có 1 mặt đầu trở xuống?" . Vì ba trong số bốn kết quả của chúng tôi có số không hoặc một mặt ngửa [TT, TH và HT], nên CDF phải là 3/4 hoặc 75%. Hãy kiểm tra với Python

cdf[1] của

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
0 là 0. 75 [75%]. Điều này có thể hiểu là 75% kết quả sẽ có 1 hoặc ít hơn 1 mặt ngửa

Python Ví dụ 3.
print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
9

Tương tự như hai ví dụ đầu tiên, "bao nhiêu phần trăm kết quả có 2 đầu trở xuống?" . Điều này có nghĩa là phải có 100% cơ hội có hai mặt ngửa trở xuống. Kiểm tra bằng Python

cdf[2] của

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
0 là 1 [100%]. Điều này có thể hiểu là 100% kết quả sẽ có 2 mặt ngửa trở xuống

PPF. Hàm điểm xác suất

Hàm điểm xác suất hoặc PPF là nghịch đảo của CDF. Cụ thể, PPF trả về điểm chính xác mà xác suất mọi thứ ở bên trái bằng

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
36. Đây có thể được coi là hàm phần trăm vì PPF cho chúng ta biết giá trị của một phần trăm nhất định của dữ liệu

  • print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    37 hỏi "20% số người đứng đầu là gì?
  • print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    38 hỏi "60% số người đứng đầu là gì?
  • print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    39 hỏi "99% số người đứng đầu là gì?
ví dụ

Kiểm tra phân phối cho COIN, chúng ta có thể tính phần trăm cho mỗi số mặt ngửa

xP[ COIN == x ] Phạm vi phần trăm00. 250% - 25%10. 525% - 75%20. 2575% - 100%

Vì vậy, chúng tôi mong đợi rằng

  • print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    37, ô 20%, nằm trong khoảng 0 mặt ngửa và chúng tôi hy vọng đầu ra là
    print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    1
  • print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    38, ô 60%, nằm trong vòng 1 đầu và chúng tôi hy vọng đầu ra là
    print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    0
  • print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    39, ô 99%, nằm trong 2 đầu và chúng tôi hy vọng đầu ra là
    print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    2

Xác minh bằng Python

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]

Đầu ra của Hàm điểm xác suất [PPF] trên biến ngẫu nhiên

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
0 của chúng tôi

PDF / PMF. Hàm {Khối lượng/Mật độ} Xác suất

Hàm

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
37 và
print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
38 tìm xác suất của một sự kiện tại một điểm cụ thể trong phân phối

  • Hàm khối lượng xác suất [PMF] -- hoặc

    print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    37 -- chỉ được xác định trên các bản phân phối riêng biệt trong đó mỗi sự kiện có xác suất xảy ra cố định

  • Hàm mật độ xác suất [PDF] -- hoặc

    print[ COIN.ppf[0.2] ]
    print[ COIN.ppf[0.6] ]
    print[ COIN.ppf[0.99] ]
    38 -- chỉ được xác định trên các bản phân phối liên tục khi nó tìm thấy xác suất của một sự kiện xảy ra trong một cửa sổ xung quanh một điểm cụ thể

Hàm khối lượng xác suất [PMF]

Trước đó, chúng ta đã thảo luận rằng xác suất xuất hiện mặt ngửa bằng 0 là 25% trong biến ngẫu nhiên nhị thức

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
0 của chúng ta. Do đó, chúng tôi hy vọng rằng
print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
72 phải là 0. 25

pmf[0] của

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
0 là 0. 25. Điều này cho chúng ta biết rằng xác suất trả về 0 từ biến ngẫu nhiên của chúng ta là 25%

Tương tự như vậy, chúng tôi mong đợi

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
74 là 50% [đối với 50% cơ hội lật chính xác một mặt ngửa] và
print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
75 là 25% [đối với 25% cơ hội lật hai mặt ngửa]

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
3

Hàm khối lượng xác suất của

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
0

RVS. Mẫu giá trị ngẫu nhiên

Hàm

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
77 trả về một mẫu ngẫu nhiên của phân phối có xác suất bằng với phân phối -- nếu điều gì đó có khả năng xảy ra là 80%, thì giá trị đó sẽ được lấy mẫu trong 80% thời gian. Trong
print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
0, chúng tôi mong đợi nhiều kết quả hơn với
print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
0 [50% xuất hiện 1 mặt ngửa] so với
print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
1 hoặc
print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
2 [25% xuất hiện 0 hoặc 2 mặt ngửa]

Tạo một mẫu gồm 50 giá trị

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
3

Năm mươi giá trị ngẫu nhiên được lấy mẫu từ

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
0

Chúng tôi có thể chèn dữ liệu này vào DataFrame và đếm số lần xuất hiện

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
7

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
6

Tổng số năm mươi giá trị ngẫu nhiên được lấy mẫu từ

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
0

Trong mô phỏng nhỏ này, chúng tôi quan sát thấy nhiều kết quả của

print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
0 hơn so với
print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
1 hoặc
print[ COIN.ppf[0.2] ]
print[ COIN.ppf[0.6] ]
print[ COIN.ppf[0.99] ]
2. Đây là kết quả mong đợi được thảo luận trước đó

CDF cho bạn biết điều gì?

Hàm phân phối tích lũy [CDF] tính toán xác suất tích lũy cho một giá trị x đã cho . Sử dụng CDF để xác định xác suất mà một quan sát ngẫu nhiên được lấy từ tổng thể sẽ nhỏ hơn hoặc bằng một giá trị nhất định.

Sự khác biệt giữa PDF và CDF trong Python là gì?

PDF xem xét xác suất tại một thời điểm trong khi CDF là tổng xác suất của bất kỳ thứ gì bên dưới nó . CDF là hàm mật độ tích lũy được sử dụng cho các loại biến liên tục. Mặt khác, PDF là hàm mật độ xác suất cho cả biến rời rạc và biến liên tục.

CDF trong học máy là gì?

CDF. Hàm phân phối tích lũy , trả về xác suất của một giá trị nhỏ hơn hoặc bằng một kết quả nhất định. PPF. Hàm Percent-Point, trả về một giá trị rời rạc nhỏ hơn hoặc bằng xác suất đã cho.

Chủ Đề