Ôn thi phân tích dữ liệu lớn: khi accuracy 99,95% vẫn sai

Ôn thi phân tích dữ liệu lớn trong tài chính: cách học 10 chương, bẫy mất cân bằng dữ liệu, rò rỉ thông tin, kèm đề cương song ngữ 389 trang, 5 trang xem thử.

Đăng ngày 2026-11-11

Ôn thi phân tích dữ liệu lớn: khi accuracy 99,95% vẫn sai

Giả sử đề thi có một câu thế này: một mô hình phát hiện gian lận chạy trên 1.000.000 giao dịch thẻ, trong đó có 500 giao dịch gian lận. Mô hình báo "bình thường" cho tất cả. Độ chính xác đạt 99,95%. Hãy nhận xét.

Nhiều bạn nhìn con số 99,95% rồi viết "mô hình rất tốt". Mất trắng câu đó. Mô hình này không bắt được một vụ gian lận nào, recall bằng 0. Câu hỏi nhỏ thôi, nhưng nó nói đúng tính cách của môn phân tích dữ liệu lớn trong tài chính: con số đẹp thường là chỗ đầu tiên phải nghi ngờ.

Bài này dành cho sinh viên công nghệ tài chính, tài chính – ngân hàng đang chuẩn bị thi học phần. Mình đi qua những chỗ hay mất điểm, cách chia thời gian, một đoạn truy vấn nhỏ tự thử được, rồi mới nói đến tài liệu ôn tập.

Vì sao môn này khó ôn theo kiểu học thuộc

Đa số môn trong khối tài chính có thể "gắp" được một phần điểm bằng trí nhớ: thuộc định nghĩa, thuộc công thức, thuộc sơ đồ. Môn này cũng có phần thuộc, ví dụ đặc trưng của dữ liệu lớn, các lớp của hạ tầng lưu trữ, tên các công cụ xử lý. Nhưng phần ăn điểm nặng lại nằm ở chỗ khác: đưa cho bạn một tình huống và hỏi "sai ở đâu".

Sai ở đâu thì không học thuộc được. Bạn phải từng tự tính một lần. Từng thấy con số vô lý hiện ra trên màn hình thì lần sau mới nhận ra nó trong đề.

Cái khó thứ hai là môn trải rất rộng. Một học kỳ đi từ hạ tầng, quy trình dữ liệu, dữ liệu luồng, học máy, đầu tư, tín dụng, bảo hiểm, tới Regtech, blockchain và quản trị AI. Mỗi mảng có thể là một môn riêng. Bạn không cần sâu như người làm nghề, nhưng cần đủ để trả lời một câu tự luận 10 điểm mà không lạc đề.

Và cái khó thứ ba, ít ai nói: môn này pha lẫn ba loại kiến thức, gồm kỹ thuật (Python, SQL), thống kê (đánh giá mô hình) và pháp lý – đạo đức (quyền riêng tư, trách nhiệm giải trình). Sinh viên giỏi kỹ thuật thường bỏ rơi phần cuối. Sinh viên ngân hàng thường sợ phần đầu. Cả hai đều mất điểm ở chỗ mình ngại.

Chia 30 giờ ôn thế nào cho khỏi lệch

Giả sử bạn có khoảng ba tuần và dành được 30 giờ cho môn này. Chia đều cho 10 chương là cách dễ nhất và cũng là cách tệ nhất, vì các chương không nặng như nhau. Một cách chia hợp lý hơn:

Nhóm chươngNội dungGiờ ônLý do
1–2Tổng quan, hạ tầng, công cụ4Nhiều khái niệm, ít tính toán, đọc nhanh được
3Quy trình phân tích, chất lượng dữ liệu5Nền của mọi câu tình huống phía sau
4Dữ liệu luồng, thời gian thực, giám sát giao dịch4Cần tự viết được truy vấn cửa sổ
5Học máy, độ vững của mô hình6Chương dễ mất điểm nhất, cần tính tay
6–7Đầu tư, giao dịch, tín dụng, ngân hàng, bảo hiểm5Ứng dụng, hỏi theo tình huống
8–9Regtech, Suptech, blockchain, quản trị AI4Hay bị bỏ, nhưng ra tự luận khá đều
10Trình bày kết quả, tình huống thị trường2Ôn cuối, ghép các chương trước lại

Con số 6 giờ cho chương học máy không phải ngẫu nhiên. Đây là chỗ một lỗi hiểu sai kéo theo hàng loạt câu sai. Hãy xem hai bẫy điển hình.

Bẫy 1: độ chính xác cao mà mô hình vô dụng

Quay lại câu mở bài, nhưng cho mô hình làm việc thật hơn một chút. Giả sử mô hình mới gắn cờ 1.200 giao dịch, trong đó 300 là gian lận thật. Bảng nhầm lẫn sẽ như sau:

Thực tế gian lậnThực tế bình thường
Mô hình gắn cờ300 (TP)900 (FP)
Mô hình bỏ qua200 (FN)998.600 (TN)

Tính nhanh: accuracy = (300 + 998.600) / 1.000.000 = 99,89%. Precision = 300 / 1.200 = 25%. Recall = 300 / 500 = 60%.

Nhìn accuracy thì mô hình này thấp hơn mô hình "báo bình thường hết" (99,95%). Nhưng mô hình "báo hết" bắt được 0 vụ, còn mô hình này bắt được 300 vụ. Accuracy xếp hạng ngược hoàn toàn với giá trị thật.

Tới đây đề thi thường hỏi tiếp: nên chỉnh ngưỡng theo hướng nào? Cách trả lời có điểm là đặt vào chi phí. Giả sử mỗi cảnh báo cần một nhân viên kiểm tra, tốn 50.000đ, còn mỗi vụ gian lận bị lọt gây thiệt hại trung bình 4.000.000đ. Hiện tại chi phí kiểm tra là 1.200 × 50.000 = 60 triệu đồng, thiệt hại do lọt là 200 × 4.000.000 = 800 triệu đồng. Lọt gian lận đắt hơn kiểm tra thừa rất nhiều, nên hạ ngưỡng, chấp nhận precision thấp đi để kéo recall lên, là hướng hợp lý. Tới mức nào thì dừng? Khi chi phí kiểm tra thêm bắt đầu vượt phần thiệt hại tránh được.

Cả đoạn lập luận đó chỉ dùng tới phép chia và phép nhân. Nhưng người chưa tự làm bao giờ sẽ không nghĩ tới việc đặt tiền vào bài toán.

Bẫy 2: rò rỉ dữ liệu theo thời gian

Bẫy thứ hai tinh vi hơn. Một nhóm có 24 tháng dữ liệu giao dịch, chia ngẫu nhiên 80% để huấn luyện và 20% để kiểm tra. Kết quả kiểm tra rất đẹp. Đưa vào chạy thật, mô hình tụt hẳn.

Chuyện gì xảy ra? Khi chia ngẫu nhiên, những giao dịch của tháng 20 nằm lẫn trong tập huấn luyện, còn giao dịch tháng 7 lại nằm trong tập kiểm tra. Mô hình đã "nhìn thấy tương lai". Ngoài đời, nó chỉ được dùng dữ liệu quá khứ để dự đoán điều sắp tới. Cách làm đúng là chia theo thời gian: huấn luyện trên tháng 1–18, kiểm tra trên tháng 19–24.

Dấu hiệu nhận ra bẫy này trong đề: có chuỗi thời gian, có kết quả kiểm tra "tốt bất thường", có chữ "ngẫu nhiên" trong mô tả cách chia. Một dạng khác của rò rỉ là đưa vào mô hình một biến mà chỉ biết sau khi sự việc xảy ra, ví dụ trạng thái "đã khóa thẻ" để dự đoán gian lận. Lỗi này khó thấy vì kết quả kiểm tra trông hoàn toàn bình thường, nên càng đáng luyện kỹ trước khi thi.

Chương này còn một chuyện đáng nói thật: độ vững của mô hình. Mô hình tốt trên dữ liệu năm ngoái có thể hỏng khi hành vi khách hàng đổi. Câu hỏi hay gặp là "làm sao biết mô hình đang xuống cấp", và đáp án gọn là theo dõi phân phối đầu vào, theo dõi hiệu quả theo thời gian, đặt ngưỡng để huấn luyện lại.

Dữ liệu luồng: viết được truy vấn cửa sổ

Chương về dữ liệu luồng và giám sát giao dịch hay bị học kiểu đọc lướt, vì có vẻ chỉ là khái niệm. Đến khi đề yêu cầu viết truy vấn thì khựng.

Một tình huống giả định: hệ thống cần cảnh báo khi một thẻ phát sinh từ 3 giao dịch trở lên trong 5 phút gần nhất, với tổng tiền vượt 30.000.000đ. Một truy vấn kiểu PostgreSQL có thể viết như sau:

SELECT the_id,
       COUNT(*)     AS so_gd,
       SUM(so_tien) AS tong_tien
FROM giao_dich
WHERE thoi_diem >= NOW() - INTERVAL '5 minutes'
GROUP BY the_id
HAVING COUNT(*) >= 3
   AND SUM(so_tien) > 30000000;

Chú ý hai thứ. Điều kiện thời gian nằm ở WHERE, vì nó lọc dòng trước khi gom nhóm. Điều kiện về số lượng và tổng tiền nằm ở HAVING, vì chúng chỉ có nghĩa sau khi gom nhóm. Nhầm hai chỗ này là lỗi cú pháp kinh điển, và là lỗi mất điểm dù bạn hiểu đúng ý.

Phần lý thuyết đi kèm cũng đáng nắm: cửa sổ trượt khác cửa sổ cố định thế nào, độ trễ chấp nhận được là mili giây hay phút, và vì sao hệ thống thời gian thực luôn phải đánh đổi giữa tốc độ và độ chính xác. Khi cảnh báo phải ra trong chưa đầy một giây, bạn không kịp chạy mô hình nặng.

Chất lượng dữ liệu: phần bị đánh giá thấp

Ai cũng muốn học mô hình. Không ai muốn học xử lý giá trị thiếu. Nhưng câu hỏi tình huống ở chương 3 thường là chỗ phân loại sinh viên.

Một ví dụ: bảng 50.000 hồ sơ vay, cột thu nhập thiếu ở 6.000 dòng, tức 12%. Điền bằng trung bình có được không? Có thể, nhưng cần hỏi thêm: thiếu ngẫu nhiên hay thiếu có hệ thống? Nếu những người thu nhập không ổn định, tự do, có xu hướng bỏ trống ô này thì điền trung bình sẽ làm mô hình tín dụng đánh giá họ tốt hơn thực tế. Bài trả lời tốt nêu cách xử lý kèm điều kiện để cách đó đúng.

Thêm vài thứ nên có sẵn trong đầu: các chiều chất lượng (đầy đủ, chính xác, nhất quán, kịp thời, duy nhất), cách phát hiện bản ghi trùng, và vì sao dữ liệu từ nhiều hệ thống của cùng một ngân hàng vẫn có thể mâu thuẫn nhau về một khách hàng.

Phần "mềm" dễ bị bỏ: Regtech, quản trị, giải thích được

Chương 8 và 9 là nơi nhiều bạn ôn muộn, ôn qua loa, rồi gặp một câu tự luận 3–4 ý trên đề. Regtech là công nghệ giúp tổ chức tài chính tuân thủ quy định. Suptech là công nghệ giúp phía cơ quan giám sát làm việc. Hai khái niệm này rất hay bị nhầm vế, trong khi phân biệt được là đã có điểm.

Phần quản trị dữ liệu và AI đòi hỏi viết nhiều hơn tính: quyền riêng tư của dữ liệu khách hàng, yêu cầu giải thích được khi mô hình từ chối một khoản vay, và ai chịu trách nhiệm khi mô hình sai. Cách viết an toàn là đi theo cấu trúc "vấn đề, rủi ro, biện pháp", mỗi mục một vài câu có ví dụ. Dàn ý này áp dụng được cho gần như mọi câu tự luận thuộc nhóm đạo đức và quản trị.

Phần blockchain ở đây đứng cạnh Regtech, và mô tả tài liệu ghi trọng tâm là phân tích dữ liệu blockchain. Nghĩa là bạn nhìn vấn đề từ phía người phân tích và giám sát, khác với cách một môn blockchain thuần thường đặt vấn đề.

Tài liệu 389 trang: có gì, và chưa có gì

Đề cương ôn tập Phân tích dữ liệu lớn trong tài chính là file PDF song ngữ Việt – Anh, dày 389 trang, chia mười chương theo đúng mạch mà bài này đã đi qua: từ tổng quan dữ liệu lớn trong tài chính, hạ tầng và công cụ, quy trình và chất lượng dữ liệu, dữ liệu luồng, học máy, đầu tư, tín dụng – ngân hàng – bảo hiểm, Regtech – Suptech – blockchain, quản trị AI, cho đến cách trình bày kết quả và các tình huống phân tích thực tế ở thị trường và tổ chức tài chính.

Mỗi phần có bài tập kèm lời giải, câu tự luận kèm dàn ý, trắc nghiệm kèm đáp án, và mã Python, SQL chạy thật. Nếu bạn hiểu bài nhanh nhất khi tự tay chạy thử, phần mã chạy được này là lý do chính để cân nhắc.

Giờ nói phần hạn chế, để bạn khỏi mua rồi thất vọng. Đây là đề cương ôn tập, không phải giáo trình, và không thay được giáo trình hay bài giảng của trường bạn. Nó là file PDF, không có video bài giảng. Mỗi trường, mỗi thầy cô nhấn mạnh một khác: nếu thầy cô bạn ra đề bám sát một công cụ cụ thể mà tài liệu không dùng, bạn vẫn cần đối chiếu với slide trên lớp. Và 389 trang không đọc xong trong một đêm. Nếu chỉ còn hai ngày trước kỳ thi, hãy chọn chương theo bảng chia giờ ở trên thay vì cố đọc hết.

Song ngữ có ích nếu giáo trình của bạn dùng thuật ngữ tiếng Anh, hoặc bạn muốn quen với cách gọi như recall, data leakage, streaming để đọc tài liệu gốc sau này. Nếu đề thi của trường hoàn toàn bằng tiếng Việt thì đó chỉ là phần thêm.

Mua thế nào, dùng thế nào

Trước khi mua, bạn được xem thử 5 trang miễn phí, đủ để xem cách trình bày lời giải và mã có hợp mắt mình không. Giá là 136.000đ, thanh toán bằng chuyển khoản trong nước. Sau khi chuyển khoản, bạn nhận file trong vòng 24 giờ, nên nếu lịch thi sát thì nên đặt sớm một chút, đừng đợi đến tối hôm trước.

Cách dùng hiệu quả mình gợi ý: đừng đọc từ trang 1. Mở chương 5 trước, tự làm bài tập của chương khi chưa nhìn lời giải, rồi mới so. Sau đó chạy lại đoạn mã, đổi con số, xem kết quả đổi thế nào. Làm xong chương đó rồi mới sang chương 6 và 7 về đầu tư, tín dụng. Các bài toán đầu tư và tín dụng thường dùng lại cách nghĩ về chi phí của dự đoán sai và cách đánh giá mô hình.

Nếu muốn xem tài liệu và trang xem thử, bạn vào đây: Đề cương ôn tập Phân tích dữ liệu lớn trong tài chính — Việt/Anh.

💬