Sử dụng Stata cơ bản - Phan Hoàng Long
Bạn đang xem 20 trang mẫu của tài liệu "Sử dụng Stata cơ bản - Phan Hoàng Long", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- su_dung_stata_co_ban_phan_hoang_long.pdf
Nội dung text: Sử dụng Stata cơ bản - Phan Hoàng Long
- SỬ DỤNG STATA CƠ BẢN Phan Hoàng Long – Khoa QTKD - DUE
- STATA, SAS, SPSS và R SPSS SAS Stata R Điểm mạnh • Dễ học và sử dụng • Rất mạnh và • Mạnh và toàn diện • Rất mạnh và toàn • Biểu đồ tốt toàn diện hơn SPSS diện • Rất hiệu quả khi chạy • Thông dụng cho • Rất hiệu quả khi • Miễn phí các mô hình hồi quy cơ việc xử lý dữ chạy các mô hình bản liệu khối lượng hồi quy nâng cao lớn Điểm yếu • Khó sử dụng cho các mô • Chủ yếu dùng • Khó học và sử dụng • Dùng code, khó học hình hồi quy nâng cao code nên khó hơn SPSS nhưng dễ và sử dụng hơn • Chủ yếu phù hợp cho các học và sử dụng hơn SAS và R SAS, SPSS và Stata. phương pháp nghiên cứu hơn SPSS và • Khả năng xử lý dữ • Cho người có trình trong lĩnh vực khoa học Stata liệu khối lượng lớn độ lập trình nhất xã hội, nghiên cứu thị yếu hơn SAS và R định trường hay tâm lý học
- Sử dụng Stata ■ Câu lệnh ■ Menu
- Phần I: Cross-sectional OLS ■ File dữ liệu: “1 - Diem tot nghiep va luong khoi diem.xlsx”
- Thay đổi thư mục làm việc, import dữ liệu cd "C:\Users\Admin\Dropbox\STATA tutorial" import excel "1 - Diem tot nghiep va luong khoi diem.xlsx", sheet("Sheet1") firstrow
- Kiểm tra dữ liệu
- Quản lý các biến drop STT MasoSV rename Ngaythangnamsinh DoB sort Diemtotnghiep
- Format của dữ liệu Numerical %fmt Description Example right-justified %#.#g general %9.0g %#.#f fixed %9.2f %#.#e exponential %10.7e %21x hexadecimal %21x %16H binary, hilo %16H %16L binary, lohi %16L %8H binary, hilo %8H %8L binary, lohi %8L right-justified with commas %#.#gc general %9.0gc %#.#fc fixed %9.2fc right-justified with leading zeros %0#.#f fixed %09.2f left-justified %-#.#g general %-9.0g %-#.#f fixed %-9.2f %-#.#e exponential %-10.7e left-justified with commas %-#.#gc general %-9.0gc %-#.#fc fixed %-9.2fc You may substitute comma (,) for period (.) in any of the above formats to make comma the decimal point. In %9,2fc, 1000.03 is 1.000,03. Or you can set dp comma.
- Format của dữ liệu date string %fmt Description Example %fmt Description Example right-justified right-justified %tc date/time %tc %#s string %15s %tC date/time %tC %td date %td left-justified %tw week %tw %-#s string %-20s %tm month %tm %tq quarter %tq centered %th half-year %th %~#s string %~12s %ty year %ty %tg generic %tg left-justified %-tc date/time %-tc %-tC date/time %-tC %-td date %-td etc.
- Mô hình hồi quy OLS ■ Lương khởi điểm = Điểm tốt nghiệp + Điểm hoạt động + Ngành + Giới tính + ɛ
- Các phép toán trong stata
- Tạo biến mới ■ tab Gioitinh ■ tab Nganh ■ gen D_Nam = 1 if Gioitinh==“Nam” ■ replace D_Nam=0 if Gioitinh!=“Nam” ■ gen D_NganhKT = 1 if Nganh==“Kinh te” ■ replace D_NganhKT=0 if D_NganhKT == . ■ encode Gioitinh, gen(D_Gioitinh) ■ encode Nganh, gen(D_Nganh) ■ tab D_Gioitinh ■ tab D_Nganh ■ save "Diem tot nghiep va luong khoi diem.dta"
- Mô tả tổng kết dữ liệu
- Mô tả tổng kết dữ liệu ■ Mô tả: sum Luongkhoidiem Diemtotnghiep Diemhoatdong D_Nam D_NganhKT ■ Mô tả chi tiết: summarize Luongkhoidiem, d ■ Mô tả theo nhóm: bysort Gioitinh: sum Luongkhoidiem ■ Bảng mô tả: table Gioitinh Nganh, contents(mean Luongkhoidiem median Diemtotnghiep max Diemhoatdong ) ■ Tương quan: pwcorr Diemtotnghiep Diemhoatdong Luongkhoidiem D_Nam D_NganhKT, sig star(5) ■ Biểu đồ: twoway (scatter Luongkhoidiem Diemtotnghiep, sort)
- T-test ttest Luongkhoidiem, by(Gioitinh) ttest Luongkhoidiem, by(Nganh) ttest Luongkhoidiem if Dantoc == "Kinh", by(Nganh)
- Chạy hồi quy ■ Lương khởi điểm = Điểm tốt nghiệp + Điểm hoạt động + Ngành + Giới tính + ɛ regress Luongkhoidiem Diemtotnghiep Diemhoatdong D_Nam D_NganhKT regress Luongkhoidiem Diemtotnghiep Diemhoatdong D_Nam D_NganhKT, vce(robust) regress Luongkhoidiem Diemtotnghiep Diemhoatdong D_Nam D_NganhKT if Dantoc =="Kinh", vce(hc2) regress Luongkhoidiem Diemtotnghiep Diemhoatdong D_Nam D_NganhKT, cformat(%6.3f) sformat(%4.1f) pformat(%4.2f)
- Phân tích sau hồi quy ■ Breusch-Pagan / Cook-Weisberg test for heteroskedasticity: estat hettest ■ Residual: predict RES, resid ■ Fitted values: predict fitted_Luong_khoi_diem
- Mô hình hồi quy mở rộng ■ Lương khởi điểm = Điểm tốt nghiệp + Điểm hoạt động + Ngành + Giới tính + Tuổi + Tháng sinh + Dân tộc + ɛ ■ gen ThangSinh=month(DoB) ■ gen NamSinh=year(DoB) ■ gen Tuoi=2018-NamSinh ■ Replace Dantoc=trim(Dantoc) ■ xi: reg Luongkhoidiem Diemtotnghiep Diemhoatdong D_Nam D_NganhKT Tuoi i.ThangSinh i.Dantoc
- Mô hình hồi quy mở rộng với biến tương tác ■ Lương khởi điểm = NgànhKT x Điểm tốt nghiệp + Điểm hoạt động + Giới tính + Tuổi + Tháng sinh + Dân tộc + ɛ ■ xi: regress Luongkhoidiem D_NganhKT##c.Diemtotnghiep Diemhoatdong D_Nam Tuoi i.ThangSinh i.Dantoc ■ Lương khởi điểm = Điểm tốt nghiệp + NgànhKT x Điểm hoạt động + Giới tính + Tuổi + Tháng sinh + Dân tộc + ɛ ■ xi: regress Luongkhoidiem Diemtotnghiep D_NganhKT##c.Diemhoatdong D_Nam Tuoi i.ThangSinh i.Dantoc ■ Lương khởi điểm = NgànhKT x Điểm tốt nghiệp + NgànhKT x Điểm hoạt động + Giới tính + Tuổi + Tháng sinh + Dân tộc + ɛ ■ xi: regress Luongkhoidiem D_NganhKT##c.Diemtotnghiep D_NganhKT##c.Diemhoatdong D_Nam Tuoi i.ThangSinh i.Dantoc
- Xuất bảng kết quả ■ ssc install estout ■ eststo: regress Luongkhoidiem Diemtotnghiep Diemhoatdong ■ eststo: regress Luongkhoidiem Diemtotnghiep Diemhoatdong D_Nam D_NganhKT ■ eststo: xi: reg Luongkhoidiem Diemtotnghiep Diemhoatdong D_Nam D_NganhKT Tuoi i.ThangSinh i.Dantoc ■ esttab est1 est2 est3
- Tạo các biến quantile, chuỗi con, winsorized ■ egen Q_Diemhoatdong = xtile(Diemhoatdong), n(4) ■ egen Q_Diemhoatdong = xtile(Diemhoatdong), by(Gioitinh) n(4) ■ split Hovaten, p(" ") ■ ssc install winsor2 ■ winsor2 Luongkhoidiem, cut (1 99)
- Thực hành ■ Summarize các biến quantile và winsorized, summize theo biến factor ■ Chạy hồi quy dùng các biến quantile, winsorize và factor mới
- Phần II: Time-series OLS ■ File dữ liệu: “2 – VNINDEX.xlsx” ■ import excel "2 - VNINDEX.xlsx", sheet("VNINDEX") firstrow ■ save "VNINDEX.dta“ ■ import excel "2 - VNINDEX.xlsx", sheet("Foreign trading") firstrow ■ save “Foreign Trading.dta“ ■ merge 1:1 Date using "VNINDEX.dta“ ■ save ”VNINDEX-FOREIGNTRADING.dta”
- Mô hình hồi quy time-series 푽푵푰푵푫푬푿_푹풆풕풖풓풏풕 = 푭풐풓풆풊품풏_푻풓 풅풊풏품풕 + 휺풕
- Setup time-series tsset Date, daily sort Date gen timeid=_n tsset timeid
- Tạo các biến destring Open High Low Close ForeignBuyValue ForeignBuyVolume ForeignSaleValue ForeignSaleVolume TradingVolume TradingValue NegotiatedTradingValue NegotiatedTradingVolume, replace ignore(" ,") gen ln_VNI_Ret=ln(Close/Close[_n-1]) gen Foreign_Gross_Volume=(ForeignBuyVolume+ForeignSaleVolume)/10^9 gen Foreign_Net_Volume=(ForeignBuyVolume-ForeignSaleVolume)/10^9
- Thực hành ■ Tạo biến quartile cho Foreign_Gross_Volume, Foreign_Net_Volume ■ Lập bảng mô tả tổng kết các biến, mô tả theo quartile ■ Tạo biến D_High_Foreign_Gross_Volume, D_High_Foreign_Net_Volume ■ t-test ln_VNI_Ret theo D_High_Foreign_Gross_Volume, D_High_Foreign_Net_Volume
- Stationary test dfuller ln_VNI_Ret, lags(4) pperron Foreign_Gross_Volume, lags(4)
- Chạy hồi quy Newey-west ■ newey ln_VNI_Ret Foreign_Gross_Volume, lag(3) ■ gen Month=month(Date) ■ newey ln_VNI_Ret Foreign_Gross_Volume i.Month, lag(3) ■ newey ln_VNI_Ret Foreign_Net_Volume, lag(3) ■ newey ln_VNI_Ret Foreign_Net_Volume i.Month, lag(3) ■ reg ln_VNI_Ret Foreign_Net_Volume i.Month, lag(3) (để có R-square)
- Thực hành ■ Tạo các biến Foreign_Gross_Value, Foreign_Net_Value ■ Tạo biến Day_of_Week: gen DoW=dow(Date) ■ Summarize các biến ■ Test unit-root của các biến mới ■ Chạy hồi quy sử dụng các biến mới
- Mô hình hồi quy VAR 푽푵푰푵푫푬푿_푹풆풕풖풓풏풕 = 푭풐풓풆풊품풏_푻풓 풅풊풏품풕 + 푽푵푰푵푫푬푿_푹풆풕풖풓풏풕 + 휺풕 푭풐풓풆풊품풏_푻풓 풅풊풏품풕 = 푽푵푰푵푫푬푿_푹풆풕풖풓풏풕 + 푭풐풓풆풊품풏_푻풓 풅풊풏품풕 + 휺풕
- Chạy hồi quy VAR var ln_VNI_Ret Foreign_Gross_Volume, lags(1/1) varsoc ln_VNI_Ret Foreign_Gross_Volume, maxlag(5) var ln_VNI_Ret Foreign_Gross_Volume, lags(1/5)
- Thực hành ■ Chạy hồi quy VAR bằng các biến Foreign_Net_Volume, Foreign_Gross_Value, Foreign_Net_Value ■ Tạo các biến Netgotitate_trading, chạy hồi quy Newey West và VAR (với các lag khác nhau) bằng các biến này
- Phần III: Hồi quy Panel ■ File dữ liệu “US firms quarterly.dta” ■ Mô hình: 푹풆풕풖풓풏풊,풕 = 푵풆풕 풊풏 풐 풆풊,풕 + 푪 풔풉풊,풕 + 푫풊풗풊풅풆풏풅풊,풕 + 푴 풓풌풆풕 풗 풍풖풆풊,풕 + 푻풐풕 풍 풔풔풆풕풔풊,풕 + 휺풊,풕
- Tạo biến thời gian và biến ID ■ gen timequarter=quarterly(datacqtr, "YQ") ■ format timequarter %tq ■ gen timeid_q=qofd(datadate) ■ format timeid_q %tq
- Setup panel data xtset companyID timequarter, quarterly
- Tạo các biến cần thiết cho hồi quy ■ gen ln_Return=ln(prchq/prchq[_n-1]) ■ gen ln_MV=gen ln_MV=ln(mkvaltq) ■ gen ln_Asset=ln(atq) ■ gen Industry=substr(sic,1,1)
- Chạy hồi quy với time fixed effect và firm fixed effect xtreg ln_Return niq chq dvpspq ln_MV ln_Asset i.year, fe xtreg ln_Return niq chq dvpspq ln_MV ln_Asset i.year, fe vce(cluster Industry)
- Chạy hồi quy với time fixed effect và industry fixed effect ■ encode Industry, gen (Industry_ID) ■ xtset Industry_ID ■ xtreg ln_Return niq chq dvpspq ln_MV ln_Asset i.year, fe
- Chạy hồi quy với biến trễ và biến thay đổi 푹풆풕풖풓풏풊,풕 = 푵풆풕 풊풏 풐 풆풊,풕 + 푪 풔풉풊,풕 + 푫풊풗풊풅풆풏풅풊,풕 + 푴 풓풌풆풕 풗 풍풖풆풊,풕 + 푻풐풕 풍 풔풔풆풕풔풊,풕 + 휺풊,풕 푹풆풕풖풓풏풊,풕 =∆풕푵풆풕 풊풏 풐 풆풊 +∆풕푪 풔풉풊 +∆풕푫풊풗풊풅풆풏풅풊 + 푴 풓풌풆풕 풗 풍풖풆풊,풕 + 푻풐풕 풍 풔풔풆풕풔풊,풕 + 휺풊,풕
- Thank you ■ phanhoanglong@due.edu.vn