Thống kê ứng dụng 3: Các vấn đề trong thống kê

ANOVA

Trong phần 1, ta đã biết về các khái niệm: means, median, standard deviations. Phần 2, ta cũng đã biết cách tính confidence interval và thực hiện hypothesis testing như thế nào. Trong phần cuối series học thống kê thông qua lập trình Jupyter notebook, ta giải quyết các vấn đề trong thống kê gồm:

  • Tính khoảng tin cậy như thế nào nếu mẫu dữ liệu thu thập nhỏ hơn 30?
  • So sánh hai quần thể xem chúng có khác biệt nhau hay không (thường ứng dụng trong A/B testing)?
  • Làm sao để kiểm tra 2 bản báo cáo lượt view giữa Facebook và Google bằng Chi-square?
  • ANOVA trong việc phân tích mức độ yêu thích của người dùng giữa các bộ phim?

Download: Jupyter notebook

Advertisement

Thống kê ứng dụng 2: Suy luận thống kê

Statistics for Hackers

Ở phần trước, ta đã tìm hiểu các khái niệm cơ bản của thống kê như means, median, standard deviations, probability, normal distribution, central limit theorem. Những độ đo này giúp ta hiểu biết tổng quan về dữ liệu đang phân tích. Trong phần tiếp theo, ta sẽ tìm hiểu về suy luận thống kê từ các độ đo này. Ta sẽ biết thế nào là độ lỗi chuẩn (standard error), làm sao để tính khoảng tin cậy (confidence interval) cho một mẫu bất kỳ vừa thu thập được, và thực hiện kiểm định giải thuyết như thế nào cho những câu hỏi được đặt ra.

Tất cả những thao tác này được gọi là suy luận thống kê (inferential statistics). Ví dụ, một lớp học gồm 50 học sinh. Trong đó, các bạn nữ cho rằng mỗi lần khảo bài thì họ bị gọi lên nhiều hơn các bạn nam. Họ cho rằng như vậy giáo viên đã thiên vị. Còn giáo viên thì cho rằng họ thực hiện điều này một cách ngẫu nhiên. Vậy ai đúng trong trường hợp này. Thông qua suy luận thống kê, ta sẽ tiến hành lấy mẫu thực nghiệm, đặt giả thuyết thống kê, xác định ngưỡng bác bỏ \alpha, tính toán z-score và p-value, cuối cùng là so sánh \alpha và p-value để xem kết luận cuối cùng là gì.

Download: Jupyter notebook

Xem thêm:

Thống kê ứng dụng 1: Quan sát dữ liệu

rating_histogram

Học thống kê thông qua lập trình sẽ giúp ta không chỉ kiểm chứng lại lý thuyết đã học mà còn hỗ trợ nắm bắt các khái niệm phức tạp một cách dễ dàng hơn. Thêm vào đó, ta sẽ biết cách ứng dụng những kiến thức này vào trong công việc khi cần thiết.

Ta sử dụng Jupyter notebook để điểm qua các khái niệm, thao tác cơ bản giúp quan sát và mô tả dữ liệu. Ta sẽ phân biệt được các loại dữ liệu (nomial, numbers, odinal, ratio) trong dataset như thế nào, tìm trọng tâm của tập dữ liệu, quan sát sự biến đổi của dữ liệu thông qua các chỉ số cơ bản (range, variance, standard deviation, z-score, percentile), cùng với một vài nguyên lý tính xác suất Bayes và cách mô phỏng central limit theorem.

z_score_distribution

central_limit_on_rating

Statistical hypothesis testing cho dân lập trình

Statistics for Hackers
Statistics for Hackers

Hai kỹ năng cần có của các data scientist là kỹ thuật lập trình và tư duy thống kê. Nhiều data scientist hiện nay có kỹ thuật lập trình rất tốt nhưng họ cảm thấy như là kẻ mạo danh khi nói đến các số liệu thống kê. Trong buổi nói chuyện này, John sẽ lập luận rằng khả năng lập trình máy tính cho phép bạn có những ý tưởng sâu sắc và cơ bản nhất về thống kê học. Mục tiêu của John là thuyết phục các kỹ sư không chuyên về thống kê rằng lộ trình để hiểu thấu đáo các khái niệm trong thống kê học ngắn hơn bạn tưởng.

Lĩnh vực thống kê từ lâu đã có tiếng là khó nhai: nó xoay quanh các biệt ngữ dường như vô tận về phân phối, kiểm định thống kê, khoảng tin cậy, chỉ số p, và hơn thế nữa, với các khái niệm và các giả định tinh tế của riêng chúng. Nhưng ta không nhất thiết phải đi theo cách này. Trong slide trình bày dưới đây, Jake sẽ thảo luận về cách sử dụng kỹ năng lập trình để “hack các lý thuyết thống kê” – để thay thế một số lý thuyết và biệt ngữ khó hiểu bằng phương pháp tính toán trực quan như lấy mẫu (sampling), xáo trộn ngẫu nhiên (shuffling), kiểm chứng chéo (cross-validation), và các phương pháp Bayesian – để thấy rằng ta có thể nắm bắt được các khái niệm cơ bản chỉ cần bạn có thể viết được vài vòng lặp để làm phân tích thống kê.

Tham khảo thêm:

A/B testing là gì

Ngay tại thời điểm này, có rất nhiều khả năng ứng dụng Twitter của các bạn hoàn toàn khác với tôi, và hoàn toàn có thể bạn đang sở hữu những tính năng mới mà tôi không nhìn thấy. Thật ra, kể từ khi có nhiều người dùng hơn, Twitter đã trích ra một phần trăm nhỏ băng thông của mình để kiểm nghiệm một số tính năng mới nào đó mà chưa được chính thức công bố. Do đó, để hiểu được những người dùng cụ thể này phản ứng như thế nào so với nhóm người không được sử dụng tính năng mới (control group) được gọi là A/B testing. Đây là phương pháp kiểm nghiệm xem nhóm A hoặc B, nhóm nào có phản ứng tích cực hơn.

Trước khi đi vào quy trình cụ thể, ta hãy xem qua đoạn video ngắn nói về A/B testing layout của một website.

Tiếp tục đọc “A/B testing là gì”

Statistical Inference: P Values

P Values

Trong bài viết này ta sẽ nói về p-values, không phải là một phương thức để kiểm định mà là một độ đo về tầm quan trọng của thống kê (nghĩa là xác suất của dữ kiện D xảy ra nếu (nhấn mạnh: “nếu”) giả thuyết đảo H_a là sự thật.). Tuy nhiên, bởi vì chúng phổ biến và chúng được sử dụng rất nhiều, và thường bị hiểu lầm hay diễn giải sai. Trong phần này, ta sẽ tập trung vào làm thế nào để phát sinh và diễn giải giá trị này một cách đúng đắn.

Notebooks: p_value.

Statistical Inference: Kiểm định giả thuyết thống kê (Hypothesis Testing)

Power

Việc xác định qui luật xác suất của các biến (variable) có mặt trong tổng thể (population) là một điều cần thiết trong xử lí số liệu. Bài toán ước lượng tham số (parameter estimation) mới chỉ giải quyết việc ước lượng tham số có mặt trong phân phối xác suất của tổng thể (probability distribution of population). Trong baì viết này, ta sẽ xây dựng các qui tắc đánh giá giả thuyết (evaluate hypothesis) về các tham số. Qua các qui tắc kiểm định, ta có thể biết được cách xây dựng các giả thuyết (NULL hypothesis) và đối thuyết (alternative hypothesis) trong từng trường hợp cụ thể. Bài toán kiểm định giả thuyết thống kê (hypothesis testing) là một bài toán lớn và quan trọng của thống kê toán học.

Notebooks: hypothesis_testing.

Statistical Inference: Tiệm cận (Asymptotics)

Coin plot 10000

Trong bài viết này ta sẽ thảo luận về tiệm cận (asymptotics), làm thế nào để miêu tả dáng điệu của thống kê khi kích thước mẫu ngày càng tiến đến vô cùng. Giả định kích thước mẫu và kích thước quần thể là vô cùng, điều này hữu ích cho việc suy diễn thống kê và xấp xĩ.

Notebooks: LoLN and CTL.

Tiếp tục đọc “Statistical Inference: Tiệm cận (Asymptotics)”

Statistical Inference: Xác suất (Probability)

distribution
distribution

Trong bài viết này, ta sẽ khảo sát các khái niệm về xác suất (probability), là một số thực diễn tả khả năng xảy ra của một biến cố (event, outcome). Tiếp tục đọc “Statistical Inference: Xác suất (Probability)”