Thống Kê cho Data Science 2026: Xác Suất, Kiểm Định Giả Thuyết và Câu Hỏi Phỏng Vấn
Nắm vững thống kê cho phỏng vấn data science: phân phối xác suất, kiểm định giả thuyết, p-value và các câu hỏi thường gặp năm 2026.

Thống kê là nền tảng toán học của mọi vai trò data science. Nhà tuyển dụng tại các công ty như Google, Meta và Netflix kiểm tra khả năng lập luận thống kê vì điều này phân biệt ứng viên chỉ biết xây dựng mô hình với những người hiểu tại sao mô hình đó hoạt động.
Các câu hỏi thống kê đánh giá ba khả năng: chuyển đổi vấn đề kinh doanh thành khung thống kê, chọn kiểm định phù hợp cho dữ liệu, và diễn giải kết quả mà không rút ra kết luận quá mức.
Các Phân Phối Xác Suất Mà Data Scientist Cần Nắm Vững
Phân phối xác suất mô tả cách các điểm dữ liệu phân bố trên các giá trị có thể. Nhà tuyển dụng mong đợi sự thành thạo với các phân phối này vì chúng là nền tảng của lấy mẫu, A/B testing và các giả định của mô hình.
Phân phối chuẩn (Gaussian) xuất hiện ở khắp nơi: sai số đo lường, chiều cao, điểm thi. Đường cong hình chuông của nó tập trung vào giá trị trung bình, với 68% dữ liệu nằm trong một độ lệch chuẩn, 95% trong hai độ lệch chuẩn. Khi kích thước mẫu vượt quá 30, Định lý Giới hạn Trung tâm đảm bảo rằng trung bình mẫu tuân theo phân phối chuẩn bất kể hình dạng của tổng thể ban đầu.
Phân phối nhị thức mô hình hóa các thử nghiệm thành công/thất bại. Click-through rate, sự kiện chuyển đổi và kiểm tra chất lượng đạt/không đạt tuân theo mô hình nhị thức. Với n thử nghiệm có xác suất thành công p, giá trị kỳ vọng là np và phương sai là np(1-p).
Phân phối Poisson đếm các sự kiện hiếm trong khoảng thời gian cố định: lượt truy cập website mỗi phút, lỗi mỗi lô, cuộc gọi mỗi giờ. Tham số đơn λ đại diện cho cả giá trị trung bình và phương sai. Khi các sự kiện xảy ra độc lập với tỷ lệ trung bình không đổi, Poisson phù hợp.
# distributions_demo.py
import numpy as np
from scipy import stats
# Normal: customer spend follows N(μ=50, σ=15)
normal_samples = stats.norm.rvs(loc=50, scale=15, size=1000)
prob_above_80 = 1 - stats.norm.cdf(80, loc=50, scale=15) # P(X > 80)
# Binomial: 100 users, 5% conversion rate
binom_samples = stats.binom.rvs(n=100, p=0.05, size=1000)
prob_at_least_10 = 1 - stats.binom.cdf(9, n=100, p=0.05) # P(X >= 10)
# Poisson: 3 support tickets per hour on average
poisson_samples = stats.poisson.rvs(mu=3, size=1000)
prob_zero_tickets = stats.poisson.pmf(0, mu=3) # P(X = 0)Ba phân phối này xử lý hầu hết các kịch bản thực tế. Nhà tuyển dụng thường hỏi phân phối nào phù hợp với bối cảnh kinh doanh cụ thể, vì vậy hãy thực hành ánh xạ các vấn đề thực tế vào mô hình phù hợp.
Kiểm Định Giả Thuyết: Khung Làm Việc Đằng Sau A/B Test
Kiểm định giả thuyết cung cấp cấu trúc chính thức để đưa ra quyết định từ dữ liệu. Khung làm việc bắt đầu với giả thuyết không (H₀) đại diện cho không có hiệu ứng hoặc không có sự khác biệt, và giả thuyết thay thế (H₁) đại diện cho những gì thí nghiệm muốn phát hiện.
Giả thuyết không của A/B test điển hình phát biểu: "Tính năng mới không có ảnh hưởng đến conversion rate." Giả thuyết thay thế khẳng định có hiệu ứng. Kiểm định tính toán xác suất dữ liệu quan sát được xảy ra nếu giả thuyết không đúng.
P-value định lượng xác suất này. P-value 0.03 nghĩa là có 3% khả năng thấy kết quả cực đoan như vậy nếu giả thuyết không đúng. Khi p-value thấp hơn mức ý nghĩa (thường α = 0.05), giả thuyết không bị bác bỏ.
# ab_test_analysis.py
import numpy as np
from scipy import stats
# A/B test data: control vs treatment conversion rates
control_conversions = 120
control_visitors = 2000
treatment_conversions = 145
treatment_visitors = 2000
# Proportions
p_control = control_conversions / control_visitors # 0.060
p_treatment = treatment_conversions / treatment_visitors # 0.0725
# Pooled proportion under null hypothesis
p_pooled = (control_conversions + treatment_conversions) / (control_visitors + treatment_visitors)
# Standard error
se = np.sqrt(p_pooled * (1 - p_pooled) * (1/control_visitors + 1/treatment_visitors))
# Z-statistic
z_stat = (p_treatment - p_control) / se
# Two-tailed p-value
p_value = 2 * (1 - stats.norm.cdf(abs(z_stat)))
print(f"Z-statistic: {z_stat:.3f}") # Z-statistic: 1.681
print(f"P-value: {p_value:.4f}") # P-value: 0.0928Với p-value 0.0928, kiểm định này không bác bỏ giả thuyết không tại α = 0.05. Sự khác biệt quan sát được có thể là biến động ngẫu nhiên. Cần thêm dữ liệu hoặc kích thước hiệu ứng lớn hơn để đạt được ý nghĩa thống kê.
Sai Lầm Loại I và Loại II: Sự Đánh Đổi Mà Nhà Tuyển Dụng Kiểm Tra
Các kiểm định thống kê cân bằng hai loại sai lầm. Sai lầm Loại I (dương tính giả) xảy ra khi bác bỏ giả thuyết không đúng. Sai lầm Loại II (âm tính giả) xảy ra khi không bác bỏ giả thuyết không sai.
Mức ý nghĩa α trực tiếp kiểm soát xác suất sai lầm Loại I. Đặt α = 0.05 nghĩa là chấp nhận 5% khả năng dương tính giả. Giảm α xuống 0.01 làm giảm dương tính giả nhưng tăng âm tính giả.
Lực thống kê (1 - β) đo xác suất bác bỏ đúng giả thuyết không sai. Lực phụ thuộc vào kích thước hiệu ứng, kích thước mẫu và mức ý nghĩa. Tiêu chuẩn ngành nhắm đến 80% lực, nghĩa là 20% khả năng bỏ lỡ hiệu ứng thực.
Ứng viên thường nhầm lẫn "không có sự khác biệt có ý nghĩa" với "không có sự khác biệt nào tồn tại." Không bác bỏ giả thuyết không không chứng minh giả thuyết không đúng. Kiểm định có thể thiếu lực để phát hiện hiệu ứng nhỏ nhưng thực sự.
Tính toán kích thước mẫu cân bằng các vấn đề này. Đối với A/B test nhắm đến tăng 2% conversion (từ 5% lên 7%) với 80% lực và α = 0.05:
# sample_size_calculation.py
from statsmodels.stats.power import zt_ind_solve_power
# Baseline conversion: 5%, expected lift: 2 percentage points
baseline = 0.05
expected = 0.07
effect_size = (expected - baseline) / np.sqrt(baseline * (1 - baseline)) # Cohen's h
# Required sample size per group
n_per_group = zt_ind_solve_power(
effect_size=effect_size,
alpha=0.05,
power=0.80,
alternative='two-sided'
)
print(f"Sample size per group: {int(np.ceil(n_per_group))}") # ~1,570 per groupCác kiểm định thiếu lực lãng phí tài nguyên bằng cách chạy thí nghiệm không thể phát hiện hiệu ứng thực tế.
Khoảng Tin Cậy: Định Lượng Sự Không Chắc Chắn
Khoảng tin cậy 95% nghĩa là: nếu quy trình lấy mẫu tương tự được lặp lại nhiều lần, 95% các khoảng được xây dựng sẽ chứa tham số thực. Khoảng tin cậy truyền đạt sự không chắc chắn tốt hơn chỉ ước lượng điểm.
Đối với trung bình với phương sai tổng thể đã biết, khoảng sử dụng phân phối z. Đối với mẫu nhỏ hoặc phương sai không biết, phân phối t được áp dụng. Phân phối t có đuôi nặng hơn phân phối chuẩn, tạo ra khoảng rộng hơn để giải thích cho sự không chắc chắn bổ sung.
# confidence_intervals.py
import numpy as np
from scipy import stats
# Sample data: response times in milliseconds
response_times = np.array([245, 312, 278, 299, 256, 334, 287, 301, 265, 289])
n = len(response_times)
mean = np.mean(response_times) # 286.6
std_err = stats.sem(response_times) # Standard error of the mean
# 95% confidence interval using t-distribution (df = n-1)
t_critical = stats.t.ppf(0.975, df=n-1)
margin_of_error = t_critical * std_err
ci_lower = mean - margin_of_error
ci_upper = mean + margin_of_error
print(f"Mean: {mean:.1f}ms") # Mean: 286.6ms
print(f"95% CI: [{ci_lower:.1f}, {ci_upper:.1f}]ms") # 95% CI: [265.4, 307.8]msKhoảng hẹp hơn cho thấy ước lượng chính xác hơn. Kích thước mẫu thúc đẩy độ chính xác: tăng gấp bốn n giảm một nửa biên sai số.
Sẵn sàng chinh phục phỏng vấn Data Science & ML?
Luyện tập với mô phỏng tương tác, flashcards và bài kiểm tra kỹ thuật.
Bayesian vs Frequentist: Câu Hỏi Phỏng Vấn về Triết Lý Thống Kê
Nhà tuyển dụng đôi khi thăm dò hiểu biết về các mô hình thống kê cạnh tranh. Thống kê frequentist coi xác suất là tần suất dài hạn: tham số cố định, và dữ liệu thay đổi qua các thí nghiệm lặp lại. P-value và khoảng tin cậy xuất phát từ truyền thống này.
Thống kê Bayesian coi xác suất là mức độ tin tưởng: kiến thức tiên nghiệm kết hợp với dữ liệu để tạo ra niềm tin hậu nghiệm. Khung làm việc này cho phép kết hợp chuyên môn lĩnh vực và tạo ra các phát biểu xác suất về tham số trực tiếp.
A/B testing ngày càng sử dụng phương pháp Bayesian vì nó trả lời câu hỏi mà các bên liên quan thực sự hỏi: "Xác suất treatment B vượt trội treatment A là bao nhiêu?" thay vì "Dữ liệu này đáng ngạc nhiên đến mức nào nếu không có sự khác biệt?"
# bayesian_ab_test.py
import numpy as np
from scipy import stats
# Prior: Beta(1, 1) = uniform prior for conversion rate
# Posterior: Beta(alpha + successes, beta + failures)
control_successes, control_failures = 120, 1880
treatment_successes, treatment_failures = 145, 1855
# Posterior distributions
posterior_control = stats.beta(1 + control_successes, 1 + control_failures)
posterior_treatment = stats.beta(1 + treatment_successes, 1 + treatment_failures)
# Monte Carlo estimation: P(treatment > control)
samples_control = posterior_control.rvs(100000)
samples_treatment = posterior_treatment.rvs(100000)
prob_treatment_better = np.mean(samples_treatment > samples_control)
print(f"P(treatment > control): {prob_treatment_better:.2%}") # ~95%Kết quả Bayesian giao tiếp trực tiếp: "Có xác suất 95% rằng conversion rate của treatment vượt quá control rate." Kết quả frequentist đòi hỏi diễn giải cẩn thận hơn.
Câu Hỏi Phỏng Vấn Phổ Biến về Suy Diễn Thống Kê
Những câu hỏi này thường xuất hiện trong phỏng vấn data science tại các công ty công nghệ. Mỗi câu kiểm tra một khái niệm thống kê cụ thể.
"Giải thích Định lý Giới hạn Trung tâm và tại sao nó quan trọng."
CLT phát biểu rằng trung bình mẫu từ bất kỳ tổng thể nào (với phương sai hữu hạn) tiến đến phân phối chuẩn khi kích thước mẫu tăng. Điều này quan trọng vì giả định chuẩn trong kiểm định giả thuyết đúng cho mẫu lớn bất kể phân phối gốc. Kích thước mẫu 30+ thường đủ.
"P-hacking là gì và làm thế nào để ngăn chặn nó?"
P-hacking làm tăng tỷ lệ dương tính giả bằng cách kiểm định nhiều giả thuyết cho đến khi tìm thấy ý nghĩa, hoặc bằng cách dừng thu thập dữ liệu khi kết quả trở nên có ý nghĩa. Chiến lược phòng ngừa: đăng ký trước kế hoạch phân tích, áp dụng hiệu chỉnh so sánh nhiều lần (Bonferroni, FDR), và xác định kích thước mẫu trước khi thu thập dữ liệu.
"Khi nào sử dụng t-test so với Mann-Whitney U test?"
T-test giả định dữ liệu phân phối chuẩn (hoặc mẫu lớn qua CLT) và so sánh trung bình. Mann-Whitney U là lựa chọn phi tham số so sánh phân phối mà không cần giả định chuẩn. Sử dụng Mann-Whitney cho mẫu nhỏ với dữ liệu rõ ràng không chuẩn hoặc khi so sánh đo lường thứ tự.
"Làm thế nào để xử lý so sánh nhiều lần trong A/B testing?"
Kiểm định nhiều biến thể làm tăng sai lầm Loại I. Với 20 so sánh tại α = 0.05, xác suất ít nhất một dương tính giả vượt quá 60%. Hiệu chỉnh Bonferroni chia α cho số lượng kiểm định. Quy trình Benjamini-Hochberg kiểm soát tỷ lệ phát hiện sai trong khi duy trì lực nhiều hơn Bonferroni.
Simpson's Paradox: Chủ Đề Yêu Thích của Nhà Tuyển Dụng
Simpson's paradox xảy ra khi xu hướng trong dữ liệu tổng hợp đảo ngược ở cấp độ nhóm con. Nhà tuyển dụng yêu thích chủ đề này vì nó kiểm tra lập luận nhân quả, không chỉ cơ học thống kê.
Ví dụ kinh điển: Bệnh viện A có tỷ lệ tử vong tổng thể cao hơn Bệnh viện B. Nhưng Bệnh viện A có tỷ lệ tử vong thấp hơn cho cả ca nhẹ và nặng. Nghịch lý phát sinh vì Bệnh viện A điều trị nhiều ca nặng hơn, có tỷ lệ tử vong cao hơn bất kể chất lượng bệnh viện.
# simpsons_paradox.py
import pandas as pd
# Hospital mortality data
data = {
'Hospital': ['A', 'A', 'B', 'B'],
'Severity': ['Mild', 'Severe', 'Mild', 'Severe'],
'Patients': [200, 800, 800, 200],
'Deaths': [10, 160, 48, 50]
}
df = pd.DataFrame(data)
df['Mortality'] = df['Deaths'] / df['Patients']
# Subgroup mortality
print(df[['Hospital', 'Severity', 'Mortality']])
# Hospital A: Mild 5%, Severe 20%
# Hospital B: Mild 6%, Severe 25%
# Aggregate mortality
agg = df.groupby('Hospital').agg({'Deaths': 'sum', 'Patients': 'sum'})
agg['Mortality'] = agg['Deaths'] / agg['Patients']
print(agg['Mortality'])
# Hospital A: 17%, Hospital B: 9.8%Giải quyết đòi hỏi xác định biến gây nhiễu (mức độ nghiêm trọng) và phân tích nhóm con riêng biệt. Phân tích tổng hợp gây hiểu lầm khi tỷ lệ nhóm con khác nhau.
Khái Niệm Thống Kê cho Feature Engineering
Kiến thức thống kê trực tiếp cải thiện feature engineering. Hiểu phân phối hướng dẫn biến đổi; hiểu mối quan hệ hướng dẫn tạo đặc trưng.
Skewness đo độ bất đối xứng của phân phối. Dữ liệu lệch phải (thu nhập, giá) được hưởng lợi từ biến đổi log chuẩn hóa phân phối và cải thiện hiệu suất mô hình. Dữ liệu lệch trái sử dụng biến đổi bình phương hoặc hàm mũ.
Tương quan định lượng mối quan hệ tuyến tính. Tương quan Pearson giả định chuẩn và tuyến tính. Tương quan Spearman xử lý mối quan hệ phi tuyến đơn điệu. Các đặc trưng tương quan cao gây ra đa cộng tuyến trong mô hình tuyến tính, vì vậy một đặc trưng thường bị loại bỏ.
Outlier ảnh hưởng không cân xứng đến trung bình và độ lệch chuẩn. Thống kê robust (trung vị, IQR) kháng ảnh hưởng của outlier. Quyết định: loại bỏ, giới hạn, hoặc biến đổi outlier tùy thuộc vào việc chúng đại diện cho lỗi hay giá trị cực đoan thực sự.
Để biết thêm về việc áp dụng các khái niệm này vào mô hình machine learning, xem hướng dẫn phỏng vấn feature engineering và khám phá module thực hành thống kê suy diễn.
Bắt đầu luyện tập!
Kiểm tra kiến thức với mô phỏng phỏng vấn và bài kiểm tra kỹ thuật.
Điều Phân Biệt Ứng Viên Mạnh trong Câu Hỏi Thống Kê
Năng lực thống kê trong phỏng vấn data science đòi hỏi nhiều hơn định nghĩa sách giáo khoa. Ứng viên mạnh thể hiện các khả năng sau:
- Kết nối thống kê với kết quả kinh doanh: đóng khung kết quả A/B test theo tác động doanh thu hoặc engagement người dùng, không chỉ p-value
- Biết các giả định: mỗi kiểm định có điều kiện (độc lập, chuẩn, phương sai bằng nhau) và ứng viên phải nêu khi nào các điều kiện đó có thể thất bại
- Định lượng sự không chắc chắn: ước lượng điểm mà không có khoảng tin cậy hoặc khoảng đáng tin khiến các bên liên quan đoán về độ tin cậy
- Nhận ra giới hạn nhân quả: dữ liệu quan sát cho thấy tương quan, và ứng viên phải nêu rõ thiết kế thí nghiệm nào sẽ thiết lập nhân quả
- Chọn kiểm định phù hợp: khớp loại dữ liệu (liên tục vs phân loại), kích thước mẫu, và câu hỏi nghiên cứu với phương pháp thống kê phù hợp
- Giao tiếp kết quả rõ ràng: chuyển đổi phát hiện thống kê thành khuyến nghị có thể hành động mà các bên liên quan phi kỹ thuật có thể hiểu và thực hiện
Bạn có tìm ra lỗi trong Data Science & ML không?
Một đoạn mã thật, một lỗi ẩn, mỗi ngày một lượt. Không cần tài khoản để thử.

Viết bởi
Anthony Fillion-MailletNgười sáng lập SharpSkill
Lập trình viên fullstack hơn 10 năm. Anh điều hành SharpSkill và chịu trách nhiệm về mọi nội dung đăng tại đây.
Cập nhật ngày 21 tháng 8, 2026
Chia sẻ
Bài viết liên quan

Computer Vision voi PyTorch nam 2026: CNN, Transfer Learning va Cau hoi Phong van
Computer vision voi PyTorch: xay dung CNN tu dau, ap dung transfer learning voi model pretrained, va chuan bi cho phong van ky thuat.

LangChain cho Data Scientist 2026: LLM, Agent và Câu hỏi Phỏng vấn
Làm chủ LangChain 0.3 cho data science: LCEL chain, mẫu RAG, ReAct agent, hệ thống bộ nhớ, và câu hỏi phỏng vấn cho vị trí ML engineering.

MLOps năm 2026: MLflow, Model Registry và Câu Hỏi Phỏng Vấn Kỹ Thuật
Các câu hỏi phỏng vấn MLOps bao quát vòng đời ML, theo dõi thí nghiệm với MLflow, thăng cấp model registry, các mẫu triển khai, giám sát drift và thiết kế hệ thống cho năm 2026, kèm mã Python và câu trả lời.