Hướng dẫn chạy STATA cho dữ liệu Excel

Việt Nam xuất khẩu sang 38 nước OECD theo hạng mục HS-03 (nông thủy sản)

Input: File excel bao gồm các cột ID, EXP (Việt Nam là nước xuất khẩu), IMP (38 nước OECD là nước nhập khẩu), YEAR (từng năm trong giai đoạn từ 2005 tới 2023), ExpValue (giá trị hàng xuất khẩu tính theo $), GDPImp (GDP của 38 nước OECD nhập khẩu), GDPExp (GDP của nước Việt Nam xuất khẩu), CrossExchangeRate (tỷ giá giữa cặp tiền nước nhập khẩu/1000 Việt Nam Đồng), Distance (khoảng cách địa lý giữa Việt Nam và nước nhập khẩu), FTA (0 nếu chưa kí, và 1 nếu đang kí hoặc đã kí), Population (Dân số của nước OECD nhập khẩu), LPIExp (Logistics Performance Index – Chỉ số Hiệu quả Logistics – của nước Việt Nam xuất khẩu), LPIImp (Logistics Performance Index – Chỉ số Hiệu quả Logistics – của nước OECD nhập khẩu)

Ảnh 01. File excel được sử dụng để đưa vào STATA cho tính toán hạng mục HS-03

Phần mềm sử dụng: STATA MP/17

Ảnh 02. Phần mềm Stata được sử dụng trong hướng dẫn này

Pre-install: trước khi chạy Stata cần phải cài những package cần thiết từ Statistical Software Components (SSC) bao gồm ftools, reghdfe, và ppmlhdfe. Các câu lệnh tiến hành như sau:

ssc install ftools 

ssc install reghdfe 

ssc install ppmlhdfe 

clear all 

ftools, compile 

reghdfe, compile

Ngoài ra, còn 1 số package đáng để cài đặt như sau: ivreg2, xtabond2, xtivreg2, gtools, boottest, hdfe, ranktest, outreg2

PackageMô tảLĩnh vực ứng dụngLệnh cài đặt
boottestKiểm định wild bootstrap cho suy luận mạnh mẽHồi quy, cụm sai số chuẩnssc install boottest
estoutTạo bảng kết quả hồi quy chuyên nghiệp, xuất sang LaTeX/Word/ExcelTrình bày kết quả, báo cáossc install estout
gtoolsXử lý dữ liệu nhanh cho tập dữ liệu lớnQuản lý dữ liệu, tối ưu hóassc install gtools
hdfeHồi quy với hiệu ứng cố định đa chiềuHồi quy, dữ liệu bảngssc install hdfe
ivreg2Hồi quy biến công cụ (IV) và GMMKinh tế lượng, nhân quảssc install ivreg2
marginsTính hiệu ứng biên sau hồi quy, đặc biệt cho mô hình phi tuyếnHồi quy phi tuyến, giải thíchTích hợp sẵn
outreg2Xuất bảng kết quả hồi quy sang LaTeX/ExcelTrình bày kết quả, báo cáossc install outreg2
psmatch2Ghép cặp xu hướng điểm (propensity score matching)Nghiên cứu nhân quả, chính sáchssc install psmatch2
ranktestKiểm tra tính hợp lệ của biến công cụ trong hồi quy IVHồi quy IV, kiểm tra giả địnhssc install ranktest
rdrobustPhân tích thiết kế hồi quy gián đoạn (RDD)Nghiên cứu nhân quả, chính sáchssc install rdrobust
synthPhương pháp điều khiển tổng hợp (synthetic control)Đánh giá chính sách, dữ liệu bảngssc install synth
xtabond2GMM cho dữ liệu bảng động (Arellano-Bond, Blundell-Bond)Dữ liệu bảng, kinh tế vĩ môssc install xtabond2
xtivreg2Hồi quy IV cho dữ liệu bảngDữ liệu bảng, nhân quảssc install xtivreg2
xtpoissonHồi quy Poisson hoặc âm bản cho dữ liệu bảngDữ liệu đếm, kinh tế/y tếTích hợp sẵn
xtregressHồi quy tuyến tính cho dữ liệu bảng với hiệu ứng cố định/ngẫu nhiênDữ liệu bảng, kinh tế lượngTích hợp sẵn

Bước 01:

Trong ổ đĩa D, tạo thư mục STATA, bỏ vào đó file excel input (ví dụ có tên là Solution_v1). Ở stata dùng lệnh doedit để mở do-file editor

doedit

Ảnh 03. Tạo file gravity_model.do với nội dung thực hiện ở do-file editor trong Stata và lưu cùng folder với file excel input chứa dữ liệu xuất khẩu từ VN sang 38 nước OECD

Nội dung của file gravity_model.do như sau

* Clear any existing data
clear all

* Set working directory (replace with your folder path)
cd "D:\STATA"

* Import Excel file
import excel "Solution_v1.xlsx", sheet("Sheet1") firstrow clear

* Check data
describe
tabulate IMP, sort

* Fix CrossExchangeRate (handle N/A and convert to numeric)
replace CrossExchangeRate = "." if CrossExchangeRate == "N/A"
destring CrossExchangeRate, replace

* Verify 38 OECD countries
egen unique_imp = group(IMP)
summarize unique_imp
display "Number of unique IMP countries: " r(max)

* Filter for 38 OECD countries
keep if inlist(IMP, "Australia", "Austria", "Belgium", "Canada", "Chile") | ///
        inlist(IMP, "Colombia", "Costa Rica", "Czech Republic", "Denmark", "Estonia") | ///
        inlist(IMP, "Finland", "France", "Germany", "Greece", "Hungary") | ///
        inlist(IMP, "Iceland", "Ireland", "Israel", "Italy", "Japan") | ///
        inlist(IMP, "Korea", "Latvia", "Lithuania", "Luxembourg", "Mexico") | ///
        inlist(IMP, "Netherlands", "New Zealand", "Norway", "Poland", "Portugal") | ///
        inlist(IMP, "Slovakia", "Slovenia", "Spain", "Sweden", "Switzerland") | ///
        inlist(IMP, "Turkey", "United Kingdom", "United States of America")

* Verify filtered countries
tabulate IMP

* Create log-transformed variables
gen ln_expvalue = ln(ExpValue + 1)  // Add 1 to handle zeros
gen ln_gdpexp = ln(GDPExp)
gen ln_gdpimp = ln(GDPImp)
gen ln_dist = ln(Distance)
gen ln_exrate = ln(CrossExchangeRate)
gen ln_popimp = ln(PopulationImp)

* Handle missing ln_exrate
replace ln_exrate = ln_exrate[_n-1] if missing(ln_exrate) & EXP == EXP[_n-1] & IMP == IMP[_n-1]

* Handle LPI zeros (impute with mean for 2005-2006)
summarize LPIExp if YEAR > 2006, detail
replace LPIExp = r(mean) if LPIExp == 0
summarize LPIImp if YEAR > 2006, detail
replace LPIImp = r(mean) if LPIImp == 0

* Check data
summarize ln_expvalue ln_gdpexp ln_gdpimp ln_dist ln_exrate ln_popimp FTA LPIExp LPIImp

* Save filtered dataset
save "oecd_filtered_data.dta", replace

Thực hiện lệnh lệnh cd D:\STATA để trỏ đến folder thực hiện việc sử dụng dữ liệu input

cd D:\STATA

Chạy file gravity_model.do để tạo file oecd_filtered_data.dta

do gravity_model

Set Up the Panel Structure bằng cách chạy lệnh sau

* Create pair ID
egen pair_id = group(EXP IMP)

* Set panel
xtset pair_id YEAR

* Verify
xtdescribe

Bước 02:

Ước lượng PPML Gravity Model

Model: ExpValue = f(ln_gdpexp, ln_gdpimp, ln_dist, ln_exrate, FTA, ln_popimp, LPIExp, LPIImp).

ppmlhdfe ExpValue ln_gdpexp ln_gdpimp ln_dist ln_exrate FTA ln_popimp LPIExp LPIImp, absorb(EXP IMP YEAR) vce(robust)
estimates store ppml_model
estimates table ppml_model, star(0.01 0.05 0.1)

Ảnh 05. Chỉ số kết quả (Coefficients) của Ước lượng PPML Gravity Model

Bước 03: Diagnostics

* Link test
linktest

* Predict values
predict yhat, mu

* Plot
twoway (scatter ExpValue yhat), title("Actual vs Predicted Seafood Exports") ytitle("Actual Exports (USD)") xtitle("Predicted Exports (USD)")

* Influential observations
dfbeta, regress

* Fit statistics
estat ic

Ảnh 06. Hình ảnh kết quả dự đoán xuất khẩu hải sản của VN qua 38 nước OECD so với kết quả thực tế

d

d

d

d

d

d


Comments

One response to “Hướng dẫn chạy STATA cho dữ liệu Excel”

  1. Kim Anh Avatar
    Kim Anh

    bạn cho mình hỏi vì sao input của 2 biến LPIExp và LPIImp đều là giá trị 0 vậy ạ? (như hình cap để ở đầu bài) Nếu được thì bạn cho mình xin file excel input để mình chạy thử theo như bài hướng dẫn được ko ạ? Mình cảm ơn nhiều

Leave a comment