Xác suất
Xác suất thể hiện mức độ tin tưởng rằng một sự kiện sẽ xảy ra, thường được biểu thị dưới dạng phần trăm. Một số câu hỏi có thể cần câu trả lời bằng xác suất:
- Khả năng tung được 7 lần mặt sấp trong 10 lần tung đồng xu công bằng là bao nhiêu?
- Nếu rút một lá bài thì khả năng nhận được một lá Át (A) là bao nhiêu?
Cách phổ biến nhất để biểu thị xác suất là dưới dạng phần trăm, ví dụ: “Có 70% khả năng chuyến bay Vietjet sẽ bị trễ.”
Gọi xác suất này là \(P(X)\), trong đó \(X\) là sự kiện quan tâm. Tuy nhiên, trong thực tế, thường thấy nó được biểu thị dưới dạng số thập phân (trong trường hợp này là 0.7), và giá trị này phải nằm trong khoảng từ 0.0 đến 1.0.
Khả năng xảy ra (likelihood) tương tự như xác suất.
Có thể phân biệt bằng cách nhận xét xác suất là việc định lượng dự đoán về các sự kiện chưa xảy ra, trong khi khả năng xảy ra là đo lường tần suất của các sự kiện đã xảy ra. Trong thống kê và học máy, chúng ta thường sử dụng khả năng xảy ra – likelihood (dữ liệu từ quá khứ) để dự đoán xác suất (tương lai).
Xác suất của một sự kiện xảy ra phải nằm nghiêm ngặt trong khoảng từ 0% đến 100%, hoặc từ 0.0 đến 1.0. Về mặt logic, điều này có nghĩa là xác suất một sự kiện không xảy ra được tính bằng cách lấy 1.0 trừ đi xác suất của sự kiện đó:
\(P(\text{không } X) = 1 – P(X)\)- Nếu xác suất trời mưa hôm nay là 0.3 (30%) → xác suất không mưa là 1 – 0.3 = 0.7 (70%).
- Nếu xác suất bạn đến đúng giờ là 90% → xác suất đi trễ là 10%.
Đây là một điểm khác biệt nữa giữa xác suất và khả năng xảy ra. Tổng xác suất của tất cả các kết quả loại trừ lẫn nhau (mutually exclusive outcomes) của một sự kiện (nghĩa là chỉ một kết quả có thể xảy ra, không phải nhiều kết quả cùng lúc) phải bằng 1.0 hoặc 100%. Tuy nhiên, khả năng xảy ra không tuân theo quy tắc này.
Xác suất & Thống kê
Giả sử có một con xúc xắc 6 mặt, nhưng nó không công bằng, với mặt số 4 có xác suất xuất hiện cao hơn. Bạn tung xúc xắc 100 lần và ghi lại kết quả như sau:
- Số 1: 15 lần
- Số 2: 10 lần
- Số 3: 10 lần
- Số 4: 40 lần
- Số 5: 15 lần
- Số 6: 10 lần
Dựa trên dữ liệu này, xác suất thực nghiệm (empirical probability) của việc tung được số 4 là:
\(P(\text{số 4}) = \frac{40}{100} = 0.4\)Có thể thấy, xác suất là lý thuyết thuần túy về mức độ có khả năng một sự kiện sẽ xảy ra và không cần dữ liệu. Khi dự đoán kết quả của việc tung một con xúc xắc 6 mặt và được số 4. Với tư duy xác suất thuần túy, ta chỉ cần nói rằng xúc xắc có sáu mặt. Giả sử mỗi mặt có khả năng xảy ra như nhau, nên xác suất được số 4 là \(\frac{1}{6}\), tức là 16.666%.
Nhưng khi nói về thống kê, có thể thấy thống kê không thể tồn tại nếu không có dữ liệu và sử dụng dữ liệu để khám phá xác suất cũng như cung cấp các công cụ để mô tả dữ liệu. Chúng ta cần tung xúc xắc để thu thập dữ liệu. Nếu chúng ta tung được 30 lần hoặc nhiều hơn, càng nhiều lần càng tốt, chỉ khi đó chúng ta mới có dữ liệu để xác định xác suất được số 4.” Cách tiếp cận này có vẻ ngớ ngẩn nếu giả định xúc xắc công bằng, nhưng nếu xúc xắc không công bằng thì sao? Trong trường hợp đó, thu thập dữ liệu là cách duy nhất để khám phá xác suất tung được số 4.
Xác Suất Kết Hợp (Joint Probabilities)
Giả sử ta có một đồng xu công bằng và một con xúc xắc sáu mặt công bằng. Ta muốn tính xác suất tung được mặt sấp (heads) trên đồng xu và tung được số 6 trên xúc xắc. Đây là hai xác suất riêng biệt của hai sự kiện độc lập, nhưng chúng ta muốn tìm xác suất cả hai sự kiện xảy ra cùng nhau. Đây được gọi là xác suất kết hợp (joint probability).
Với đồng xu có hai mặt, xác suất tung được mặt sấp là \(\frac{1}{2}\). Với xúc xắc sáu mặt, xác suất tung được số 6 là \(\frac{1}{6}\). Nếu hai sự kiện này độc lập (independent, nghĩa là sự kiện này không ảnh hưởng đến sự kiện kia), xác suất kết hợp được tính bằng cách nhân hai xác suất với nhau:
\(P(\text{mặt sấp và số 6}) = P(\text{mặt sấp}) \times P(\text{số 6}) = \frac{1}{2} \times \frac{1}{6} = \frac{1}{12}\)Để hiểu rõ hơn, chúng ta có thể liệt kê tất cả các kết quả có thể xảy ra khi tung đồng xu và xúc xắc.
- Đồng xu: S (sấp, heads), N (ngửa, tails)
- Xúc xắc: 1, 2, 3, 4, 5, 6
Kết hợp tất cả các khả năng, ta được 12 kết quả:
S1, S2, S3, S4, S5, S6(*), N1, N2, N3, N4, N5, N6
Kết quả mong muốn là S6 (mặt sấp và số 6), được đánh dấu bằng dấu sao (*). Vì chỉ có 1 kết quả mong muốn trong tổng số 12 kết quả có thể, xác suất là \(\frac{1}{12}\). Điều này phù hợp với phép nhân ở trên, được gọi là quy tắc nhân (product rule):
\(P(A \text{ AND } B) = P(A) \times P(B) \text{ (nếu } A \text{ và } B \text{ độc lập)}\)
Xác Suất Hợp (Union Probabilities)
Xác suất kết hợp liên quan đến toán tử AND, nhưng nếu chúng ta muốn tính xác suất xảy ra sự kiện A hoặc sự kiện B? Đây được gọi là xác suất hợp (union probability), tương ứng với toán tử OR trong logic.
Trường hợp sự kiện loại trừ lẫn nhau (Mutually Exclusive Events)
Sự kiện loại trừ lẫn nhau là những sự kiện không thể xảy ra đồng thời. Ví dụ, khi tung một xúc xắc, ta không thể đồng thời được số 4 và số 6. Xác suất hợp trong trường hợp này đơn giản là cộng xác suất của từng sự kiện:
\(P(\text{số 4 OR số 6}) = P(\text{số 4}) + P(\text{số 6}) = \frac{1}{6} + \frac{1}{6} = \frac{2}{6} = \frac{1}{3}\)
Trường hợp sự kiện không loại trừ lẫn nhau (Non-Mutually Exclusive Events)
Với các sự kiện có thể xảy ra đồng thời, việc tính xác suất hợp phức tạp hơn. Quay lại ví dụ đồng xu và xúc xắc, giả sử ta muốn tính xác suất tung được mặt sấp OR số 6. Liệt kê lại tất cả các kết quả:
S1, S2, S3, S4, S5, S6, N1, N2, N3, N4, N5, N6
Chúng ta quan tâm đến tất cả các kết quả có mặt sấp (S1, S2, S3, S4, S5, S6) hoặc số 6 (S6, N6). Đếm các kết quả thỏa mãn: S1, S2, S3, S4, S5, S6, N6, tổng cộng 7/12.
Nếu chỉ cộng xác suất, ta được:
\(P(\text{mặt sấp}) + P(\text{số 6}) = \frac{1}{2} + \frac{1}{6} = \frac{3}{6} + \frac{1}{6} = \frac{4}{6} = \frac{2}{3}\)
Kết quả này sai vì S6 đã bị đếm hai lần (trong cả nhóm mặt sấp và nhóm số 6). Để khắc phục, chúng ta sử dụng quy tắc tổng (sum rule):
\(P(A \text{ OR } B) = P(A) + P(B) – P(A \text{ AND } B)\)
Áp dụng vào ví dụ:
\(P(\text{mặt sấp OR số 6}) = P(\text{mặt sấp}) + P(\text{số 6}) – P(\text{mặt sấp AND số 6}) = \frac{1}{2} + \frac{1}{6} – \frac{1}{12} = \frac{6}{12} + \frac{2}{12} – \frac{1}{12} = \frac{7}{12}\)
Xác Suất Có Điều Kiện và Định lý Bayes (Conditional Probability and Bayes’ Theorem)
Xác suất có điều kiện (conditional probability) là xác suất của sự kiện A xảy ra khi biết rằng sự kiện B đã xảy ra, ký hiệu là \(P(A|B)\). Ví dụ, một nghiên cứu tuyên bố rằng 85% bệnh nhân ung thư uống cà phê. Điều này nghe có vẻ khá đáng lo ngại
Định nghĩa xác suất này là \(P(\text{uống cà phê} | \text{ung thư}) = 0.85\). Nhưng điều chúng ta thực sự quan tâm là xác suất ngược lại: \(P(\text{ung thư} | \text{uống cà phê})\). (Bao nhiêu người uống cafe mắc bệnh ung thư)
Sử dụng Định lý Bayes
Định lý Bayes cho phép “lật ngược” xác suất có điều kiện:
\(P(A|B) = \frac{P(B|A) \times P(A)}{P(B)}\)
Dựa trên dữ liệu:
- \(P(\text{uống cà phê} | \text{ung thư}) = 0.85\)
- \(P(\text{ung thư}) = 0.005\) (0.5% dân số mắc ung thư)
- \(P(\text{uống cà phê}) = 0.65\) (65% dân số uống cà phê)
Tính:
\(P(\text{ung thư} | \text{uống cà phê}) = \frac{P(\text{uống cà phê} | \text{ung thư}) \times P(\text{ung thư})}{P(\text{uống cà phê})} = \frac{0.85 \times 0.005}{0.65} \approx 0.006538\)
Kết quả cho thấy xác suất một người uống cà phê bị ung thư chỉ là 0.65%, rất thấp so với 85% ban đầu. Điều này minh họa rằng hướng của điều kiện rất quan trọng.
Naive Bayes
Định lý Bayes là nền tảng của thuật toán Naive Bayes, một phương pháp học máy phổ biến để phân loại. Thuật toán này giả định các đặc trưng (features) độc lập với nhau, giúp đơn giản hóa tính toán. Ví dụ, trong phân loại văn bản, Naive Bayes có thể dự đoán một bài đánh giá là tích cực hay tiêu cực dựa trên các từ xuất hiện.
Minh họa đơn giản
Giả sử ta xây dựng một mô hình để phân loại email. Ta có dữ liệu:
- 60% email là spam.
- Từ “miễn phí” xuất hiện trong 50% email spam và 10% email không spam.
Tính xác suất một email chứa từ “miễn phí” là spam:
Biểu thức | Ý nghĩa | Giá trị |
---|---|---|
\(P(\text{spam})\) | Xác suất email bất kỳ là spam | \(0.6\) |
\(P(\text{“miễn phí”} \mid \text{spam})\) | Xác suất email spam chứa từ “miễn phí” | \(0.5\) |
\(P(\text{“miễn phí”} \mid \text{không spam})\) | Xác suất email không spam chứa từ “miễn phí” | \(0.1\) |
\(P(\text{không spam}) = 1 – P(\text{spam}) = 0.4\) | Xác suất email không phải spam | \(0.4\) |
\(P(\text{spam} | \text{miễn phí}) = \frac{P(\text{miễn phí} | \text{spam}) \times P(\text{spam})}{P(\text{miễn phí})}\)
Với:
- \(P(\text{miễn phí} | \text{spam}) = 0.5\)
- \(P(\text{spam}) = 0.6\)
Xét trường hợp email là spam:
- \(P(\text{spam})\): Xác suất một email là spam (ví dụ: 30% email là spam).
- \(P(\text{miễn phí} \mid \text{spam})\): Xác suất email có từ “miễn phí” nếu nó là spam (ví dụ: 80% email spam có từ “miễn phí”).
- Đóng góp: \(P(\text{miễn phí} \mid \text{spam}) \times P(\text{spam})\).
Xét trường hợp email là không spam:
- \(P(\text{không spam})\): Xác suất một email không phải spam (ví dụ: 70% email không spam).
- \(P(\text{miễn phí} \mid \text{không spam})\): Xác suất email có từ “miễn phí” nếu nó không spam (ví dụ: 10% email không spam có từ “miễn phí”).
- Đóng góp: \(P(\text{miễn phí} \mid \text{không spam}) \times P(\text{không spam})\).
=> (Hay công thức xác suất toàn phần)
Công thức xác suất toàn phần:
\(P(A) = P(A \mid B_1) \cdot P(B_1) + P(A \mid B_2) \cdot P(B_2) + \dots + P(A \mid B_n) \cdot P(B_n)\)Hoặc viết ngắn gọn bằng tổng:
\(P(A) = \sum_{i=1}^{n} P(A \mid B_i) \cdot P(B_i)\)Chú thích:
- \(A\): Biến cố cần tính xác suất.
- \(B_1, B_2, \dots, B_n\): Một phân hoạch của không gian mẫu (các biến cố rời nhau và phủ toàn bộ không gian mẫu).
- \(P(A \mid B_i)\): Xác suất của \(A\) khi biết rằng \(B_i\) xảy ra.
- \(P(B_i)\): Xác suất của biến cố \(B_i\).
- \(P(\text{miễn phí}) = P(\text{miễn phí} | \text{spam}) \times P(\text{spam}) + P(\text{miễn phí} | \text{không spam}) \times P(\text{không spam}) \)
- \(= 0.5 \times 0.6 + 0.1 \times 0.4 = 0.34\)
Kết quả:
\(P(\text{spam} | \text{miễn phí}) = \frac{0.5 \times 0.6}{0.34} \approx 0.882\)
Email chứa từ “miễn phí” có 88.2% khả năng là spam.
Phân phối nhị thức (Binomial Distribution)
Giả sử ta đang phát triển một động cơ mới và đã thực hiện 1 bài kiểm tra với 10 lần thử. Kết quả là 8 lần thành công và 2 lần thất bại:
✓ ✓ ✓ ✓ ✓ ✘ ✓ ✘ ✓ ✓
Ta kỳ vọng động cơ mới có thể đạt tỷ lệ thành công 90%, nhưng dữ liệu cho thấy chỉ đạt 80% (8 lần thành công trong 10 lần thử trong bài kiểm tra). Mỗi bài kiểm tra tốn thời gian và chi phí, nên ta quyết định quay lại bàn thiết kế để cải tiến.
Tuy nhiên, một kỹ sư trong nhóm cho rằng cần thêm bài kiểm tra và lập luận: “Chúng ta chỉ biết chắc khi thử nhiều hơn. Điều gì xảy ra nếu các bài kiểm tra tiếp theo đạt 9 lần thử hoặc 10 lần thử thành công? Ví dụ, nếu tung đồng xu 10 lần và được 8 lần mặt ngửa, điều đó không có nghĩa đồng xu bị ‘cố định’ ở 80% ngửa trong tất cả các lần.”
Ngay cả với đồng xu công bằng, 10 lần tung không phải lúc nào cũng chia đều kết quả. Xác suất có 5 lần mặt ngửa thường xuyên xảy ra, nhưng ta cũng có thể được 3, 4, 6, hoặc 7 lần. Thậm chí 10 lần mặt ngửa cũng có thể xảy ra, dù rất hiếm. Vậy làm thế nào để xác định?
Và ta có phân phối nhị thức, dùng để đo lường khả năng đạt được \(k\) lần thành công trong \(n\) lần thử với xác suất thành công là \(p\).
![[SWE học A.I] Phần 3: Một số khái niệm suất thống kê 12 image 27 - quochung.cyou PTIT](https://quochung.cyou/wp-content/uploads/2025/06/image-27.png)
Ta có hình ảnh \(n=10\) lần kiểm tra. Phân phối nhị thức được cài đặt \(p=0.9\), hay với mỗi lần kiểm tra, ta có tỉ lệ 90% máy sẽ chạy thành công, và 10% thất bại. (Như kỳ vọng về máy). Và theo biểu đồ, có xác suất đạt 8 lần thành công trong 10 lần là 0,1937 (19,37%).
Phân phối nhị thức là một mô hình xác suất dùng để tính khả năng đạt được đúng \(k\) lần thành công trong \(n\) lần thử, khi:
- Mỗi lần thử độc lập với nhau.
- Mỗi lần thử chỉ có hai kết quả: thành công (success) hoặc thất bại (failure) theo \(p\) cố định.
Công thức xác suất nhị thức là:
\(P(k) = {n \choose k} p^k (1-p)^{n-k}\)Trong đó:
- \(n\): Số lần thử (trials). Trong ví dụ, \(n = 10\) (10 bài kiểm tra).
- \(k\): Số lần thành công mong muốn. Ví dụ, \(k = 8\) (8 lần thành công).
- \(p\): Xác suất thành công mỗi lần thử. Ví dụ, \(p = 0.9\) (90%).
- \(1-p\): Xác suất thất bại mỗi lần thử, ở đây là \(0.1\).
- \({n \choose k}\): Tổ hợp chập \(k\) của \(n\), tức số cách chọn \(k\) lần thành công trong \(n\) lần thử, được tính bằng:
Ý nghĩa của các tham số
- \(n\) (số lần thử): Quy mô của thí nghiệm. Số lần thử càng lớn, kết quả càng ổn định và gần với \(p\).
- \(k\) (số lần thành công): Số lần mong muốn đạt được kết quả “thành công”. Ví dụ, mong muốn biết xác suất đúng 8 lần thành công.
- \(p\) (xác suất thành công): Tỷ lệ kỳ vọng của sự kiện thành công. Trong ví dụ, \(p=0,9\) là tỷ lệ thành công mong muốn của động cơ.
- \(1-p\) (xác suất thất bại): Tỷ lệ thất bại, bổ sung cho \(p\).
Ta muốn kiểm tra xem việc đạt 8 lần thành công trên 10 lần thử có hợp lý không, nếu giả định rằng động cơ thực sự có xác suất thành công là 90%. Sử dụng phân phối nhị thức, ta tính xác suất đúng 8 lần thành công như sau:
\(P(k = 8) = {10 \choose 8} \times 0.9^8 \times 0.1^2\)Tính từng thành phần:
- \({10 \choose 8} = \frac{10!}{8! \cdot 2!} = 45\)
- \(0.9^8 \approx 0.43046721\)
- \(0.1^2 = 0.01\)
Vậy:
\(P(k = 8) = 45 \times 0.43046721 \times 0.01 \approx 0.1937 \text{ (19,37%)}\)Xác suất đạt đúng 8 lần thành công là 19,37%, không phải quá thấp. Tuy nhiên, để đánh giá rủi ro, ta cần tính xác suất đạt 8 hoặc ít hơn lần thành công:
\(P(k \leq 8) = \sum_{k=0}^{8} {10 \choose k} \times 0.9^k \times 0.1^{10 – k}\)Tổng này cho kết quả:
\(P(k \leq 8) \approx 0.2639 \text{ (26,39%)}\)Điều đó có nghĩa là ngay cả khi tỷ lệ thành công thực sự là 90%, thì vẫn có 26,39% khả năng động cơ chỉ đạt 8 hoặc ít hơn lần thành công trong 10 lần thử. Vì vậy việc thử nghiệm nhiều hơn theo ý ban đầu là hợp lý, chưa thể khẳng định cần cải tiến động cơ ngay chỉ với 10 lần thử.
Phương sai, độ lệch chuẩn và phân phối Chuẩn (Normal Distribution)
Phương sai và Độ lệch chuẩn
Trong thống kê, khi mô tả dữ liệu, chúng ta thường quan tâm đến việc đo lường độ chênh lệch giữa giá trị trung bình (mean) và từng điểm dữ liệu. Điều này giúp chúng ta hiểu dữ liệu phân bố “rải rác” như thế nào.
Ví dụ, giả sử ta muốn nghiên cứu số lượng thú cưng mà nhân viên trong văn phòng của ta sở hữu (đây là tổng thể, không phải mẫu). Văn phòng có 7 nhân viên, và số lượng thú cưng họ sở hữu lần lượt là: [0, 1, 5, 7, 9, 10, 14]. Trung bình số thú cưng là:
\( \overline{x} = \frac{0 + 1 + 5 + 7 + 9 + 10 + 14}{7} = 6.571 \)Hãy trừ giá trị trung bình này khỏi mỗi điểm dữ liệu để xem mỗi giá trị cách trung bình bao xa:
Thông tin này hữu ích vì nó cho chúng ta cảm nhận về mức độ phân tán của dữ liệu. Tuy nhiên, làm thế nào để tổng hợp các độ chênh lệch này thành một con số duy nhất để mô tả mức độ phân tán?
Một ý tưởng là lấy trung bình của các độ chênh lệch, nhưng các giá trị âm và dương sẽ triệt tiêu lẫn nhau khi cộng lại. Chúng ta có thể lấy giá trị tuyệt đối (loại bỏ dấu âm), nhưng một cách tiếp cận tốt hơn là bình phương các độ chênh lệch trước khi cộng. Bình phương không chỉ loại bỏ giá trị âm (vì bình phương số âm cho kết quả dương), mà còn làm nổi bật các độ chênh lệch lớn hơn và dễ xử lý hơn về mặt toán học (đạo hàm của giá trị tuyệt đối không đơn giản). Sau đó, lấy trung bình của các giá trị bình phương này để được phương sai (variance), một thước đo mức độ phân tán của dữ liệu.
Công thức phương sai của tổng thể là:
\( \sigma^2 = \frac{\sum_{i=1}^{n} (x_i – \mu)^2}{n} \)Trong đó:
- \(\mu\) là trung bình của tổng thể.
- \(x_i\) là từng giá trị trong tập dữ liệu.
- \(n\) là số lượng phần tử.
Phương sai của số thú cưng là khoảng 21.39. Nhưng con số này có ý nghĩa gì? Phương sai cao cho thấy dữ liệu phân tán nhiều, nhưng vì chúng ta đã bình phương các độ chênh lệch, giá trị này không còn cùng đơn vị với dữ liệu gốc (số thú cưng). Để đưa nó về thang đo ban đầu, chúng ta lấy căn bậc hai của phương sai, được gọi là độ lệch chuẩn (standard deviation):
\( \sigma = \sqrt{\sigma^2} \)Độ lệch chuẩn là khoảng 4.62 thú cưng. Điều này có nghĩa là trung bình, số lượng thú cưng của nhân viên dao động khoảng ±4.62 quanh giá trị trung bình 6.571. Độ lệch chuẩn dễ diễn giải hơn vì nó cùng đơn vị với dữ liệu gốc.
Phân phối liên tục
Hầu hết các ví dụ xác suất từ đầu bài đều là biến rời rạc. Ví dụ:
- Tung xúc xắc: có đúng 6 kết quả có thể (1, 2, 3, 4, 5, 6)
- Tung đồng xu: có đúng 2 kết quả có thể (ngửa, sấp)
- Rút bài: có đúng 52 lá bài khác nhau
NNhưng trong thực tế, nhiều thứ không thể đếm được như vậy:
Bạn đến trạm xe bus. Xe sẽ đến sau bao lâu?
- 2 phút? 2.5 phút? 2.37 phút? 2.371846 phút?
- Thời gian có thể là bất kỳ số nào từ 0 đến 15 phút (chu kỳ xe bus)
- Không có “danh sách” cụ thể các thời gian có thể như với xúc xắc
Nhiệt độ ở Sài Gòn hôm nay là bao nhiêu?
- 32°C? 32.1°C? 32.15°C? 32.1543°C?
- Nhiệt độ có thể là bất kỳ số nào trong khoảng (ví dụ 25°C đến 38°C)
- Bạn có thể đo chính xác đến hàng triệu chữ số thập phân nếu muốn
Tốc độ mạng wifi của bạn bây giờ là bao nhiêu Mbps?
Tốc độ luôn thay đổi và có thể là bất kỳ số nào trong một khoảng
50.2 Mbps? 50.28374 Mbps? 50.283746291 Mbps?
Đặc điểm của Biến Liên tục:
- Vô số giá trị có thể: Ngay cả trong khoảng nhỏ như [1, 2], vẫn có vô số số thực
- Không thể liệt kê: Không thể viết danh sách tất cả giá trị có thể như với xúc xắc
- Độ chính xác tùy ý: Bạn luôn có thể đo chính xác hơn bằng cách thêm chữ số thập phân
Điều quan trọng: Với biến liên tục, xác suất để có chính xác một giá trị cụ thể (như đúng 32.0000000°C) thực tế là 0. Thay vào đó, ta chỉ có thể tính xác suất trong các khoảng (như từ 31.5°C đến 32.5°C).
Thay vì tìm xác suất của một giá trị chính xác, chúng ta chỉ tính xác suất trong các khoảng:
- Không tìm xác suất cân nặng chính xác 72.8 kg
- Mà tìm xác suất cân nặng từ 72.7 đến 72.9 kg
Hàm mật độ xác suất (PDF)
Hàm mật độ xác suất (PDF) cho chúng ta biết “mật độ” của xác suất tại từng điểm trên đường cong phân phối. Nói cách khác, PDF cho biết một giá trị cụ thể có khả năng xuất hiện “dày đặc” như thế nào.
![[SWE học A.I] Phần 3: Một số khái niệm suất thống kê 13 image 44 - quochung.cyou PTIT](https://quochung.cyou/wp-content/uploads/2025/06/image-44.png)
Hình dung PDF như bản đồ mật độ dân số của một thành phố:
- Những khu vực có PDF cao = khu vực đông dân
- Những khu vực có PDF thấp = khu vực ít dân
- Nhưng để biết có bao nhiêu người sống trong một khu vực cụ thể, ta phải tính diện tích khu vực đó
Tính Xác suất thực tế = Diện tích dưới Đường cong
Để tìm xác suất thực sự, chúng ta cần tính diện tích dưới đường cong PDF:
Xác suất (từ a đến b) = Diện tích dưới đường cong PDF từ a đến b
Ví dụ về cân nặng khi xem xét nhiều cân nặng của chú chó Golden Retriever:
- Để tìm xác suất cân nặng từ 62 đến 66 pound
- Chúng ta tính diện tích dưới đường cong PDF trong khoảng [62, 66]
Hàm Phân bố Tích lũy (CDF)
Do trục dọc của PDF không phải là xác suất mà là mật độ xác suất. Để tính xác suất, chúng ta cần tích phân một khoảng giá trị \(x\) để tìm diện tích dưới đường cong.
![[SWE học A.I] Phần 3: Một số khái niệm suất thống kê 14 image 37 - quochung.cyou PTIT](https://quochung.cyou/wp-content/uploads/2025/06/image-37.png)
Phân phối Chuẩn (Normal Distribution)
Phân phối chuẩn, hay còn gọi là phân phối Gaussian, là một phân phối xác suất hình chuông đối xứng, với phần lớn giá trị tập trung quanh trung bình và độ phân tán được xác định bởi độ lệch chuẩn. Các “đuôi” của phân phối mỏng dần khi xa trung bình.
Phân phối chuẩn là phân phối hình chuông kinh điển, được xác định hoàn toàn bởi hai tham số: trung bình \(\mu\) (mean) và độ lệch chuẩn \(\sigma\) (standard deviation). Trung bình cho biết tâm của đường cong chuông nằm ở đâu, còn độ lệch chuẩn biểu thị độ “rộng” của nó.
![[SWE học A.I] Phần 3: Một số khái niệm suất thống kê 15 image 29 - quochung.cyou PTIT](https://quochung.cyou/wp-content/uploads/2025/06/image-29.png)
Ví dụ, hãy xem xét cân nặng của giống chó Golden Retriever. Giả sử trung bình cân nặng là 64.43 pound và độ lệch chuẩn là 2.99 pound
![[SWE học A.I] Phần 3: Một số khái niệm suất thống kê 16 image 38 - quochung.cyou PTIT](https://quochung.cyou/wp-content/uploads/2025/06/image-38.png)
Giả sử chúng ta lấy mẫu cân nặng của 50 con Golden Retriever trưởng thành và vẽ chúng trên trục số
![[SWE học A.I] Phần 3: Một số khái niệm suất thống kê 17 image 30 - quochung.cyou PTIT](https://quochung.cyou/wp-content/uploads/2025/06/image-30.png)
Chúng ta nhận thấy các giá trị tập trung gần trung bình, và càng xa trung bình thì càng ít giá trị. Để hình dung rõ hơn, chúng ta có thể tạo một biểu đồ tần suất (histogram), chia các giá trị vào các “thùng” (bin) có độ dài bằng nhau. chúng ta thử chia thùng với độ dài 0.5 pound. (Ví dụ 57.4 – 57.9 gộp thành chung 1 bin)
![[SWE học A.I] Phần 3: Một số khái niệm suất thống kê 18 image 32 - quochung.cyou PTIT](https://quochung.cyou/wp-content/uploads/2025/06/image-32.png)
Biểu đồ này không cho thấy hình dạng rõ ràng vì các thùng quá nhỏ và mẫu không đủ lớn. Hãy thử tăng kích thước thùng lên 3 pound
![[SWE học A.I] Phần 3: Một số khái niệm suất thống kê 19 image 33 - quochung.cyou PTIT](https://quochung.cyou/wp-content/uploads/2025/06/image-33.png)
Bây giờ, chúng ta thấy một hình chuông rõ ràng. Cho thấy mẫu có khả năng tuân theo phân phối chuẩn. Nếu điều chỉnh kích thước thùng phù hợp và chuẩn hóa để tổng diện tích bằng 1 (yêu cầu của phân phối xác suất), chúng ta sẽ có một đường cong chuông gần đúng, như trong hình dưới:
![[SWE học A.I] Phần 3: Một số khái niệm suất thống kê 20 image 34 - quochung.cyou PTIT](https://quochung.cyou/wp-content/uploads/2025/06/image-34.png)
Đặc điểm của Phân phối Chuẩn
Phân phối chuẩn có các đặc điểm quan trọng sau:
- Tính đối xứng: Hai bên đối xứng quanh trung bình.
- Tập trung quanh trung bình: Phần lớn giá trị nằm gần trung bình.
- Độ phân tán: Được xác định bởi độ lệch chuẩn.
- Đuôi mỏng dần: Xác suất giảm dần khi xa trung bình, nhưng không bao giờ chạm 0.
Hàm mật độ xác suất (PDF) của phân phối chuẩn
Hàm mật độ xác suất cho phân phối chuẩn trông như sau:
\( f(x) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(x-\mu)^2}{2\sigma^2}} \)Trong đó:
- μ (mu) là trung bình
- σ (sigma) là độ lệch chuẩn
- x là giá trị chúng ta muốn tính
![[SWE học A.I] Phần 3: Một số khái niệm suất thống kê 21 image 35 - quochung.cyou PTIT](https://quochung.cyou/wp-content/uploads/2025/06/image-35.png)
Hàm Phân bố tích luỹ (CDF) của phân phối chuẩn
Ví dụ, để tìm xác suất một con Golden Retriever có cân nặng từ 62 đến 66 pound, chúng ta cần tính diện tích dưới đường cong trong khoảng này
![[SWE học A.I] Phần 3: Một số khái niệm suất thống kê 22 image 39 - quochung.cyou PTIT](https://quochung.cyou/wp-content/uploads/2025/06/image-39.png)
Hàm CDF, với hình dạng cong chữ S (gọi là đường cong sigmoid), biểu thị diện tích dưới đường cong PDF cho đến một giá trị x nhất định
![[SWE học A.I] Phần 3: Một số khái niệm suất thống kê 23 image 40 - quochung.cyou PTIT](https://quochung.cyou/wp-content/uploads/2025/06/image-40.png)
Khi tính diện tích từ âm vô cực đến giá trị trung bình 64.43, hàm CDF cho kết quả chính xác là 0.5, tương ứng với 50%! – Tương ứng xác suất 50% một chú chó Golden Retriever có cân nặng rơi vào một nửa bên trái [- âm vô cực, 64.43]
![[SWE học A.I] Phần 3: Một số khái niệm suất thống kê 24 image 41 - quochung.cyou PTIT](https://quochung.cyou/wp-content/uploads/2025/06/image-41.png)
Tính hàm CDF cho phân bố chuẩn trong Python
from scipy.stats import norm
mean = 64.43 # giá trị trung bình
std_dev = 2.99 # độ lệch chuẩn
x = norm.cdf(64.43, mean, std_dev)
print(x) # in ra 0.5
Ta có thể tính diện tích của một khoảng giữa bằng cách trừ hai giá trị diện tích. Nếu muốn tìm xác suất quan sát được một chú chó Golden Retriever có cân nặng từ 62 đến 66 pound, ta tính diện tích đến 66 và trừ đi diện tích đến 62.
![[SWE học A.I] Phần 3: Một số khái niệm suất thống kê 25 image 42 - quochung.cyou PTIT](https://quochung.cyou/wp-content/uploads/2025/06/image-42.png)
from scipy.stats import norm
mean = 64.43
std_dev = 2.99
x = norm.cdf(66, mean, std_dev) - norm.cdf(62, mean, std_dev)
print(x) # in ra 0.4920450147062894
Hàm CDF nghịch đảo (Inverse CDF)
![[SWE học A.I] Phần 3: Một số khái niệm suất thống kê 26 image 43 - quochung.cyou PTIT](https://quochung.cyou/wp-content/uploads/2025/06/image-43.png)
Từ hàm CDF, ta có thể tính xác suất một chú chó Golden Retriever có cân nặng từ khoảng [a,b] là 40% hay x. Ví dụ, đôi lúc ta muốn trả lời các câu hỏi như:
- Ta muốn tìm cân nặng mà 95% chó Golden Retriever nằm dưới mức đó.
from scipy.stats import norm
x = norm.ppf(.95, loc=64.43, scale=2.99)
print(x) # 69.3481123445849
Điểm Z (Z-Scores)
Việc chuẩn hóa một phân bố chuẩn sao cho giá trị trung bình bằng 0 và độ lệch chuẩn bằng 1, gọi là phân bố chuẩn tắc (standard normal distribution), là rất phổ biến. Điều này giúp dễ dàng so sánh độ phân tán của một phân bố chuẩn với phân bố chuẩn khác, ngay cả khi chúng có giá trị trung bình và phương sai khác nhau.
Điều đặc biệt quan trọng với phân bố chuẩn tắc là nó biểu diễn tất cả giá trị x dưới dạng số độ lệch chuẩn, gọi là điểm Z (Z-scores). Việc chuyển một giá trị x thành điểm Z sử dụng công thức chuẩn hóa cơ bản:
\(z = \frac{x – \mu}{\sigma} \)Ví dụ: Ta có hai ngôi nhà từ hai khu vực khác nhau. Khu A có giá trị trung bình của nhà là 140,000 USD và độ lệch chuẩn 3,000 USD. Khu B có giá trị trung bình 800,000 USD và độ lệch chuẩn 10,000 USD.
Bây giờ, ta có hai ngôi nhà: Nhà A từ khu A trị giá 150,000 USD và nhà B từ khu B trị giá 815,000 USD. Ngôi nhà nào đắt hơn so với giá trung bình của khu vực của nó?
Nếu biểu diễn hai giá trị này dưới dạng số độ lệch chuẩn, ta có thể so sánh chúng so với giá trị trung bình của khu vực. Sử dụng công thức điểm Z:
\( z_A = \frac{150000 – 140000}{3000} = 3.333 \) \( z_B = \frac{815000 – 800000}{10000} = 1.5 \)Như vậy, nhà ở khu A thực sự đắt hơn nhiều so với khu vực của nó so với nhà ở khu B, vì chúng có điểm Z lần lượt là 3.333 và 1.5.
Dưới đây là cách chuyển đổi giá trị x từ một phân bố với trung bình và độ lệch chuẩn cho trước thành điểm Z và ngược lại.
def z_score(x, mean, std):
return (x - mean) / std
def z_to_x(z, mean, std):
return (z * std) + mean
mean = 140000
std_dev = 3000
x = 150000
# Chuyển thành điểm Z và ngược lại
z = z_score(x, mean, std_dev)
back_to_x = z_to_x(z, mean, std_dev)
print("Z-Score: {}".format(z)) # Z-Score: 3.3333333333333335
print("Back to X: {}".format(back_to_x)) # Back to X: 150000.0
Hệ số biến thiên (Coefficient of Variation)
Một công cụ hữu ích để đo độ phân tán là hệ số biến thiên (coefficient of variation). Nó so sánh hai phân bố và định lượng mức độ phân tán của mỗi phân bố. Công thức đơn giản: chia độ lệch chuẩn cho giá trị trung bình.
\(CV = \frac{\sigma}{\mu} \)Ví dụ, áp dụng cho hai khu vực:
\( CV_A = \frac{3000}{140000} \approx 0.0214 \) \( CV_B = \frac{10000}{800000} = 0.0125 \)Như vậy, khu A, dù rẻ hơn khu B, có độ phân tán cao hơn, nghĩa là giá nhà ở khu A đa dạng hơn khu B.
Định Lý Giới Hạn Trung Tâm (Central Limit Theorem)
Phân phối chuẩn (normal distribution) hữu ích vì nó xuất hiện rất nhiều trong tự nhiên, chẳng hạn như cân nặng của giống chó Golden Retriever trưởng thành. Tuy nhiên, điều thú vị hơn là phân phối chuẩn còn xuất hiện trong các bối cảnh không liên quan đến tổng thể tự nhiên. Khi chúng ta lấy mẫu đủ lớn từ một tổng thể, ngay cả khi tổng thể đó không tuân theo phân phối chuẩn, phân phối chuẩn vẫn sẽ xuất hiện.
Hãy tưởng tượng ta đang đo lường một tổng thể hoàn toàn ngẫu nhiên và đồng nhất (uniformly random), nơi mọi giá trị từ 0.0 đến 1.0 đều có khả năng xảy ra như nhau, không có giá trị nào được ưu tiên. Điều kỳ diệu xảy ra khi chúng ta lấy các mẫu lớn dần từ tổng thể này, tính trung bình của mỗi mẫu, và vẽ chúng thành biểu đồ histogram:
# Các mẫu từ phân phối đồng nhất sẽ có trung bình tạo thành phân phối chuẩn.
import random
import plotly.express as px
sample_size = 31
sample_count = 1000
# Định lý giới hạn trung tâm, 1000 mẫu, mỗi mẫu chứa 31 số ngẫu nhiên từ 0.0 đến 1.0
x_values = [(sum([random.uniform(0.0, 1.0) for i in range(sample_size)]) / sample_size)
for _ in range(sample_count)]
y_values = [1 for _ in range(sample_count)]
px.histogram(x=x_values, y=y_values, nbins=20).show()
![[SWE học A.I] Phần 3: Một số khái niệm suất thống kê 27 image 45 - quochung.cyou PTIT](https://quochung.cyou/wp-content/uploads/2025/06/image-45.png)
Tại sao các số ngẫu nhiên đồng nhất, khi được lấy mẫu theo nhóm 31 và tính trung bình, lại tạo ra một phân phối gần giống phân phối chuẩn? Chẳng phải mọi số đều có khả năng xảy ra như nhau, và phân phối phải phẳng (flat) thay vì hình chuông (bell-curved) sao?
Đây chính là sự khác biệt giữa biến ngẫu nhiên đơn lẻ và thống kê của tập hợp biến ngẫu nhiên.
Giải thích hiện tượng: Các số riêng lẻ trong mẫu không tạo ra phân phối chuẩn; chúng tạo ra phân phối đồng nhất (uniform distribution), nơi mọi giá trị đều có xác suất như nhau. Tuy nhiên, khi chúng ta nhóm các số này thành mẫu và tính trung bình, trung bình của các mẫu này sẽ tạo ra một phân phối chuẩn.
A) Nguyên lý tổ hợp (Combinatorial Principle)
- Khi lấy mẫu n số từ phân phối đồng nhất [0,1], có vô số cách để tạo ra trung bình ≈ 0.5
- Chỉ có rất ít cách để tạo ra trung bình cực trị (gần 0 hoặc gần 1)
- Ví dụ: Để có trung bình = 0.1 với 31 số, hầu hết các số phải rất nhỏ (xác suất thấp)
- Để có trung bình = 0.5, các số có thể phân bố đa dạng (xác suất cao)
B) Quy luật số lớn (Law of Large Numbers)
- Khi kích thước mẫu tăng, trung bình mẫu hội tụ về kỳ vọng của tổng thể
- Với phân phối đồng nhất [0,1]: E(X) = 0.5
- Độ biến thiên của trung bình giảm theo tỷ lệ 1/√n
Đây chính là định lý giới hạn trung tâm, khẳng định rằng những điều thú vị xảy ra khi chúng ta lấy mẫu đủ lớn từ một tổng thể, tính trung bình của mỗi mẫu, và vẽ chúng thành phân phối:
- Trung bình của các trung bình mẫu bằng trung bình tổng thể.
- Nếu tổng thể tuân theo phân phối chuẩn, thì trung bình mẫu cũng sẽ tuân theo phân phối chuẩn.
- Nếu tổng thể không tuân theo phân phối chuẩn, nhưng kích thước mẫu lớn hơn 30, trung bình mẫu vẫn sẽ gần giống phân phối chuẩn.
- Độ lệch chuẩn của trung bình mẫu bằng độ lệch chuẩn tổng thể chia cho căn bậc hai của kích thước mẫu (\(\frac{\sigma}{\sqrt{n}}\))
Những đặc tính này cho phép chúng ta suy ra các thông tin hữu ích về tổng thể dựa trên mẫu, ngay cả khi tổng thể không tuân theo phân phối chuẩn. Nếu bạn chỉnh sửa mã trên và thử với kích thước mẫu nhỏ như 1 hoặc 2, bạn sẽ không thấy phân phối chuẩn xuất hiện. Nhưng khi kích thước mẫu đạt 31 trở lên, phân phối sẽ dần hội tụ về phân phối chuẩn:
![[SWE học A.I] Phần 3: Một số khái niệm suất thống kê 28 image 46 - quochung.cyou PTIT](https://quochung.cyou/wp-content/uploads/2025/06/image-46.png)
Số 31 là con số tiêu chuẩn trong thống kê vì đây thường là điểm mà phân phối mẫu hội tụ về phân phối tổng thể, đặc biệt khi đo lường trung bình mẫu hoặc các tham số khác. Khi mẫu có ít hơn 31 phần tử, ta có thể sử dụng phân phối T (T-distribution) thay vì phân phối chuẩn, vì phân phối T có đuôi dày hơn (fatter tails) khi kích thước mẫu nhỏ, phản ánh sự bất định lớn hơn.
![[SWE học A.I] Phần 3: Một số khái niệm suất thống kê 29 image 47 - quochung.cyou PTIT](https://quochung.cyou/wp-content/uploads/2025/06/image-47-1024x592.png)
Khoảng Tin Cậy (Confidence Intervals)
Khoảng tin cậy là một phép tính phạm vi cho thấy chúng ta tin tưởng bao nhiêu phần trăm rằng trung bình mẫu (hoặc tham số khác) nằm trong một phạm vi của trung bình tổng thể.
Ví dụ: Dựa trên mẫu gồm 31 con chó Golden Retriever với trung bình mẫu là 64.408 và độ lệch chuẩn mẫu là 2.05, ta tin tưởng 95% rằng trung bình tổng thể nằm trong khoảng từ 63.686 đến 65.1296. Làm thế nào ta biết được điều này?
Bước 1: Chọn mức tin cậy (Level of Confidence – LOC)
Ta muốn tin tưởng 95% rằng trung bình mẫu nằm trong phạm vi trung bình tổng thể mà ta sẽ tính toán. Đây là mức tin cậy. Chúng ta có thể tận dụng định lý giới hạn trung tâm để suy ra phạm vi này. Trước tiên, ta cần giá trị z tới hạn (critical z-value), tức là phạm vi đối xứng trong phân phối chuẩn đơn vị (standard normal distribution) chứa 95% xác suất ở trung tâm
![[SWE học A.I] Phần 3: Một số khái niệm suất thống kê 30 image 48 - quochung.cyou PTIT](https://quochung.cyou/wp-content/uploads/2025/06/image-48.png)
![[SWE học A.I] Phần 3: Một số khái niệm suất thống kê 31 image 49 - quochung.cyou PTIT](https://quochung.cyou/wp-content/uploads/2025/06/image-49.png)
Chúng ta sử dụng hàm CDF ngược (inverse CDF). Để có 95% diện tích đối xứng ở trung tâm, chúng ta loại bỏ 5% diện tích ở hai đuôi. Chia đôi 5% này, mỗi đuôi sẽ chứa 2.5% diện tích. Do đó, các giá trị diện tích cần tra cứu là 0.025 và 0.975
from scipy.stats import norm
def critical_z_value(p):
norm_dist = norm(loc=0.0, scale=1.0)
left_tail_area = (1.0 - p) / 2.0
upper_area = 1.0 - ((1.0 - p) / 2.0)
return norm_dist.ppf(left_tail_area), norm_dist.ppf(upper_area)
print(critical_z_value(p=.95))
# (-1.959963984540054, 1.959963984540054)
Chúng ta tra cứu giá trị x cho diện tích 0.025 và 0.975, từ đó xác định phạm vi trung tâm chứa 95% diện tích. Giá trị z dưới và trên sẽ đối xứng nhau
Kết quả là ±1.95996, tức giá trị z tới hạn bao quát 95% xác suất ở trung tâm của phân phối chuẩn đơn vị. Tiếp theo, ta sử dụng định lý giới hạn trung tâm để tính sai số biên (margin of error – E), tức là phạm vi quanh trung bình mẫu chứa trung bình tổng thể ở mức tin cậy đó. Với mẫu 31 con Golden Retriever có trung bình 64.408 và độ lệch chuẩn 2.05, công thức tính sai số biên là:
\(E = z \cdot \frac{s}{\sqrt{n}}\)Áp dụng sai số biên này vào trung bình mẫu, chúng ta sẽ có khoảng tin cậy.
from math import sqrt
from scipy.stats import norm
def critical_z_value(p):
norm_dist = norm(loc=0.0, scale=1.0)
left_tail_area = (1.0 - p) / 2.0
upper_area = 1.0 - ((1.0 - p) / 2.0)
return norm_dist.ppf(left_tail_area), norm_dist.ppf(upper_area)
def confidence_interval(p, sample_mean, sample_std, n):
# Kích thước mẫu phải lớn hơn 30
lower, upper = critical_z_value(p)
lower_ci = lower * (sample_std / sqrt(n))
upper_ci = upper * (sample_std / sqrt(n))
return sample_mean - lower_ci, sample_mean + upper_ci
print(confidence_interval(p=.95, sample_mean=64.408, sample_std=2.05, n=31))
# (63.68635915701992, 65.12964084298008)
Cách diễn giải: Dựa trên mẫu 31 con Golden Retriever với trung bình mẫu 64.408 và độ lệch chuẩn mẫu 2.05, ta tin tưởng 95% rằng trung bình tổng thể nằm trong khoảng từ 63.686 đến 65.1296. Đây là khoảng tin cậy của chúng ta.
Reference:
- Data Science from Scratch – Joel Grus
- Essential Math for Data Science – Thomas Nield
- Deep Learning – Andrew Glassner