Chọn biến số: một sai lầm phổ biến trong phân tích dữ liệu
(Tác giả: Nguyễn Văn Tuấn – Nguồn: https://www.facebook.com)
Một trong những sai lầm trong phân tích dữ liệu là cách chọn các biến số (variables) liên quan để xây dựng mô hình tiên lượng. Hôm qua, nhân dịp xem các kết quả nghiên cứu và nói chuyện với các em sinh viên tác giả nghiên cứu, tôi phát hiện gần như tất cả đều phạm phải sai lầm này! Trong cái note này tôi cố gắng giải thích tại sao sai lầm, và giới thiệu vài phương pháp mới tốt hơn.
1. Vấn đề
Với một nghiên cứu mà biến outcome (tạm gọi là Y) là biến nhị phân, và nếu nghiên cứu có hàng ngàn biến số X (X1, X2, X3, …., X1000) có thể dùng để tiên lượng Y), câu hỏi đặt ra là biến X nào quan trọng? Câu hỏi đơn giản, nhưng đã làm đau đầu những bộ óc siêu việt trong hơn nửa thế kỉ qua! Cho đến nay, vấn đề vẫn chưa phải là giải quyết xong, nhưng có thể nói rõ rằng các phương pháp ‘truyền thống’ mà người ta đã và đang sử dụng là không thoả đáng (nếu không muốn nói là sai), còn một số phương pháp mới tốt hơn thì ít người biết đến. Cái note này muốn giới thiệu các phương pháp mới đó.
Chọn biến liên quan (bên Machine Learning gọi là ‘Feature Selection’, còn bên thống kê học trước đó gọi là ‘Model Selection’) là một vấn đề vô cùng quan trọng trong khoa học. Chúng ta khám phá trong y học nhờ vào phương pháp này. Trong số hàng triệu marker xét nghiệm, làm sao biết marker nào có liên quan đến bệnh? Chúng ta xây dựng mô hình để tiên lượng và điều trị bệnh nhân cũng nhờ vào phương pháp này. Chọn mô hình rất quan trọng vậy.
Triết lí của việc chọn mô hình ‘tối ưu’ là … hà tiện (parsimony). Giải thích như sau sẽ dễ hiểu: nếu có hai cuốn sách trên thị trường hướng dẫn hành nghề sửa xe có cùng nội dung và dung lượng thông tin, một cuốn có giá bán 5 đồng, cuốn kia là 7 đồng. Dĩ nhiên, chúng ta sẽ chọn mua cuốn 5 đồng. Nói cách khác, chúng ta chọn sách rẻ tiền nhưng có dung lượng thông tin đầy đủ hay không kém cuốn sách mắc hơn. Tương tự, trong bối cảnh chọn mô hình, chúng ta muốn chọn mô hình nào cung cấp nhiều thông tin nhứt nhưng có ít tham số nhứt (hay ít biến số nhứt). Đó là triết lí và cũng là mục tiêu của việc chọn mô hình. Đó cũng là một thách thức.
2. Phương pháp ‘truyền thống’
Trong quá khứ (tức hơn 30 năm trước), phương pháp chọn mô hình xoay quanh 3 cách làm như sau:
Cách đơn giản nhứt là phân tích từng biến một. Theo cách làm này, nếu tôi có 1000 biến X (có thể là gen, markers, hay signals), tôi sẽ thực hiện 1000 phân tích mối liên giữa mỗi X với Y. Tôi sẽ có 1000 trị số P cho 1000 biến X liên quan đến Y. Dựa vào kết quả đó, tôi sẽ chọn ra những biến nào có trị số P < 0.05, và tôi dùng các biến được chọn lọc để xây dựng mô hình tiên lượng Y.
Cách thứ hai là dùng thuật toán “stepwise”. Thật ra, có 3 thuật toán trong nhóm này: forward, backward, và stepwise. Một cách ngắn gọn, phương pháp forward bắt đầu với mô hình chỉ có một biến X1, sau đó thêm vào những biến mới có ý nghĩa thống kê (tức P < alpha; alpha có thể là 0.1 hay 0.2). Phương pháp backward thì ngược lại: bắt đầu với mô hình với 1000 biến số, và dần dần loại bỏ các biến không có ý nghĩa thống kê (tức P > alpha). Còn phương pháp stepwise thì phối hợp cả forward và backward để đi tìm “mồ hình tối ưu.”
Cách thứ ba là hơi mất thì giờ, hay được gọi bằng tiếng Anh là “all possible regressions”. Như cách gọi, phương pháp này chủ yếu là phân tích tất cả các mô hình khả dĩ, rồi từ đó tìm mô hình nào có giá trị tiên lượng cao nhứt. Để hiểu sự nhiêu khê, tôi lấy vài ví dụ đơn giản nhứt. Nếu nghiên cứu có hai biến X1 và X2, thì sẽ có 3 mô hình khả dĩ (mô hình với X1, mô hình với X2, và mô hình với X1+X2); nếu nghiên cứu có 3 biến thì sẽ có 3 mô hình với 1 biến tiên lượng (X1, X2, X3), 3 mô hình với 2 biến tiên lượng (X1+X2, X1+X3, X2+X3 (X1+X2+X3), v.v. Các bạn đã hình dung ra sự nhiêu khê và phức tạp. Nếu nghiên cứu có 1000 biến X thì số mô hình khả dĩ ít nhứt là 2^1000 trừ 1 (vài chục tỉ mô hình). Ý tưởng là phân tích tất cả 2^1000 – 1 mô hình, và tìm mô hình nào có chỉ số ‘fitness’ (ví dụ như R^2) cao nhứt.
Tại sao sai?
Nhưng rất tiếc là cả 3 cách phân tích phổ biến đó hoặc là sai, hoặc là kém hiệu quả. Cách phân tích thứ nhứt sai, vì không xem xét đến mối tương quan giữa các biến số X trong mô hình. Chẳng hạn như X1 có thể có liên quan đến Y, X2 cũng có liên quan đến Y, nhưng nếu X1 và X2 có liên quan chặt chẽ với như thì mô hình với 2 biến số X1 + X2 sẽ trở nên khó diễn giải và không hợp lí. Cái “phương pháp đơn biến” nó sai ngay từ logic, nhưng rất phổ biến trong khoa học. Nên tránh phương pháp này!
Phương pháp stepwise cũng rất ư là phổ biến và có sẵn trong các software như SPSS. Nhưng sau này, rất nhiều nghiên cứu lí thuyết và thực nghiệm chỉ ra rằng phương pháp stepwise rất dễ cho ra kết quả “dương tính giả”, có nghĩa là nó có thể nhận dạng các biến X dù các biến đó không có liên quan đến Y! Nếu các bạn thử mô phỏng 1000 biến X, và 1000 biến này hoàn toàn không có dính dáng gì đến Y, và nếu các bạn dùng phương pháp stepwise thì nó sẽ cho ra vài biến X có ý nghĩa thống kê! Không nên dùng phương pháp stepwise trong nghiên cứu khoa học.
Phương pháp “all possible regressions” cũng có nhiều vấn đề. Không chỉ là vấn đề thời gian dành cho phân tích, mà còn là vấn đề quan trọng hơn: multiple tests of hypothesis — tức kiểm định nhiều giả thuyết. Khi kiểm định nhiều giả thuyết thì sẽ cho ra vài kết quả dương tính giả. Ngoài ra, phương pháp này chỉ cho ra một mô hình duy nhất (sau cùng), nhưng trong thực tế thì có rất nhiều mô hình có thể có giá trị fitness tương đương nhau, nhưng nó không nhận ra. Ngày nay, không một ai am hiểu về thống kê học sử dụng phương pháp “all possible regressions” để tìm mô hình tối ưu.
3. Phương pháp ‘mới’
Vậy thì phương pháp nào là tốt nhất trong việc chọn biến tiên lượng? Trong thời gian chừng 30 năm qua, khoa học thống kê đã có nhiều tiến bộ và cho ra đời một số phương pháp được đánh giá à tốt hơn 3 phương pháp truyền thống kia. Trong số các phương pháp này có Bayesian Model Averaging (BMA), LASSO, và Random Forest mà giới Machine Learning rất thích.
Cái note này không có mục tiêu giải thích các phương pháp đó, mà chỉ đơn giản cung cấp từ khoá để các bạn có thể tìm hiểu thêm. Một cách ngắn gọn, phương pháp BMA dựa vào xác suất hậu định (posterior probability) của mỗi mô hình. Xác suất hậu định tuỳ thuộc vào xác suất tiền định (prior probability) và dữ liệu thực tế (likelihood). Bắt đầu, chúng ta phải đề ra xác suất hậu định của các mô hình bằng một luật phân bố xác suất (thường là uniform, với giả định là các mô hình có xác suất như nhau). Bước kế tiếp, BMA phân tích mỗi mô hình và tính toán chỉ số thông tin Bayesian Information Criterion (BIC). Sau cùng là tính xác suất hậu định.
Mô hình nào có xác suất hậu định cao nhứt sẽ được chọn là mô hình ‘tối ưu’. BMA không dùng và không lệ thuộc vào trị số P, và đó là một lợi thế. Thí nghiệm thực tế và mô phỏng cho thấy phương pháp BMA quả thật có khả năng nhận dạng chính xác các biến số liên quan. Trong các nghiên cứu lâm sàng, dịch tễ học vừa (tức vài trăm biến X và vài trăm đến vài ngàn đối tượng nghiên cứu), BMA là một phương pháp rất được ưa chuộng.
LASSO (least absolute shrinkage and selection operator) là một phương pháp tương đối mới do Rob Tibshirani đề xướng vào giữa thập niên 1990s (nhưng thật ra vào thập niên 1980s đã có người sử dụng trong vật lí). Ý tưởng của LASSO là ‘kiểm soát’ các ước số của mô hình bằng cách thêm một “giá trị phạt” vào công thức ước tính tham số. LASSO “phạt” những mô hình nào quá phức tạp, tức có nhiều biến số hơn cần thiết.
Do đó, ước số được ước tính bằng LASSO có xu hướng thấp hơn so với phương pháp bình phương tối thiểu (least squares method). Phương pháp LASSO thường chọn mô hình với ít biến số (vì bảo thủ hơn) và xử lí rất tốt trong trường hợp các biến X liên quan nhau (đa cộng tuyến). Phương pháp LASSO rất nhất quán với triết lí hà tiện của việc chọn mô hình. Trong nghiên cứu di truyền và ‘big data’, LASSO là một phương pháp được ưa chuộng.
Kinh nghiệm từ các nghiên cứu mà tôi thực hiện, tôi thấy BMA và LASSO là rất tốt. Đối với dữ liệu qui mô trung bình (dưới 10,000 biến số) thì BMA cho ra kết quả khá chính xác, nhưng với dữ liệu lớn (chừng 1 triệu biến số) thì LASSO có lẽ là lựa chọn tốt nhứt.
4. Chọn mô hình tối ưu: khoa học và nghệ thuật
Xây dựng mô hình tiên lượng là một khoa học nhưng cũng là một nghệ thuật. Khoa học tính ở điểm có những chỉ số khách quan và hiệu quả để so sánh và đánh giá mô hình. Như đề cập lúc ban đầu, chúng ta chọn làm những kẻ hà tiện: muốn có thông tin nhiều nhứt nhưng trả giá rẻ nhứt. Chúng ta cần phải có những thước đo khoa học để đánh giá dung lượng thông tin mà mô hình cung cấp. Trong thống kê học, có hàng loạt thước đo dung lượng thông tin của mô hình như chỉ số R^2, phương sai (MSE), độ lệch chuẩn (RMSE), AUROC, DCA, v.v. Việc chọn những thước đo này là vấn đề khoa học.
Ngoài các chỉ số trên, còn có chỉ số thông tin AIC, BIC. Chỉ số AIC và BIC càng thấp càng tốt, vì nó thể hiện đúng tiêu chí ‘hà tiện’ trong việc chọn mô hình. Hai chỉ số này được dùng trong phương pháp BMA và LASSO.
Còn khía cạnh nghệ thuật là dùng kiến thức chuyên ngành để chọn mô hình sao cho đơn giản, có thể dùng được trong thực tế mà không vi phạm các nguyên tắc khoa học. Nếu hai mô hình cung cấp thông tin không khác nhau mấy, nhưng một mô hình dễ sử dụng và một mô hình phức tạp, thì đương nhiên chúng ta chọn mô hình dễ sử dụng. Chẳng hạn như bác sĩ cấp cứu rất bận rộn, họ không có thì giờ phải gõ cả 20 biến số để tiên lượng bệnh nhân sống chết ra sao; họ chỉ cần những thông tin ngắn, gọn, sẵn có để làm tiên lượng ngay. Để biết thông tin nào cần hay không cần thì đó là vấn đề kiến thức chuyên ngành. Khoa học có thể cho ra các thước đo chính xác, nhưng nếu không có kiến thức chuyên ngành thì các thước đo và mô hình có thể vô dụng.
Tóm lại, xây dựng mô hình tiên lượng đòi hỏi phải chọn biến số liên quan. Dứt khoát tránh chọn biến liên quan bằng 3 phương pháp truyền thống như mô tả trên; nên áp dụng các phương pháp mới hơn như BMA và LASSO. Để kết thúc cái note này, tôi xin trích câu nói nổi tiếng của George Box (là con rể của Ronald Fisher) “All models are wrong, but some are useful” (tất cả các mô hình đều sai, nhưng trong số đó có một số mô hình có ích).
Tại sao ông Box nói tất cả các mô hình đều sai? Các bạn thử suy nghĩ xem. Hi vọng rằng cái note này giúp các bạn giải trí cuối tuần.
===
Xin nói thêm là tôi có 2 bài giới thiệu phương pháp BMA (qua R) như sau:
Bài 39: BMA cho mô hình hồi qui tuyến tính.
https://www.youtube.com/watch?v=eVp0oyKxtrI
Bài 46: BMA cho mô hình hồi qui logistic.
https://www.youtube.com/watch?v=bAUrZqhCNww
———————&&&———————-
Filed under: Kinh tế lượng, Thống kê | Leave a comment »