Hướng dẫn bernoulli distribution python code - mã python phân phối bernoulli
Tôi đang sử dụng Python3 để tính toán Hàm khối lượng xác suất (PMF) của ví dụ wikipedia này: Show
Nội dung chính ShowShow
Nội dung chính
Nội dung chính
Nội dung chính
Nội dung chính
Nội dung chính https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.stats.binom.html Tôi đã cố gắng làm theo tài liệu scipy này:
Tài liệu nói rõ ràng:
Vâng, tôi đã cố gắng thực hiện điều này với ví dụ wikipedia. Đây là mã của tôi:
Tuy nhiên, tôi nhận được thông báo lỗi này: Làm sao tôi có thể giải quyết việc này? 0 bình luận 19k xem chia sẻ 5 hữu ích 0 bình luận 19k xem chia sẻ Có khi nào bạn tự hỏi rằng dự báo thời tiết trên VTV mỗi ngày làm thế nào để đoán được thời tiết trong tuần tới? Câu trả lời là người ta đã xây dựng các mô hình trên máy tính sử dụng số liệu thống kê những dữ liệu thời tiết trong quá khứ và hiện tại để dự báo xác suất xảy ra các hiện tượng trong tương lai.freetuts.net, không được copy dưới mọi hình thức. Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. 1. Thống kêGiá trị trung tâm (Central Tendency)NumPy hỗ trợ khá nhiều hàm hỗ trợ thống kê cũng như xác suất. Sau khi đã làm quen với các thao thác tính toán trên mảng ở bài 4 cũng như cơ chế broadcasting thì ở bài này, ta sẽ cùng nhau tìm hiểu cơ chế cũng như cách sử dụng các hàm đó. Nếu bạn đã làm quen với toán Thống kê ở Đại học thì bài này sẽ khá là đơn giản, còn không thì đừng lo, mình sẽ giải thích chi tiết về các công thức toán một cách dễ hiểu nhất. Tính toán giá trị trung tâm cho ta biết một giá trị điển hình trong tập dữ liệu. Có 2 kiểu đánh giá chính mà ta cần quan tâm là mean (trung bình), median (trung vị).Mean (Trung bình) Đây là một trong những phương pháp đo khá quen thuộc, giả sử ta có dãy số sau: Bài viết này được đăng tại [free tuts .net] Thì mean chính là giá trị trung bình của dãy số này: In[1] import numpy as np X = [1, 2, 3, 4, 5] print("Mean X = ", np.mean(X)) Trong NumPy ta tính mean của dãy số trên như với cú pháp In[3] X = np.array([[1, 2], [3, 4]]) print("Mean X = ", np.mean(X)) print("Mean X với axis = 0: ", np.mean(X, axis=0)) print("Mean X với axis = 1: ", np.mean(X, axis=1)) Out[3] Mean X = 2.5 Mean X với axis = 0: [2. 3.] Mean X với axis = 1: [1.5 3.5] Tương tự với nhiều hàm tính toán, ta có thể tính mean theo từng trục nếu là mảng nhiều chiều: In[4] a = np.zeros((2, 512*512), dtype=np.float32) a[0, :] = 1.0 a[1, :] = 0.1 print("a.shape: ", a.shape) print("mean a = ", np.mean(a)) Lưu ý là với định dạng single precision (float32), mean có thể không chính xác với các mảng lớn: In[5] print("mean a = ", np.mean(a, dtype=np.float64)) Out[5] mean a = 0.5500000007450581 Sử dụng double precision (float64) sẽ chính xác hơn:Median (trung vị)phải sắp xếp theo thứ tự từ bé đến lớn. Để tìm median thì sẽ có 2 trường hợp: Median (trung vị) là giá trị trung tâm của một dãy số với điều kiện là dãy số đó phải sắp xếp theo thứ tự từ bé đến lớn. Để tìm median thì sẽ có 2 trường hợp:, chẳng hạn dãy sau có 5 phần tử Với dãy có số lượng phần tử là số lẻ, chẳng hạn dãy sau có 5 phần tử Để tìm mean của X, đầu tiên ta sẽ sắp xếp dãy theo thứ tự từ bé đến lớn: Và mean của dãy chính là phần tử nằm giữa dãy số:, như dãy sau có 6 phần tử: Với dãy có số lượng phần tử là số chẵn, như dãy sau có 6 phần tử: Dãy sau khi sắp xếp lại: Ở đây ta thấy chính giữa dãy có 2 phần tử là 5 và 7, thì median của dãy chính là trung bình của 2 số đó: In[4] X = np.array([2, 5, 3, 1, 7]) Y = np.array([2, 1, 8, 5, 7, 9]) print("Median X = ", np.median(X)) print("Median Y = ", np.median(Y)) Out[4] 0Median được tính bằng NumPy như sau: In[7] Tương tự như mean, median có thể tính theo các trục với mảng nhiều chiều:Out[7] 2
1 3Out[8] 4Mean được sử dụng chủ yếu khi tập dữ liệu phân bố khá đồng đều với nhau, chẳng từ tập dữ liệu số người truy cập Freetuts trong vòng 1 tuần qua như sau, ta có tính được trung bình mỗi ngày có bao nhiêu người truy cập Freetuts: In[9] 5Out[9] Tuy nhiên, nếu như phân phối bị lệch thì mean lúc này sẽ không còn nhiều ý nghĩa nữa, lúc đó ta sẽ dùng median, chẳng hạn:
from scipy.stats import binom
n = 6
p = 0.3
binom.pmf(k) = choose(n, k) * p**k * (1-p)**(n-k)
print (binom.pmf(1))
|