Tuesday, November 10, 2015

Tại sao học R: vấn & đáp

Mới post cái note về lớp học mà có nhiều bạn gửi email hỏi han. Tôi sẽ cố gắng trả lời chung cho các bạn về lớp học sắp tới đây. Có vài câu hỏi tế nhị, nhưng tôi không ngần ngại trả lời cho các bạn (miễn là hỏi lịch sự :-)).



Câu hỏi 1: Tại sao tôi phải học R trong khi đó ở Việt Nam người ta giảng dạy về Stata và SPSS?

Trả lời: Có nhiều lí do để học R, và tôi nghĩ đến 4 lí do sau đây:
·       Thứ nhất là nó miễn phí, chứ không tốn tiền như Stata và SPSS (mà phần lớn bạn ở VN dùng là lậu, bất hợp pháp).
·       Thứ hai là R được thiết kế bởi giới làm về khoa học thống kê, và những phương pháp phân tích hiện đại nhất, mới nhất đều được triển khai trong R trước. Điều đó có nghĩa là chúng ta sẽ làm chủ phương pháp sớm nhất và do đó nghiên cứu có cái "mới" sớm nhất.
·       Thứ ba là R là ngôn ngữ chính cho Dữ liệu Lớn (Big Data), còn các software khác như Stata và SPSS thì chỉ dùng cho những nghiên cứu tầm nhỏ và trung mà thôi. Vì thế, học R các bạn sẽ tiếp cận và cập nhật hoá với khoa học "nóng" như Big Data rất nhanh.
·       Thứ tư là biểu đồ trong R có phẩm chất tốt hơn hẳn các software thông thường khác như SPSS và Stata.

Bởi thế, các bạn nên học R. Không phải vì tôi giảng về R mà nói như thế đâu (tôi không có thói này), nhưng khách quan mà nói thì R là ngôn ngữ của khoa học thống kê phổ biến nhất, phát triển nhanh nhất, và "hot" nhất hiện nay. Tôi học R từ một nghiên cứu sinh của tôi, và cho đến nay tôi đã vứt hết SAS để chỉ dùng R trong việc phân tích.

Câu hỏi 2: Những gì R làm được thì các software khác cũng làm được, vậy tại sao tôi phải dùng R?

Trả lời: Nếu bạn không có tiền và có lòng tự trọng (không dùng đồ lậu) thì R là lựa chọn lí tưởng. Tất cả những phương pháp mà các software khác làm được thì R cũng làm được. Nhưng có cái khác: Khi dùng R, các bạn biết hơn về vấn đề mình làm. Với các software khác (như SPSS), các bạn chỉ cần nhấn nút menu là có kết quả, các bạn không biết đằng sau đó là cái gì. Nhưng với R, các bạn không thể làm thế được, mà phải viết xuống mô hình hay phải biết mình làm cái gì, rồi mới dùng lệnh R. Tôi có khi xem R như là một ... cách suy nghĩ.

Nhưng như tôi nói trên, có những vấn đề mà các software khác không giải quyết được, nhưng R thì giải quyết được. Ví dụ như nếu các bạn muốn đánh giá tầm quan trọng của mỗi biến tiên lượng đến một biến phụ thuộc, hay nếu các bạn muốn dùng phương pháp BMA, thì chỉ có R mới trả lời được những câu hỏi này. Trước đây, chỉ có mấy người ở các nước phương Tây mới tiếp cận các phương pháp mới trước; còn ngày nay với R thì các nhà khoa học từ các nước nghèo vẫn có thể tiếp cận được. Do đó, tôi xem R là một công cụ để dân chủ hoá trong khoa học.

Câu hỏi 3: Lớp học có giảng về big data hả thầy?

Trả lời: Tôi muốn giảng về chủ đề này, nhưng cần phải xem xét thời gian và nhu cầu nữa. Big Data hiện nay rất "nóng" và tôi nghĩ có lẽ nên dành vài bài giảng về chủ đề này, nhưng tôi chưa dám hứa chắc. Tôi có thể chỉ cho các bạn những khái niệm, công cụ R dùng cho Big Data, và những tài liệu cần biết. Vấn đề lớn nhất là máy tính (vì Big Data cần phải có máy tính loại parallel hoặc supercomputer mà VN mình chưa có?) nên khó mà thực hành gì được. Giảng lí thuyết thì ok, còn thực hành thì tôi không dám hứa.

Câu hỏi 4: Tôi nghe bạn bè nói là R rất khó học vì phải gõ lệnh?

Trả lời: Khó hay dễ tuỳ thuộc vào thời gian chúng ta sử dụng và làm quen với một công cụ mới, do đó, khó hay dễ chỉ là tương đối thôi. Tất cả các software nghiêm chỉnh (như SAS, Stata) đều dùng lệnh, chứ không dùng menu. R cũng thế, vì R được thiết kế cho những người PHẢI BIẾT mình làm cái gì, chứ không phải chỉ bấm bấm menu cho ra kết quả và nghĩ là mình hiểu thống kê học! Đẳng cấp của người sử dụng R và SPSS khác nhau, nên không thể so sánh được. Thật ra, R cũng có menu, nhưng tôi không muốn giới thiệu, vì tôi muốn các bạn phải học từ gốc, chứ đừng học từ ngọn chẳng ra làm sao cả.

Câu hỏi 5: R có nhiều lệnh và packages quá, làm sao nhớ hết?

Trả lời: Thật ra, chỉ có một số lệnh thông thường thôi, nên chẳng cần nhớ làm gì. Tôi có hẳn một cuốn sách viết bằng tiếng Việt, và có phần phụ chú liệt kê tất cả các lệnh và packages cần thiết, kèm theo ví dụ. Không! Các bạn không cần nhớ hết các hàm và packages, mà chỉ cần biết mình muốn làm gì mà thôi.

Câu hỏi 6: Có giảng viên nói rằng R không được kiểm chứng như SPSS hay SAS, nên không đáng tin cậy và ít ai dùng.

Trả lời: Tôi cũng từng nghe qua ý kiến này, nhưng tôi có thể nói thẳng rằng đó là ý kiến rất bậy bạ. R là ngôn ngữ của giới thống kê học, và cộng đồng khoa học thống kê kiểm chứng trước khi đưa vào packages. Ngoài ra, R có một nhóm chuyên kiểm định codes của các packages, nên người sử dụng có thể yên tâm hơn so với Stata hay SPSS. R được rất nhiều người trong giới khoa học sử dụng. Đặc biệt là trong genomics thì hầu hết đều dùng R. Do đó, nói rằng ít ai dùng R là quá bậy bạ, và nó chứng tỏ người nói câu đó chưa cập nhật tình hình khoa học.

Câu hỏi 7: Nhiều khi thầy cô em không chấp nhận R, vậy em học R làm gì?

Trả lời: R chỉ là công cụ, chứ đâu phải là ý tưởng khoa học hay phương pháp khoa học đâu mà có chuyện chấp nhận hay không chấp nhận. Để ước tính tham số của một mô hình, người ta có thể dùng Stata, SPSS, SAS, Fortran, hay R, chứ đâu phải chỉ có một software nào đó là độc nhất. Việc chấp nhận hay không chấp nhận R không cần phải đặt ra, vì nó quá thấp.

Câu hỏi 8: Học R xong, tôi có được hỗ trợ không?

Trả lời: Có. Chúng tôi có một diễn đàn trực tuyến về R mà các bạn có thể tham gia để đặt câu hỏi và liên lạc học hỏi lẫn nhau. Ngoài ra, các bạn có thể mua sách của tôi về R (nếu các bạn là học viên thì nhà trường sẽ tặng không cuốn sách). Sách có tựa đề là "Phân tích dữ liệu với R" do Nxb Tổng Hợp xuất bản năm ngoái, và đến nay đã tái bản 2 lần. Sách đó có đầy đủ những phương pháp phổ biến trong phân tích dữ liệu khoa học.

Câu hỏi 9: Ở Việt Nam có nhiều người dùng R không?

Trả lời: Tôi nghĩ là có khá nhiều, nhưng không ai biết chính xác là bao nhiêu. Tôi có lẽ là người giới thiệu R về VN khoảng 10 năm trước. Từ đó đến nay tôi đã thực hiện hơn chục lớp học (từ 1 tuần trở lên, không kể mấy lớp ngắn hạn), nên đã có hơn 1000 học viên rồi. Từ học viên, họ về giảng dạy cho các học viên khác, nên tôi nghĩ ở VN chắc có hơn 5000 người dùng R. Tôi biết có trường đại học dùng sách của tôi làm tài liệu giảng dạy về R cho sinh viên.

Câu hỏi 10: Tôi nghe nói R chỉ dùng trong khoa học tự nhiên, chứ kinh tế ít ai dùng R?

Trả lời: Không phải như vậy đâu. R là công cụ phân tích dữ liệu, nên bất cứ ngành nào có nhu cầu phân tích dữ liệu thì đều có thể dùng R. Trong kinh tế học và khoa học xã hội nói chung, có rất nhiều người dùng R cho dữ liệu theo thời gian (time series data) và các mô hình đa biến.

Câu hỏi 11: Tôi hiện nay không biết gì về R, tôi có thể theo học lớp này không?

Trả lời: Lớp học được thiết kế cho người chưa biết về R, nên bạn là "đối tượng" lí tưởng của lớp học. Lớp học sẽ dành 1 ngày để chỉ về R, cộng thêm tài liệu 50 trang để tự thực hành trên máy tính.

Câu hỏi 12: Tôi chẳng biết gì về thống kê học cả, tôi có thể theo nổi lớp học không?

Trả lời: Bạn không cần phải biết thống kê học, vì đó là nhiệm vụ của chúng tôi phải làm cho bạn biết. Tuy nhiên, bạn phải biết mình muốn gì, muốn làm gì, thì chúng tôi mới giúp cho các bạn được.

Câu hỏi 13: Tôi là sinh viên chứ chưa làm nghiên cứu, tôi có nên theo học không?

Trả lời: Theo tôi là nên, vì tiếp thu thêm kiến thức chẳng có mất mát gì cả. Ở bên này, người ta dạy R cho sinh viên năm thứ nhất rồi. Mỗi course học 30 lectures với cái giá là 3200 AUD.

Câu hỏi 14: Bài giảng bằng tiếng Việt hay tiếng Anh?

Trả lời: Tất cả bài giảng đều được soạn bằng tiếng Việt, có phụ chú thêm thuật ngữ tiếng Anh. Dĩ nhiên, chúng tôi là người Việt nên phải dùng tiếng Việt trong khi giảng bài chứ.

Câu hỏi 15: Trường lấy học phí đến 5 triệu đồng. Tại sao mắc như thế?

Trả lời: Hm, câu này tế nhị, nên tôi xin phép giải thích dài dài một chút. Mười mấy năm trước chúng tôi thường mở lớp học hè miễn phí ở trường y, thường do các công ti dược hão tâm tài trợ. Nhưng có học viên đề nghị là không nên làm như thế vì học viên nghĩ rằng lớp học "chùa" nên họ không nghiêm túc theo học. Chúng tôi đồng ý với quan điểm này, và do đó phải lấy học phí. Học phí để nhà trường trang trải cơ sở vật chất, để trả thù lao cho giảng viên (chỉ là tượng trưng thôi), và để học viên phải tỏ ra nghiêm chỉnh trong học và hành. Và, quả thật là sau khi lấy học phí thì tất cả đều học hành nghiêm chỉnh, không có bỏ lớp và cũng chẳng dám bỏ đi nhậu.

Còn học phí bao nhiêu là mắc hay rẻ thì khó nói lắm, vì nó còn tuỳ thuộc vào phẩm chất của lớp học và nội dung học. Tôi tự hào rằng nội dung lớp học này là đầy đủ nhất, phẩm chất chắc chắn chẳng kém (nếu không muốn nói là hơn) bất cứ lớp nào ở bất cứ nơi nào trên thế giới. Tôi tự tin như thế, vì tôi đã bỏ ra nhiều tháng trời để soạn bài giảng. (Ai có soạn bài giảng sẽ biết cực khổ như thế nào). Lấy bài của người khác, lấy data của người khác về giảng thì dễ; nhưng tự mình nghĩa ra, soạn ra, rồi dùng dữ liệu của mình thì các bạn sẽ biết khổ cực ra sao -- tôi không muốn kể công, mà chỉ nói thực tế. Do đó, cá nhân tôi nghĩ 5 triệu cho 12 ngày và hơn 40 bài giảng thì không thể nói là mắc được. Ở Úc, có một trường y đang thương lượng với tôi để mua lại course học này với điều kiện tôi phải chuyển sang tiếng Anh.

Câu hỏi 16: Tại sao lớp học về phân tích dữ liệu thường mắc?

Trả lời: Như là qui luật, các lớp học về phương pháp thường mắc hơn những lớp về lí thuyết. Mấy năm trước tôi theo học một lớp về bioinformatics có 4 ngày mà người ta lấy học phí 3000 AUD, còn lớp về sinh học xương (bone biology) chỉ 100 AUD. Ở VN có lớp dạy về SPSS chỉ có 5 ngày mà cái giá đã 5-7 triệu đồng rồi. Tri thức là sức mạnh,và các bạn phải đầu tư cho tri thức, chứ các bạn nói chuyện tiền bạc với tri thức làm tôi ... hơi nản. Lí do phương pháp thường mắc, là vì nó là công cụ, nó là phương tiện để các bạn nâng cao khả năng tìm việc làm. Các bạn có thể học hết lí thuyết này đến lí thuyết kia (rất quan trọng) nhưng khi tìm việc thì người ta quan tâm đến cái mà bạn có thể làm được là gì (tức là nắm vững phương pháp). Các bạn có thể am hiểu các nguyên lí về dịch tễ học hay về nội tiết học, nhưng nếu bắt tay vào nghiên cứu mà không biết phân tích dữ liệu thì rất khó thuyết phục người tuyển dụng.

Câu hỏi 17: Em ở ngoài Bắc, làm sao vào TPHCM để học đây?

Trả lời: Ui chao, thời đại này, em ở đâu mà chẳng vào Sài Gòn học được. Lớp học năm ngoái (hơn 200 người từ 21 tỉnh thành), hơn phân nửa là từ miền Bắc (dù sao thì dân Bắc ham học hơn dân Nam!) Ngoài ra, còn có nghiên cứu sinh từ nước ngoài về học nữa. Như tôi nói, em có thể hỏi Trường TĐT vì họ có thể sắp xếp cho em ở nhà công vụ. Họ quảng cáo rằng nhà công vụ của họ là tương đương với khách sạn 3 sao. Chuyện sao siếc thì tôi không có ý kiến, nhưng khuôn viên của Trường thì đẹp vào hàng số 1 của Việt Nam là sự thật. Vậy nhé, em liên lạc với Trường để hỏi việc ăn ở.

Câu hỏi 18: Thầy là người viết về R và quảng bá R, nên thầy lúc nào cũng nói tốt cho R. Như vậy là thầy có "conflict of interest"?

Trả lời: Em có thể nói là tôi có "conflict of interest", nhưng cái interest mà tôi "mâu thuẫn" ở đây là đem lại lợi ích (chứ không đem cái xấu) cho các bạn, cho Việt Nam. R là một technology, và việc tôi làm là một cách chuyển giao công nghệ. Trong thực tế, tôi muốn nghĩ là mình tin vào những gì mình nói và làm, chứ không phải chỉ nói tốt cho một công cụ nào đó. Nếu tôi nói tốt cho SAS hay Stata thì tôi có vấn đề (vì hai software này tốn tiền và các bạn phải mua), còn tôi nếu có nói tốt cho R thì tôi chẳng có gì áy náy vì công cụ này miễn phí và ... tốt.

Em có thể nói tôi muốn bán sách nên cố tình quảng bá R, nhưng em hiểu cho là những người như tôi (cấp professor ở nước ngoài) không bao giờ làm giàu hay thậm chí không bao giờ nghĩ đến làm giàu từ hoạt động học thuật ở VN. Mỗi cuốn sách in ra, tôi được hưởng 10% nhuận bút, nhưng phải trả thuế cho VN (tôi đóng thuế đó nhé) 10& hay 15% (tôi quên). Một cuốn sách như R tôi có tiền nhuận bút chỉ bằng vài bài báo trên báo chí phổ thông thôi. Không, tôi không bao giờ (vạn lần không bao giờ) làm tiền ở trong nước vì đơn giản là tôi không có nhu cầu đó. Không bao giờ. Ai nghĩ thế là sai lầm to lắm nhé.

====

Mọi thông tin vui lòng liên hệ: ThS. Nguyễn Thị Mai Hương, Phòng A303, số 19 Đường Nguyễn Hữu Thọ, P. Tân Phong, Q.7, TP. HCM. Điện thoại: 0936-999-574. Email: nguyenthimaihuong1@tdt.edu.vn.

Nếu các bạn cần thông cáo chính thức và những chi tiết hành chính và "hậu cần" thì có thể download thông báo sau đây:

4 comments:

vu huong said...

Thưa Thầy,
Em là một sinh viên, và cũng là một tín đồ của trang “blog của tuấn”. Em đón đọc tất cả các bài Thầy viết vì một lí do đơn giản, mỗi bài viết là một bài học (miễn phí). Em trân trọng cảm ơn Thầy vì những đóng góp cho thế hệ trẻ Việt Nam mà Thầy đã, đang và sẽ thực hiện.
Rất nhiều lần em muốn viết thư gửi tới Thầy những suy nghĩ, cảm nhận và những trân trọng đối với Thầy, nhưng vẫn chưa thực hiện vì hay có suy nghĩ rằng Thầy rất bận. Nhân chuyện có nhiều bạn hỏi Thầy về lớp học R sắp tới, em muốn viết thư cho Thầy vì hai lí do. Thứ nhất, em muốn bày tỏ lòng biết ơn đối với những cống hiến của Thầy. Thứ hai, em muốn gửi tới các bạn (thông qua Thầy) đang có ý định tham gia lớp học về những trải nghiệm và lí do nên học R.
Em đang là nghiên cứu sinh tại trường đại học Curtin, WA. Đề tài em đang thực hiện là một nghiên cứu bệnh chứng về mối liên hệ giữa uống trà và cà phê và ung thư tuyến tiền liệt tại Việt Nam. Em đã qua giai đoạn lấy số liệu và phân tích xong số liệu. Em chưa bao giờ tham gia một lớp học bài bản nào về R, nhưng em đã học rất nhiều từ các bài viết, các bài giảng trên youtube của Thầy. Em cũng đã đặt mua cuốn sách “Phân tích dữ liệu với R” ngay khi nó vừa được xuất bản và nhờ người mang sang bên này. Em đã học master ở trường Curtin và được dạy về SPSS, nhưng trong thực tế sử dụng, em lại dùng R. Cũng giống như học tiếng Anh, khi đã hiểu được cách viết câu, nắm được ngữ pháp và một vốn từ cơ bản thì có thể giao tiếp được. R còn dễ hơn vì để sử dụng, ngữ pháp và lượng từ cơ bản không đòi hỏi nhiều như tiếng Anh. Khi đã quen với “ngữ pháp” của R rồi, việc nhớ từ không còn quan trọng nữa. Việc còn lại là cần phải biết là mình muốn làm gì. Có thể so sánh rằng, các phần mềm thống kê sử dụng menu giống như tiệm cơm xuất (khẩu phần cố định), R giống như tiệm ăn tự phục vụ (bao gồm cả việc chế biến thức ăn, nếu muốn). Cũng chính vì lí do đó, R cho người dùng cái cảm giác như có thể “sờ, mó” được vào dữ liệu. Nói một cách khác, R cho phép người dùng xử lý dữ liệu một cách tùy biến nhất, linh hoạt nhất. Em đang dùng Rstudio, cảm giác khi xử lý dữ liệu với Rstudio giống như đang ngồi học trong một thư viện với đầy đủ sách tham khảo. R phù hợp cho những người muốn xử lý số liệu thực sự, không phù hợp cho những ai học chỉ để lấy “bằng”.
Trên đây là những trải nghiệm của cá nhân em khi sử dụng R.
Một lần nữa em cảm ơn Thầy về những bài học, ít nhất là đối với riêng em. Em rất mong có dịp được mời Thầy một li cà phê, và nếu Thầy đồng ý, em mong có dịp được đến thăm Thầy tại nơi Thầy làm việc.
Kính chúc Thầy sức khỏe,
em Đông

Tuan Nguyen said...

Đông mến:
Rất vui khi đọc được những chia sẻ và trải nghiệm của em về R. Tôi sẽ hết lòng cố vấn em trong công việc nghiên cứu và công bố quốc tế (dù tôi biết rằng em đã có người hướng dẫn). Tôi cũng quen nhiều bạn ở WA. Biết đâu, chúng ta sẽ có dịp hợp tác trong nghiên cứu về trà xanh và sức khoẻ của xương. Tôi có vài ý tưởng rồi, chỉ cần có người làm thôi. Tôi sẽ rất vui đón em đến thăm lab tôi ở Viện Garvan. Khi nào em có dịp ghé qua Sydney, em gọi cho tôi trước nhé qua email t.nguyen(at)garvan.org.au.
NVT

quangchien said...

Lớp học về một phần mềm mở như R mà GS Tuấn tổ chức là rất hay. Các bạn làm thống kê mới quen SAS, SPSS, Minitab... thì rất nên tìm hiểu R. Sử dụng nó cũng rèn luyện tư duy, tạo cho bạn một lối nghĩ mới sáng tạo hơn.

R không phổ biến và không chính thống? Tôi không nghĩ bạn đọc nào đã tìm hiểu kĩ vấn đề lại khẳng định vậy. Về một số tiêu chí R vượt các ngôn ngữ trong phần mềm thương mại: số trang web/tài liệu hướng dẫn, số gói thư viện... Nói thật là các bộ phần mềm thống kê thương mại còn phải nể R.

Học phí như vậy là vừa phải. Có thể bạn so với học phí các khóa lập trình Java, sử dụng AutoCAD vốn là những thứ rất thông dụng ở Việt Nam? Thực ra cũng không đắt đâu. Nói vui như vậy nhé: học một phần mềm mở thì lẽ ra học phí phải đắt hơn phần mềm thương mại, bởi vì các nhà sản xuất phần mềm đóng sẵn sàng hỗ trợ kinh phí đào tạo để người dùng đông hơn, mua nhiều sản phẩm hơn. Bạn học được phần mềm nguồn mở là vốn quý rồi vì sau này bạn tùy thích sử dụng nó. Bạn nào viết báo đăng tạp chí thì thấy đó: cứ viết bài đăng Open Access sẽ bị bắt đóng lệ phí cao khiếp!

hiep vo dinh said...

Nguoi khac than tuong dien vien, ca sy nhung em than tuong Thay mat roi.