Hồi quy là gì? Ứng dụng trong R như thế nào? [Facebook]

Việc ứng dụng R để xử lý thống kê, cụ thể là xây dựng các mô hình hồi quy tuyến tính hay phi tuyến, rồi hồi quy logistic là nhu cầu rất cấp thiết của các bạn tìm học R để làm luận văn hay nghiên cứu khoa học. Đây cũng là lý do có nhiều workshop/seminar online và offline thường xuyên được mở ra để training cho các bạn có nhu cầu hiểu kỹ câu chuyện regression mà bạn đã-từng-gặp rất nhiều lần từ thời đại học đến sau khi ra trường.

Vấn đề là: Bạn rất khó để thâu tóm được concept của câu chuyện thống kê nếu không có 1 (hoặc nhiều hơn) một cuốn sách thống kê viết theo kiểu formal (chính quy) về chủ đề này bởi chính tác giả trong ngành để giải đáp triệt để về mặt công thức toán và các ý nghĩa lăn tăn xung quanh khái niệm trung tâm của statistics này. Nếu bạn hiểu rõ chữ hồi quy (regression), hay rộng hơn là tương quan (correlation) rồi là phương sai/độ dao động (variance) trong các bối cảnh khác nhau của từng case nghiên cứu thì coi như bạn đã xong thống kê rồi đó. Chuyện còn lại là đào sâu vào từng model cao cấp hơn theo nhu cầu nghiên cứu mà thôi. Và bạn vẫn tiếp tục đọc sách chứ (hầu như) ko thể tìm ra video nào bài bản và có chiều sâu như trong sách được.

Để củng cố thêm nhận định ở trên thì mình copy một comment từ dây thảo luận ở đây https://www.facebook.com/groups/615501409288288/posts/1434822817356139/ trong 1 group về R, có một bạn nói rõ là: Tốt nhất hãy đọc sách để hiểu về thuật toán thống kê vì trên internet có nhiều bài viết khá sơ sài (skip many parts) khi bàn về các chủ đề về hồi quy. Ta cần đi qua công thức, sau đó code nó hoặc tính toán trên giấy hay excel để hiểu rõ thuật toán thống kê rồi mới bàn sâu xa hơn về cách ứng dụng như nào trong case cụ thể.

Vậy nên, bài viết này là mình chia sẻ 2 chapter quan trọng về Regression analysis (chapter 9) và Logistic regression (chapter 10) (chữ logistic không có 's' nhé) phù hợp cho những bạn đã biết về thống kê nhưng cũng chưa rõ về hồi quy thì nên đọc ngay và luôn ngay trọng tâm rồi từ đó có gì tìm hiểu thêm thì bạn đọc ngược lại các chapter đầu của sách này là coi như bạn đã xây dựng lại nền thống kê rất ổn. Ở đây mình làm rõ là hồi quy (theo nghĩa bình thường) thì biến y (outcome) là biến numeric liên tục, còn nếu biến y là biến phân loại, nhị phân, thì bạn sẽ thực hiện hồi quy logistic.

Trong R thì công thức tính model hồi quy chỉ đơn giản là y ~ x, rồi thêm các ký hiệu +, * thể hiện tính tương tác giữa các yếu tố/các biến với nhau. Bạn hiểu rõ cách thiết lập công thức xây dựng model hồi quy qua 3 trang này là coi như bạn biết cách áp dụng statistics trong R nhanh gọn thôi. Còn việc giải thích kết quả thu được từ model hồi quy là câu chuyện thuộc về kiến thức thống kê thuần túy, bạn vẫn cần hiểu từ giáo trình thống kê rồi mới giải thích được kết quả mà R auto tính ra.

https://www.facebook.com/groups/tuhocr/posts/909259370146775/

----------

Thanks bạn đã đọc đến đây, và bài viết vẫn còn 1 đoạn nữa để đủ sức khép lại cơ bản chủ đề rất quan trọng này.

Thứ nhất, bạn tìm đọc cuốn sách Nhập môn thống kê sinh học này nhé (second edition, 2016), link mình để ở comment. Đây là nỗ lực rất lớn của tác giả là Prof. Chap T. Le từ lần xuất bản đầu tiên 2003 mình từng giới thiệu ở link này

https://www.facebook.com/Huong.Dan.Tu.Hoc.R/posts/218026174480741 sau đó với sự trợ giúp của Dr. Lynn E. Eberley bổ sung thêm các chapter làm rõ hơn ANOVA và regression cũng như code R (great!) nên cuốn sách này đã bao quát được phần lớn câu chuyện biostatistics, giúp xây dựng nền tảng cho bất kỳ ai quan tâm chủ đề này. Đây cũng là tài liệu chính (bên cạnh cuốn The R Book) mình dùng để xây dựng chuyên đề thống kê ở www.tuhocr.com trong thời gian tới, nay giới thiệu trước cho các bạn để kịp thời đáp ứng nhu cầu ứng dụng R for statistics nhé!

Thứ hai, việc đọc các bài blog post về thống kê viết theo phong cách giải đáp câu hỏi thường gặp sẽ giúp bạn cảm thấy câu chuyện gần gũi và dễ hiểu hơn. Vì vậy bạn có thể tham khảo trang này https://statisticsbyjim.com/regression/least-squares-regression-line/ tác giả blog là Dr. Jim Frost chuyên gia về lĩnh vực thống kê làm rõ hầu như các câu hỏi tưởng-dễ-mà-khó trong quá trình chúng ta phân tích dữ liệu. Tất nhiên trên youtube hay website còn nhiều channel có chất lượng về statistics. Tuy nhiên, bạn không cần thiết phải trải qua hết những channel thống kê đó mà chỉ cần focus vào một vài source có chiều sâu là đủ sức master được chủ đề này rồi.

Trả lời câu hỏi: Ứng dụng R để xử lý thống kê như thế nào?

Câu hỏi này rất khó để đi theo kiểu trực tiếp (ráp code R vào xử lý statistics) đối với các bạn chưa có kiến thức về R cũng như kiến thức chưa vững về statistics. Bạn cần tách ra 2 bước độc lập nhau:

1/ Bạn học qua R cơ bản để hiểu cách R lập trình và xử lý dữ liệu (chính là dataset mà bạn sẽ đưa vào xử lý thống kê) để hoàn toàn chủ động thao tác sau này để vẽ đồ thị hay kiểm chứng giả thuyết thống kê qua các function mà R cung cấp một cách nhanh chóng. Đây là bước đệm rất quan trọng để bạn hoàn tất được bước 2.

2/ Là bạn áp dụng code R vào xử lý thống kê theo các example chuẩn về các model thống kê như linear regression hay non-linear regression, tìm hệ số tương quan vân...vân từ chính giáo trình gốc về thống kê (ví dụ cuốn sách mình giới thiệu ở trên) vào R để bạn đối chiếu kết quả bạn làm trong R với kết quả trong sách đưa ra, để gọi là "học tập và làm theo ổn cái đã". Rồi sau thì bạn ráp chính xác dataset của bạn vào case mẫu để có được cách biện luận mẫu cho dataset của bạn.

Cả 2 bước 1/ và 2/ ở trên có thể lồng ghép vào nhau trong quá trình bạn ứng dụng R vào công việc. Và chắc chắn bạn sẽ có rất nhiều câu hỏi phát sinh trong quá trình ráp code R vào xử lý thống kê và biện luận mà không biết hỏi ai?? Bạn có thể hỏi mình (Duc Nguyen) support maximum cho học viên hoặc bạn gửi câu hỏi lên group Tự học R để thảo luận cùng mọi người, từ đó kiến thức về R của bạn sẽ thực sự tiến bộ nhanh chóng, đến mức bạn cảm thấy câu hỏi về hồi quy là gì??? thực sự là đơn giản chứ không còn lằng nhằng rắc rối như thời điểm ban đầu nữa.

Mọi mô hình toán học đều chỉ là nỗ lực của con người tìm cách mô phỏng và dự đoán, giải thích quy luật của xã hội/tự nhiên. Mọi mô hình đều chỉ là gần đúng mà thôi. Vì chỗ đó ta cũng chỉ coi thống kê hay R là các phương tiện để bạn đưa ra câu trả lời phù hợp nhất cho giả thuyết bạn đặt ra.

Để hiểu các vấn đề khó, chúng ta cần đi qua sách (lý thuyết) rồi code lại theo suy nghĩ của mình (thực hành). Thảo luận với những người quan tâm cùng chủ đề sẽ giúp bạn có thêm những idea và góc nhìn mới cho câu chuyện được sáng tỏ hơn. Chúc bạn tìm thấy niềm vui qua những chủ đề khó ;)

Các bạn có thể download sách từ shadow library như ở trang này nhé https://annas-archive.org/ Để quản lý tài liệu tham khảo một cách hiệu quả thì bạn tìm hiểu về phần mềm open source rất mạnh là JabRef nha (mạnh và thuận tiện hơn cả Zotero). 

R xuất phát từ S là phần mềm chuyên dụng xử lý thống kê. Do vậy ứng dụng R để xử lý thống kê là best choice. Nhưng để "xử lý cho được thống kê" thì R không thể, vì đây chỉ là tool mà thôi, bạn cần phải đọc sách, đúng ngay chapter bạn quan tâm rồi giải công thức đó trên giấy hoặc trên excel để hiểu thuật toán, xong xuôi hết bạn mới ráp code R vào để xử lý case mình quan tâm.

Vì vậy, bạn nên tiếp cận câu chuyện xử lý statisitcs một cách chậm mà chắc hơn, để đảm bảo không phải học đi học lại các concept very basics về thống kê mà mỗi khi search google bạn sẽ thấy n người khác nhau sẽ kiến giải chủ đề statistics theo n kiểu khác nhau vô cùng hack não nếu bạn chưa build một nền tảng chắc chắn về statistics qua giáo trình chính quy về chủ đề này.

Vai trò của mình sẽ đồng hành cùng các bạn ứng dụng R vào xử lý thống kê qua case study. Nếu có gì khó thì mình cũng chỉ gửi tài liệu để bạn đọc thêm kèm theo review của mình về nội dung tài liệu đó fit với nhu cầu của bạn. Chúng ta đều đang trên hành trình update kiến thức bản thân ngày qua ngày thông qua các chủ đề dữ liệu đa dạng. Together we study valued materials.