Sự thật về hồi quy tuyến tính năm 2015
(stat.cmu.edu)- Dựa trên ghi chú bài giảng Carnegie Mellon 36-401 Modern Regression vào mùa thu năm 2015, đây là bản thảo học tập dành cho những người học hoặc giảng dạy hồi quy tuyến tính
- Không trói hồi quy tuyến tính vào các giả định kiểu thập niên 1960, và giảm bớt tỷ trọng lý thuyết phụ thuộc vào nhiễu Gaussian (Gaussian noise) và mô hình tuyến tính được chỉ định đúng
- Dù đòi hỏi tính toán nhiều hơn, tài liệu nhấn mạnh các kỹ thuật vững chắc, đồng thời thừa nhận rằng chính bản thảo này có thể vẫn chưa đi đủ xa theo hướng đó
- Có phần chồng lặp với chương thứ hai của Advanced Data Analysis from an Elementary Point of View, nhưng cũng bao gồm nhiều tài liệu mới và ở mức nhập môn hơn
- Mục lục trải rộng từ dự đoán tối ưu, phương pháp bình phương tối thiểu, phương pháp hợp lý cực đại, chẩn đoán, suy luận, đa cộng tuyến, lựa chọn mô hình, bình phương tối thiểu có trọng số/tổng quát, lựa chọn biến, cây, cho đến bootstrap
Tính chất và cách tiếp cận của bản thảo
- Bản thảo này là tập hợp ghi chú bài giảng của 36-401, Modern Regression, in fall 2015
- Dù thừa nhận rằng đã có rất nhiều tài liệu về hồi quy tuyến tính, nó vẫn được công bố vì có thể hữu ích cho người học hoặc người giảng dạy
- Từ quan điểm cho rằng thống kê học đã phát triển sau thập niên 1960, tài liệu này ít nhấn mạnh hơn vào lý thuyết dựa trên mô hình tuyến tính được chỉ định đúng và nhiễu Gaussian
- Tài liệu được xây dựng theo hướng ưu tiên các kỹ thuật vững chắc dù đòi hỏi nhiều tính toán hơn, và tác giả cũng nói thêm rằng có thể mình vẫn chưa đi đủ xa theo hướng đó
- Có phần chồng lặp với Advanced Data Analysis from an Elementary Point of View, đặc biệt liên quan đến chương hai “The Truth About Linear Regression”
- Đồng thời, tài liệu cũng bao gồm nhiều nội dung mới và ở mức cơ bản hơn, và hoan nghênh ý kiến cũng như đính chính, đặc biệt là sửa lỗi
Phạm vi nội dung và cập nhật
- Mục lục hiện tại trải từ mô hình hóa cơ bản của hồi quy tuyến tính đến chẩn đoán, suy luận và các kỹ thuật mở rộng
-
Mô hình hóa cơ bản và hồi quy đơn
- Optimal Prediction
- Introducing Statistical Modeling
- Simple Linear Regression Models, with Hints at Their Estimation
- The Method of Least Squares for Simple Linear Regression
- The Method of Maximum Likelihood for Simple Linear Regression
- Diagnostics and Modifications for Simple Regression
- Inference on Parameters
- Predictive Inference for the Simple Linear Model
- Interpreting Parameters after Transformation
- F-Tests, R^2, and Other Distractions
- Simple Linear Regression in Matrix Format
-
Hồi quy bội và các chủ đề mở rộng
- Multiple Linear Regression
- Diagnostics and Inference for Multiple Linear Regression
- Polynomial and Categorical Regression
- Multicollinearity
- Tests and Confidence Sets
- Interactions
- Outliers and Influential Points
- Model Selection
- Review
- Weighted and Generalized Least Squares
- Variable Selection
- Trees
- The Bootstrap I
- The Bootstrap II
- Trong tương lai, tài liệu về linear spatio-temporal estimation and prediction từ lớp học Data Over Space and Time có thể được đưa vào bản thảo
- Các ví dụ được nhắc đến gồm Wiener filter, kriging
- Lần cập nhật văn bản cuối cùng là chạy lại mã sau bản cập nhật R và sửa lỗi đánh máy, với ngày là 20 tháng 10 năm 2025
1 bình luận
Ý kiến trên Hacker News
Hồi quy tuyến tính thường bị đánh giá thấp
y = a*sin(x)+bx^2cũng là một mô hình tuyến tínhMột điểm quan trọng nữa là con người, đặc biệt là các nhóm, về mặt lý tính rất khó làm gì khác ngoài ra quyết định tuyến tính
Trong cuộc họp quyết định hướng đi của công ty, ta chỉ có thể nói kiểu như “tăng chi phí quảng cáo, và giảm các chi phí thu hút khác như phiếu giảm giá”. Tìm sự cân bằng giữa “tăng chi phí quảng cáo” và “giảm các chi phí khác” là một mô hình tuyến tính đơn giản
Dù có một mô hình phi tuyến rất tốt, điều cốt lõi không hẳn là “khả năng diễn giải” mà là khả năng thực thi. Nếu mang kết quả phân tích hồi quy vào cuộc họp, có thể nhanh chóng mô hình hóa nhiều chiến lược và tạo ra sự tin tưởng hợp lý về phương hướng
Tôi từng chật vật trong việc truyền đạt insight có thể hành động lên cấp trên, nhưng sau khi hiểu đúng hồi quy, việc nhanh chóng mở ra và nắm bắt cả những quy trình kinh doanh khá phức tạp trở nên dễ dàng đến đáng ngạc nhiên
Tuy vậy, hiếm khi các bên liên quan hiểu đúng hoặc công nhận giá trị của chúng. Tôi cho rằng phần lớn là do lười biếng và thói quen
Vấn đề tôi thường thấy trong tài liệu là các tác giả diễn giải quá mức độ dốc ở nhóm tuổi thấp nhất/cao nhất của một mô hình có hạng bậc hai, ví dụ
Y = age + age^2. Nếu chỉ nhìn đường trên đồ thị chứ không nhìn khoảng tin cậy, nó trông như giảm ở nhóm tuổi cao nhất, nhưng thực ra đó có thể là độ dốc âm bề ngoài phát sinh vì mô hình bậc hai không biểu diễn được tiệm cận. Ví dụ: https://www.researchgate.net/figure/Scatter-plot-of-the-quad...)Khi không có lựa chọn được định sẵn về mặt lý thuyết, tôi đã dùng đa thức phân số. Ví dụ với
x^s, đặts = {−2, −1, −0.5, 0, 0.5, 1, 2, 3}rồi chọn chiến lược lấy đa thức khớp tốt nhất trong khi tránh overfitting: https://journal.r-project.org/articles/RN-2005-017/RN-2005-0...Đây không phải kỹ thuật tệ, và tôi cũng đã thử các cách khác như hồi quy đa thức theo từng đoạn hay điểm nút, nhưng chẳng hạn tôi không rõ nên kiểm định tương tác giữa các nhóm trên hai spline có nút như thế nào. Mô hình cộng tính cũng vậy: https://bookdown.org/ssjackson300/Machine-Learning-Lecture-N...
Tuy nhiên kiểu giải thích này có thể che khuất nhiều thứ hơn là giúp ích. Chọn phép biến đổi phù hợp cho một trường hợp cụ thể là một vấn đề rất khó. Vẫn còn câu hỏi vì sao phải là
sin(x)vàx^2, chứ không phảitanh(x)vàx^(1/2)Có vẻ như tôi đang bỏ sót điều gì đó rất cơ bản
Kỹ thuật quan trọng nhất trong hồi quy là nhận ra tung độ gốc. Nghe có vẻ nhỏ nhặt, và thực ra cũng nhỏ nhặt thật, nhưng mọi thứ sẽ khác khi bắt đầu đưa tương tác giữa các hạng vào. Tôi đã thấy rất nhiều nghiên cứu sinh trẻ mắc lỗi này
Hãy xét một mô hình tuyến tính đơn giản dùng điểm thi, tuổi (7–16 tuổi), và biến phân loại nhị phân là chẩn đoán tự kỷ (0=nhóm đối chứng, 1=tự kỷ):
score = age + diagnosis + age:diagnosis, tứcscore = (X1)age + (X2)diagnosis + (X3)age:diagnosisNếu
X2có ý nghĩa thống kê, một sinh viên ngây thơ sẽ nói “có khác biệt giữa các nhóm!”, nhưng bỏ qua rằng đây là chênh lệch nhóm được dự đoán khi người tham gia 0 tuổi. Tuổi cần được căn giữa theo trung bình, trung vị, hoặc tốt hơn là theo độ tuổi ta quan tâm. Khi tương tác xuất hiện trong phương trình, mọi ước lượng tham số “bậc thấp hơn” đều được diễn giải dựa trên tung độ gốcNhìn thấy hiệu ứng tuổi có ý nghĩa thống kê, ta cũng có thể nghĩ rằng nó áp dụng cho cả hai nhóm, nhưng
X1chỉ cho biết độ dốc dự đoán của nhóm tham chiếu, tức nhóm đối chứng. Tương tác kiểm định xem độ dốc theo tuổi của hai nhóm có khác nhau hay không. Hơn nữa, ngay cả khi tương tác không có ý nghĩa thống kê, hiệu ứng tuổi trong nhóm tự kỷ vẫn có thể không khác 0 một cách có ý nghĩa. Nếu dữ liệu nằm trong vùng mơ hồ thì cần cẩn trọng khi diễn giảiVới một số người điều này có vẻ hiển nhiên, nhưng để hiểu đúng không gian có điều kiện của các tham số khi có hạng tương tác thì cần nỗ lực. Ở đây tạm bỏ qua cách mã hóa nhóm, chẳng hạn lấy trung bình chung làm chuẩn hay lấy một nhóm làm chuẩn, nhưng bài học vẫn vậy. Cần hiểu tung độ gốc có nghĩa gì và nó đang chỉ đến ai/cái gì
Cũng có ExploreModelMatrix hỗ trợ việc này: https://www.bioconductor.org/packages/release/bioc/html/Expl...
Nếu bạn là một người Bayes chính thống rất ghét p-value thì cũng không sao. Chỉ là tôi đã thấy nhiều sinh viên thông minh cũng gặp khó khi diễn giải mô hình có hạng tương tác một cách tự nhiên, và tôi muốn chỉ đúng hướng
X1chỉ cho biết độ dốc dự đoán của nhóm đối chứng, tức nhóm tham chiếu” là không đúng. Theo công thức đã viết thìX1là giá trị cho toàn bộ nhóm. Bạn chưa tạo biến giả đúng cáchX1*age*isControl+X2*isControl+X3*isAutism+X4*isAutism*age+X5*ageLàm như vậy mới tách được hiệu ứng tuổi của hai nhóm và hiệu ứng tuổi chung cho cả hai nhóm
Hệ số tải có ý nghĩa thống kê của biến chẩn đoán
X2không cho biết hiệu ứng chẩn đoán ở một độ tuổi cụ thể. Tuy nhiên, điều đó đúng ở tuổi 0Cần căn giữa lại mô hình theo độ tuổi mà bạn quan tâm
10 năm trước tôi đã học 36-401 và 36-402 ở CMU, khi đó Shalizi dạy, và cả hai đều là các lớp thống kê rất hay. Dù tốt hay xấu, chúng bắt tôi học base R
Điểm yếu lớn của hồi quy tuyến tính, điều tôi đã học được một cách khó nhọc, là các giả định học thuật để diễn giải hệ số một cách hợp lệ thì dễ đặt ra với các bộ dữ liệu giáo dục nhỏ, nhưng hầu như không áp dụng được cho dữ liệu thực tế lộn xộn
Nếu không có điều này, cần dùng mô hình hiệu ứng hỗn hợp để phản ánh các phản hồi có tương quan, hoặc tổng hợp phản hồi theo trung bình. Khi lấy trung bình, phương sai giảm nhưng số điểm dữ liệu cũng giảm, và trong tính toán thống kê t của kiểm định Wald thì hai điều này triệt tiêu lẫn nhau
Với các giả định khác như tính chuẩn của phần dư, mô hình tuyến tính thường chịu được một mức vi phạm nhất định. Dù vậy, luôn nên hiểu các vi phạm đó gây tác động gì, chẳng hạn bằng cách chạy mô phỏng hoặc xem histogram p-value của dữ liệu theo giả thuyết không
Tôi thích việc hồi quy ridge được giới thiệu trong bối cảnh đa cộng tuyến
Ngày nay có vẻ hầu như ai cũng học nó như một kỹ thuật chính quy hóa để ngăn quá khớp, nhưng một trong những công dụng cơ bản, và có lẽ là nguồn gốc của nó, là phân bổ trọng số một cách cân bằng giữa các biến dự đoán có tương quan mạnh hoặc gần như phụ thuộc tuyến tính. Ngay cả khi có rất nhiều dữ liệu, các biến dự đoán như vậy vẫn có thể gây vấn đề lớn
Tôi muốn thấy một người như nhà nghiên cứu định lượng ở Citadel dạy hồi quy tuyến tính. Tôi tò mò họ dùng nó như thế nào, đặc biệt họ chú ý điều gì, và liệu có kết quả lý thuyết nào làm thay đổi đáng kể cách họ nhìn nhận vấn đề hay không
Trong một vấn đề liên quan là ước lượng ma trận hiệp phương sai, các biến thể ước lượng co rút khá phổ biến. Đơn giản nhất là Linear Shrinkage của Ledoit-Wolf
Ngoài mạng nơ-ron, có vẻ hầu hết những người làm hồi quy đều dùng hồi quy tuyến tính với các chỉnh sửa kiểu này được tùy biến theo miền
Đặc biệt trong tài chính, rất dễ tự lừa mình bằng những mô hình phức tạp hơn
x'*ythì chưa đủ, chia cho tích trongx'*xthì vừa khớp (hồi quy), còn chia thêm một lần nữa cho tích trongy'*ythì thành hệ số tương quan, kèm cả căn bậc hai, nên có vẻ hơi quáĐáng tiếc là không có bí mật lớn hay tiết lộ ghê gớm nào. Như Jim Simons nói trong cuộc phỏng vấn với Numberphile, đó là quá trình tích lũy các tín hiệu yếu một cách chậm chạp và đau đớn, đồng thời xây dựng và cải thiện nhiều hộp trong hệ thống. Trong lúc đó, các giao diện nhìn chung đều đã được biết
Trong bức tranh tổng thể, bản thân phương pháp khớp mô hình không mang lại lợi thế quá lớn. Ít nhất thì đừng làm hỏng là được
Tôi không từng ở Citadel, nhưng đã làm R&D định lượng và giao dịch trong 20 năm qua
Hồi đại học, tôi đã phải học đi học lại hồi quy tuyến tính trong nhiều môn. Dĩ nhiên với điều kiện các giả định được thỏa mãn, việc có thể chứng minh tính tối ưu bằng lý thuyết thống kê và xác suất là khá thú vị
Trong chương trình tiến sĩ khoa học máy tính, tôi chủ yếu thấy các bài toán hồi quy dùng mô hình học sâu. Tôi không trực tiếp xử lý, nhưng nếu có cách chuyển các chứng minh và định lý chặt chẽ của mô hình tuyến tính cổ điển sang mô hình hồi quy sâu thì sẽ khá tuyệt
“Data Analysis from an Elementary Point of View” của Shalizi cũng là một giáo trình nhập môn hay: https://www.stat.cmu.edu/~cshalizi/ADAfaEPoV/
Nội dung tập trung nhiều vào mô hình tuyến tính, mô hình cộng tính và mô phỏng, và đó là hướng đi đúng. 90% cuốn sách sẽ vô dụng nếu không có máy tính, nhưng đó chính là thực tế hiện đại
Có vẻ bài này không đề cập, nhưng ngay cả trong hồi quy tuyến tính cũng xuất hiện hiện tượng double descent thường thấy trong deep learning
Muốn thấy hiện tượng này thì cần đưa vào một dạng chính quy hóa nào đó. Sẽ hay hơn nếu bổ sung phần thảo luận này
Đây là bài rất đáng đọc với tư cách người đang dạy hồi quy bằng XGBoost trong tháng này. Khác với nhiều văn bản học thuật, bài viết rất tốt và dễ tiếp cận
Đặc biệt thích chương 6, phần chẩn đoán trực quan. Làm rất tốt
Trông khá thú vị, không biết có ai biết cách chuyển PDF này sang dạng tối ưu cho di động không