Các bạn đừng có copy cái bảng kết quả ở màn hình rồi đem vào word nhé =Giờ chúng ta sẽ dùng câu lệnh “outreg2” để xuất kết quả ra word Lưu ý: “outreg2” phải được dùng ngay sau câu lệnh h
Trang 1#1 Giao diện Stata và một số
hướng dẫncơ bản
Trang 2Đây là file Excel mình xử lý trướckhi đưa vào Stata chạy hồi quy.
Mình có 1 sheet “Raw Data” đểlưu data gốc (GVHD cho) của cácbiến mình cần
Sau đó mình Filter các tiêu chícần thiết (vd: Tài sản > 0, Lợinhuận > 0, Nợ/Vốn > 0, thuộcngành sản xuất (do đề tài mình
về doanh nghiệp sản xuất), …).Thực hiện tính toán các biến VDnhư tính ratio Tiền/Tổng tài sản
Sau đó mình tạo ra 1 sheet mới,chỉ lưu trữ data của các biếnthực sự đưa vào Stata
Có 1 sheet Note lại mình đã làm những gì, và lỡ mình có
làm sai (vd: collect thiếu data, lọc data sai, tính toán biến
sai, thêm biến…) thì mình nên bắt đầu lại từ sheet nào
Trang 3Khu vực command thì mỗi lần chỉ có thể gõ 1 câu lệnh và thực hiện câu lệnh đó xong mới tới câu lệnh khác Trong bài mình sẽ hướng dẫn mn
chủ yếu xài do-file Gõ hết lệnh rồi chạy hết trong 1 lần (chủ yếu là khi
đã code xong xuôi hết, và bạn sau này lỡ có chạy lại cũng nhanh
Trang 4Các bạn nên tạo 1 folder, lưu giữ tất cả các file liên quan đến việc xử lý dữ liệu, chạy hồi quy, xuất kết quả Stata
Mình tạo folder KLTN, đường dẫn trong máy mình là H:\KLTN (máy tính mọi người thường là ổ D:\, do mình ngựa ngựa nên mới là ổ H:\, ko cần để ý nha )))) Trong folder đang có 1 file Excel ban nãy mình show các bạn và 1 file Excel Data_Import là mình copy cái sheet cần import vô stata ra thành file riêng cho nhẹ
Trang 5Import Data từ Excel vô Stata: File => Import => Excel spreadsheet
Trang 6Bấm Browse… để chọn file cần import.
Nhớ tick vô Import first row as variable
names (để đặt tên biến nhanh luôn)
Kiểm tra lại Preview xem có đúng ý chưa
Mọi bản quyền thuộc về
https://www.facebook.com/minun2020bc
Trang 7Bấm vô Xem bộ data đang được sử dụng (hướng dẫn trang 3)Save data về folder KLTN
Trang 9Chúng ta sẽ download thêm các package/library bên ngoài, nói nôm na là phần mềm stata ko đủ câu lệnh thỏa mãn nhu cầu, phải xài thêm bên ngoài á
Trang 10ssc install xttest3
Thêm cái này nữa nha
Làm theo hướng dẫn kiem-tra-tuong-quan-chuoi-serial-correlation.html để download thêm xtserial
Trang 11https://phantichstata.com/cach-cai-dat-lenh-xtserial-de-#2 Viết do-file, đọc kết quả,
xuất kết quả ra Word
Trang 12Mở một do-file trắng lên nha mn Hướng dẫn mở ở trang 3
Trang 13Trong hướng dẫn này mình chỉ hướng dẫn hồi quy theo mô hình OLS, FEM và REM thôi nhe mn
Trang 14Hy vọng mọi người có kiến thức Kinh tế lượng và hiểu mình đang làm gì
Câu lệnh “reg” là “regression” là đang chạy hồi quy các biến theo mô hình OLS (tên khác: pooled-OLS)Note: b0 (hay ký hiệu Ꜫ) là giá trị nhiễu, sẽ ko tính ra được nhé, chúng ta chỉ để ký hiệu thôi
Trang 15Bôi đen hết các câu lệnh và chạy thử nào Ko cần lo các comment nhé, miễn là có /// thì không sao hết
Note: các biến trong câu lệnh phải khớp với tên biến trong file data nhé Lưu ý cả viết hoa viết thường cashta khác Cashta
Trang 16Màn hình kết quả sẽ hiện vầy nè (còn nữa, trang kế)
Trang 17Nếu bạn khônghiểu Kinh tếlượng, thì hiểuđơn giản là càngnhiều * càng tốt,
GV càng thích kếtquả bài của bạn
Nhưng điều quan trọng là biến độc lập chính được nghiên cứu Trong bài của mình là octa (khung xanh lá) Các biến còn lại là các biến độc lập kiểm soát thôi => Quang trọng là octa của mình nhiều ***, chứ nếu nó ko có * nào thì các biến
kia có nhiều * thì mình vẫn phải chọn lại đề tài mới (vì rõ ràng mối quan hệ Y-X được nghiên cứu ko có ý nghĩa, GV kocho nghiên cứu nữa)
Trang 18Các bạn đừng có copy cái bảng kết quả ở màn hình rồi đem vào word nhé =))))
Giờ chúng ta sẽ dùng câu lệnh “outreg2” để xuất kết quả ra word
Lưu ý: “outreg2” phải được dùng ngay sau câu lệnh hồi quy
Trang 19Mình sẽ chạy thử câu lệnh này để cho mn xem kết quả được xuất ra file word
replace là bạn tạo 1 file mới hoặc ghi đè lên file cũ (ghi đè = xóa cũ, ghi mới) append (không có trong hình) là tạo thêm 1 cột mới (ở các trang sau sẽ rõ)
Trang 21Nếu như bạn chạy append thì lát nữa sẽ có thêm cột (2) nằm bên phải cột (1)
Trang 22Nhắc lại panel data Mn xem trang hướng dẫn số 2 để xem panel data trông như nào nha Cột ticker-year khi 1 công
ty AAA chạy hết số năm 20xx – 20xx thì mới tới công ty AAM
Nhưng trước khi chạy mô hình FEM, REM thì bạn phải “giải thích” cho Stata hiểu là bạn đang xài panel data.
Xem hướng dẫn trang 45 để
biết vụ Save/Don’t Save nha
Trang 23Mình sẽ chạy hết các câu lệnh này và mở file word OLS.doc lên xem nhé
Trang 24À trước khi mở file word, có lưu ý nhỏ Mỗi lần chạy bấm chạy code trong do-file, các bạn sẽ chả có cảm giác gì là code đã chạy cả, nên phải chuyển sang màn hình Stata để xem có chạy chưa Nếu màn hình mà xuất hiện thông báo màu đỏ nào thì là do-file của bạn có dòng code bị lỗi, và Stata đã ngừng tại đó
(trong hình là mình chế ra câu lệnh linh tinh để thử thôi, chứ mấy câu lệnh ở trang trước bình thường nhé)
Trang 25Kết quả là đây )) Trình bày OLS, FEM, REM trong cùng 1 bảng có vẻ gọn, đẹp đấy Nhưng mình khuyên mn nên
dùng replace cho từng mô hình nhé Vì bạn sẽ có nhiều bảng để trình hơn, ăn gian được vài trang =)))))) (cái này là
khuyên thật, rồi các bạn sẽ hiểu vài trang ăn gian đó quý giá cỡ nào (((
Trang 26#3 Một số kiểm định cơ bản
và các bảng thống kê biến
Trang 27Trước khi chạy xtreg thì nhớ phải chạy xtset đã nha (hướng dẫn xtset ở phần FEM, REM)
Trang 28• Kết quả chạy được bên Stata, mình copy và paste sang Word xong tự edit/format lại ở bên Word cho đẹp.
• Kết quả của biến Year thì ko cần bỏ vô nha
(Nếu có ai thắc mắc sao số liệu 2 bên không giống nhau thì do bản final mình có thêm biến CFO_VOL, còn lúc viết hướng dẫn Stata này
mình giản lược biến này đi rồi)
Trang 29(Nếu có ai thắc mắc sao số liệu 2 bên không giống nhau thì do bản final mình có thêm biến
CFO_VOL, còn lúc viết hướng dẫn Stata này
mình giản lược biến này đi rồi)
Trang 30Nhìn chung mọi người có thể cú pháp của các câu lệnh reg, xtreg, outreg2, asdoc… đều chủ yếu là:
câu lệnh + tên biến y + tên các biến x + dấu phẩy + các options của câu lệnh
VD: reg y x1 x2 x3, robust
asdoc ko có options decmark(,) như outreg2 nha, nên lát nữa phải xóa dấu . thập phân và thay bằng dấu ,
Trang 31Lợi ích của việc dùng câu lệnh cd “H:\KLTN” ngay từ đầu nè.
Các file word xuất ra đều xuất hiện ở folder này, rất dễ kiếm và quản lý đúng hem nào )))
Trang 33Sau khi bấm Replace All, sẽ có bảng noti như bên trái Nhớ bấm No nha mn.
Bảng noti nó nói là đã replace xong rồi, hỏi có muốn search bên ngoài vùng
được chọn ban nãy nữa không => No
Trang 34Sang bảng ma trận tương quan cũng replace chấm thành phẩy nha
Trang 35#4 Tips xử lý khi p-value
không ý nghĩa
Trang 36Khi các bạn đang nghiên cứu mối quan hệ giữa hai biến Y – X thì mức ý nghĩa của biến X là 1 trong các yếu tố quan trọng quyết định GVHD có chấp nhận đề tài & kết quả của bạn hay không Các biến X kiểm soát có ý nghĩa mà biến X chính không có ý nghĩa thì cũng như không nhé )))
Nên gần như các bạn sẽ phải đổi đề tài, hoặc đổi phương pháp tiếp cận để “ép” cho ra ý nghĩa
Trang 37Khi mô hình của bạn không cho p-value ý nghĩa, các phương pháp thông thường:
• Đổi phương pháp đo lường biến X chính đó Đôi khi do data mỗi vùng nghiên cứu khác nhau, sử dụng chung công thức
đo lường sẽ ko cho kết quả giống nhau VD: biến X của bạn đang là đo lường thanh khoản của doanh nghiệp và đượctính = Cash/Total Assets, các bạn có thể thay bằng Cash/Total Equity, Cash/(Total Assets – Nợ ngắn hạn), ln(Cash/TotalAssets),… Tất nhiên việc thay đổi cách đo lường biến X phải được support bằng 1 bài nghiên cứu đã từng sử dụng cáchtính đó cho việc đại diện tính thanh khoản của doanh nghiệp => Nếu không GVHD sẽ bác bỏ
• Lọc lại bộ dữ liệu theo các tiêu chí khác VD: bạn đang xài data của HOSE + HNX, có thể thay lại data của hoặc HOSEhoặc HNX thôi, hoặc lọc các công ty HOSE + HNX theo tiêu chí abc xyz (thuộc ngành sản xuất + chăn nuôi, hoặc có tổngtài sản >= 50 tỷ, hoặc ở khu vực địa lý miền Nam, các cty có dữ liệu thu thập được >= 5 năm…) Các sub-sample thường
sẽ cho ra kết quả khác nhau (nhưng cũng hên xui à )) Đương nhiên cũng phải giải thích lý do vì sao chia sub-samplenhư vậy, again, cần bài nghiên cứu khác support
• Winsor biến (hướng dẫn ở trang sau)
• Đổi mô hình hồi quy Thông thường nhất là nên thử cả 3 mô hình OLS, FEM, REM Nếu OLS có kết quả đẹp thì FEM,REM chỉ thêm vào để tăng độ tin cậy (nếu FEM, REM cũng đẹp) & làm đủ số trang KLTN Nếu OLS ko đẹp mà 1 trong 2hoặc cả 2 cái kia đẹp thì xài FEM, REM Nếu cả 3 cái ko đẹp thì cân nhắc xài thêm FGLS (hướng dẫn ở trang sau)
Các mô hình như logit, probit, GMM,… thì mình hem biết, nên hem chỉ được.
Gần như tất cả mọi thứ được viết trong bài của bạn đều cần được support bởi 1 bài nghiên cứu nào đó (nghiên cứu ko
phải báo lá cải), nếu không thì GVHD sẽ bác bỏ => đọc nhiều nghiên cứu vào, và phải hiểu mình đang làm gì để mà bảo vệ
đề tài trước các câu hỏi của GVHD.
Lưu ý của các sub-sample, nếu sample bạn lọc mà không có tối thiểu 1000 quan sát (observations) thì đừng mong GVHD
accept ra trường))) (trích 1 GVHD).
Trang 38Mình chạy lại OLS để demo cho các bạn cách dùng winsor2 nhé Nhớ download về trước: ssc install winsor2
Trang 39VD biến capex đang có dữ liệu (-100000, 1, 3, 7, 9 , 11, 22, 25, 50, 34134748).
Các bạn có thể thấy (1, 3, 7, 9 , 11, 22, 25, 50) có giá trị khá gần nhau (nếu vẽ đồ thị đường thẳng thì khá ok), nhưng bỗng dưng có 2 số thấy gớm là -100000, 34134748 Hai
số này được gọi là outliers, thường bởi vì nó mà kết quả chạy ra không chính xác Hiểu
nôm na 2 số này là “hy hữu” trong khi chúng ta cần 1 cái trend/pattern “bình thường”
Winsor2 giúp chúng ta “làm mượt” 2 con số này, thành các giá trị gần gần với dãy số (1,
3, 7, 9 , 11, 22, 25, 50) Còn nó làm như thế nào thì chúng ta cũng không cần hiểu lắm đâu…
(Cái cần hiểu là bạn đang nghiên cứu mối quan hệ gì, biến x này ảnh hưởng biến y ra sao, có bài nghiên cứu nào support, có ai đã nghiên cứu kìa…)
Trang 40Bạn chỉ winsor2 khi nào p-value xấu thôi nhé Chứ đẹp rồi thì đừng winsor2 làm gì cho rách việc )))
Trang 41Nhớ gõ đúng tên biến mới nhé capex_w Kết quả thì như bạn đã thấy, (may mắn thay) p-value của capex_w đã có ý nghĩa 1% Không phải lúc nào cũng hên vậy với winsor2 đâu nha Đừng cố chấp, thử tới cut(5 95) rồi mà vẫn ko được thì buông xuôi đi ))
Trang 42Các bạn không nhất thiết chỉ winsor2 một biến nào đó Có thể phối hợp winsor2 2, 3 biến, vì nguyên tắc là hễ biến mới thì kết quả sẽ mới ))) hy vọng mn tìm ra tổ hợp winsor2 cho ra p-value ưng ý (nói thì vậy nhưng đừng lạm dụng, GVHD sẽ hỏi sao em winsor2 nhiều thế)
Trang 43FGLS thường cho ra kết quả đẹp, vì nó có ít điều kiện hạn chế hơn so với OLS
Trang 44Kết quả chạy FGLS đây, cũng khá đẹp (do bài của mình OLS đã đẹp rồi, nên FGLS cũng đẹp, khó thấy sựkhác biệt) Nên nếu bài bạn OLS chưa đẹp, có thể thử FGLS xem có sự khác biệt không nhé
Để xuất kết quả ra word thì bạn cũng chỉ cần chạy outreg2 ngay sau khi chạy xtgls nhé
Trang 45Khi tắt Stata thì sẽ có thông báo hỏi muốn lưu bộ data lại hong Do mình đã tạo ra biến firms với biến capex_w á Nếu Save thì sau này mở lại do-file ko cần chạy encode, winsor2 nữa Còn hong save thì sau này phải chạy lại 2 lệnh đó.
Nhưng nếu muốn save thì các bạn phải chắc chắn biết mình đang làm gì Trong ví dụ chỉ là 2 biến trên, đôi khi thực tế các bạn đã dùng lệnh xóa biến hoặc xóa số quan sát, nên lỡ save là nghỉ undo lun á )))
Trang 46#5 Appendix
Trang 47Mình khuyến khích các bạn thực hành bằng bộ data của các bạn luôn Nhưng lỡ như các bạn chưa
có data, hoặc sợ mất file (sợ mất thì copy paste lưu trữ nhiều nơi nhé) thì mình cho các bạn
Example_Do_file.pdf:
https://drive.google.com/file/d/14cxUT8vqlkfWpKAXcs46cPsdGOCTp2WD/view?usp=sharing
Trang 48Tổng hợp một số câu lệnh Stata do mình và bạn bè ngày xưa làm (ghi tiếng Anh với ghi tắt nên hơi khó hiểu).Nhìn chung nếu các bạn không có nhu cầu gì đặc biệt thì mình nghĩ trong hướng dẫn này mình đã cover gần
hết mấy cái cơ bản rồi á Nếu bí quá cần cái gì thì có thể mở file Tổng hợp này xem them (nhưng báo trước là
coi nhiều khi không hiểu đâu nha ))
https://drive.google.com/file/d/1io28yj6XCBkFQ6cK-pSnnfvBHdi2WcHG/view?usp=sharing
Trang 49Nhìn chung các bạn không nên tốn quá nhiều thời gian cho việc xử lý dữ liệu & chạy Stata Thời gian chạy Stata chỉ nên chiếm 20% quá trình thôi, 80% còn lại tập trung vào viết KLTN cho chặt chẽ, đầy đủ các phần, và quan trọng là đủ số trang, minimum 60 trang, không đủ 60 trang đừng hỏi tại sao điểm thấp ko ra được trường ))))
Nếu mọi người thấy hướng dẫn này có ích, hy vọng mn share cho bạn bè cũng đang gặp khó khăn Tích đức để qua môn chưa bao giờ lỗi thời nhé ))) chuyện tâm linh không đùa được đâu ))
Cuối cùng chúc mọi người chạy dữ liệu lần đầu đã ra được kết quả đẹp như ý é, được GVHD chấp nhận hết idea & kết quả, viết bài thuận lợi, không bị stress Good luck <3