There are no products in the cart!
-
30 Tháng 01, 2022
-
789 views
Cách xử lý dữ liệu trong Stata - Bỏ Mising value + Outliers
Xử lý dữ liệu trong Stata là điều đầu tiên bạn cần phải làm để có được một bộ dữ liệu sạch, chẩn nhằm chuẩn bị cho việc phân tích dữ liệu được đầy đủ và chính xác nhất. Các phần xử lý dữ liệu (Data Processing) bao gồm những mục cần thông qua như sau:
- Kiểm tra độ hợp lý của dữ liệu
- Kiểm tra xử lý các giá trị không tính toán (missings)
- Kiểm tra xử lý các giá trị ngoại lai hay dị biệt (outliers)
- Kiểm tra tính chuẩn hóa của phân phối và lựa chọn kiểm định phù hợp
Cách xử lý dữ liệu trong Stata của MOSL là một công cụ tốt để làm sạch và thao tác dữ liệu, bất kể phần mềm bạn định sử dụng để phân tích. Bài viết này phù hợp cho cả những người muốn làm sạch dữ liệu trong stata lần đầu và những người đã quen với việc làm sạch dữ liệu trong stata rồi.
Hãy Tải Stata 14 Full Crack mới nhất năm 2022 nếu chưa tải phần mềm này về máy nhé!
1. Tổng hợp cách xử lý dữ liệu trong Stata
Bảng tổng hợp các thủ tục cách xử lý dữ liệu trong Stata:
Xử lý dữ liệu | STATA |
Nhập và xuất dữ liệu | Stata |
Tạo biến | Stata |
Kiểm tra dữ liệu nhập | Stata |
Phát hiện điểm dị biệt | Bên dưới |
Thay thế giá trị missing | Bên dưới |
Nối dữ liệu | Stata |
Lọc quan sát | Bên dưới |
Đón Xem hướng dẫn sử dụng Stata cơ bản
2. Cách xử lý dữ liệu trong Stata
Làm sạch dữ liệu là một thuật ngữ khá rộng áp dụng cho các thao tác sơ bộ trên tập dữ liệu trước khi phân tích. Đây thường sẽ là nhiệm vụ đầu tiên của một trợ lý nghiên cứu và là phần tẻ nhạt của bất kỳ dự án nghiên cứu nào khiến chúng tôi mong muốn mình trở thành trợ lý nghiên cứu.
Stata là một công cụ tốt để làm sạch và thao tác dữ liệu, bất kể phần mềm bạn định sử dụng để phân tích. Lần vượt qua đầu tiên của bạn tại một tập dữ liệu có thể liên quan đến bất kỳ hoặc tất cả những điều sau:
- Bỏ quan sát (Dropping observations)
- Xóa biến
- Di chuyển biến
- Đối phó với các yếu tố ngoại lai
- Tạo biến mới
- Di chuyển biến
- Gắn nhãn biến
- Thay đổi tên biến
MOSL sử dụng bộ dữ liệu moslauto.dta từ phần mềm Stata để trình bày và chạy mẫu cho toàn bộ bài kiến thức này. Bộ dữ liệu gồm 2 ngân hàng ABB và ACB thu thập trong thời gian từ 2010 – 2018 với các biến giải thích gồm ROA, QM (quy mô ngân hàng), TGHĐ (tỷ giá hối đái), CPDT, VT và ND.
Hãy cùng nhau Tải về dữ liệu qua nút bự chảng dưới đây rồi thực hành xử lý dữ liệu theo nhé các bạn.
[su_button url=”http://destyy.com/eax0D9″ target=”blank” style=”3d” color=”#fefefd” size=”10″ center=”yes” radius=”20″ icon=”icon: download” text_shadow=”0px 0px 0px #000000″ desc=”Tải ngay” download=”Dữ liệu”]DỮ LIỆU MOSL.VN[/su_button]
2.1. Bỏ quan sát (Dropping observations)
Để loại bỏ các quan sát, bạn cần kết hợp một trong hai lệnh Stata (keep hoặc drop) với định tính “if”. Đảm bảo rằng bạn đã lưu tập dữ liệu ban đầu của mình trước khi bắt đầu.
- Lệnh “keep” nên được sử dụng một cách thận trọng (hoặc tránh hoàn toàn) vì nó sẽ làm mất tất cả ngoại trừ những gì bạn giữ cụ thể. Đây có thể là một vấn đề nếu bạn không chắc chắn 100% về những gì bạn muốn giữ.
- Lệnh “drop” sẽ loại bỏ khỏi tập dữ liệu của bạn những gì bạn yêu cầu Stata thả một cách cụ thể.
Bộ định tính “if” giới hạn phạm vi của lệnh đối với những quan sát mà giá trị của một biểu thức là đúng. Cú pháp để sử dụng bộ định tính này khá đơn giản:
drop if YEAR == 2017 và drop if TGHĐ == 20
![Cách xử lý dữ liệu trong Stata - Bỏ Mising value + Outliers 1 Cách xử lý dữ liệu trong stata - Bỏ quan sát](https://mosl.vn/wp-content/uploads/2022/01/image-131.png)
Kết quả thực hiện câu lệnh đã loại bỏ các quan sát của năm (YEAR) khi năm là 2017 và tỷ giá hối đoái (TGHĐ) là 20
Nếu chị muốn bỏ đi 1 hoặc nhiều biến trong mô hình thì đơn giản sử dụng câu lệnh: drop ROA TGHĐ
2.2. Chuyển đổi định dạng các biến (Transforming variables)
Đôi khi các biến không được mã hóa theo cách bạn muốn. Trong phần này, chúng ta sẽ xem xét hai phép biến đổi mà bạn có thể cần thực hiện trên một số biến trước khi sử dụng lệnh: recode và destring
Lệnh “recode” thay đổi giá trị của các biến số theo các quy tắc được chỉ định. Bạn có thể muốn mã hóa chúng thành “.” để chúng không ảnh hưởng đến bất kỳ tính toán nào mà chúng tôi dự định thực hiện với dữ liệu. Cú pháp cho lệnh này là:
recode TGHĐ ND (19 1.06=.)
![Cách xử lý dữ liệu trong Stata - Bỏ Mising value + Outliers 2 Cách xử lý dữ liệu trong stata - Đổi định dạng biến](https://mosl.vn/wp-content/uploads/2022/01/image-132.png)
Kết quả này là chuyển giá trị TGHĐ= 19 và ND=1.06 thành giá trị missing “.”
Trong tập dữ liệu MOSL, có biến BANK là tên của 2 ngân hàng “ACB” và “ABB”. Với biến BANK là biến dạng chữ tức string nên khi thực hiện hồi quy trong câu lệnh Stata bị lỗi. Nên cú pháp lệnh này sẽ làm cho biến BANK trở thành định dạng số:
destring BANK,gen(NGANHANG)
encode BANK,gen(NGANHANG)
![Cách xử lý dữ liệu trong Stata - Bỏ Mising value + Outliers 3 image 133](https://mosl.vn/wp-content/uploads/2022/01/image-133.png)
Có thể thấy cột đen BANK với giá trị dạng string màu đỏ và sau khi chuyển sang dạng số kết quả ở cột đỏ NGANHANG.
Bên cạnh đó bạn hoàn toàn có thể chuyển ngược lại biến NGANHANG đang dạng số thành dạng string với cú pháp như sau:
tostring NGANHANG,gen(BANK1)
Kết quả:
![Cách xử lý dữ liệu trong Stata - Bỏ Mising value + Outliers 4 Cách xử lý dữ liệu trong stata - Đổi định dạng biến](https://mosl.vn/wp-content/uploads/2022/01/image-134.png)
Vì chuyển từ dạng số (number) sang string nên dữ liệu sẽ được mã hoá thành các số nhưng mà dạng chữ màu đỏ.
Khám phá: Hồi quy mô hình dữ liệu bảng trong Stata như thế nào
2.3. Dịch chuyển vị trí của biến (Moving variables)
Trong một bộ dữ liệu với rất nhiều biến bên trong thì thật khó để so sánh hai biến trừ khi chúng ở cạnh nhau. Bạn có thể sử dụng lệnh “order” để di chuyển một biến (tức là di chuyển một cột trong tập dữ liệu của bạn). Nếu không được thì cài lệnh bằng ssc install order
order BANK1,after(BANK) (hoặc dùng before để đặt ở trước tuỳ bạn)
order YEAR,last
Kết quả sau khi thay đổi vị trí như sau:
![Cách xử lý dữ liệu trong Stata - Bỏ Mising value + Outliers 5 Cách xử lý dữ liệu trong stata - Dịch chuyển vị trí của biến](https://mosl.vn/wp-content/uploads/2022/01/image-135.png)
Biến BANK1 đã ở sau BANK và biến YEAR đã nằm ở cuối cùng. Easy phải không nào.
2.4. Đổi tên biến (Renaming variables)
Đổi tên thì rất dễ trong Stata, lệnh dạng như sau: rename oldname newname
Hoặc đơn giản chỉ cần dùng ren + oldname + newname cho nhanh nha.
2.5. Tạo biến mới trong Stata (Creating new variables)
Lệnh tạo biến mới thường sử dụng bằng lệnh tạo ra (generate) như sau:
gen TEST=1 if YEAR==2013 | YEAR ==2014
(14 missing values generated)
replace TEST=0 if TEST==.
(14 real changes made)
Kết quả:
![Cách xử lý dữ liệu trong Stata - Bỏ Mising value + Outliers 6 Cách xử lý dữ liệu trong stata - Tạo biến mới trong Stata](https://mosl.vn/wp-content/uploads/2022/01/image-136.png)
Kết quả tạo biến TEST bằng 1 nếu mà năm đó là năm 2013 và 2014. Sau khi tạo thì sẽ có những năm không nhận giá trị vì chỉ gọi cho năm 2013 & 2014 bị trả về giá trị “.”. Sau đó thì sẽ dùng lệnh biến đổi (replace) để tạo các biến “.” thành số 0.
2.6. Xử lý giá trị ngoại lai (Dealing with outliers)
Các giá trị outliers là một trong những bước quan trọng cần thực hiện. Các giá trị này có thể làm kết quả nghiên cứu sai lệch và hoàn toàn không tốt cho nghiên cứu của bạn (các bạn có thể tham khảo tác hại của nó tại các giáo trình thống kê hoặc kinh tế lượng để có cái nhìn tổng quát hơn).
Có 3 cách mà một quan sát được xem là không bình thường:
- Outliers: Trong hồi quy tuyến tính, một điểm outlier là một quan sát có phần dư rất lớn. Nói cách khác, một quan sát mà giá trị biến phụ thuộc của nó là không bình thường ứng với một giá trị cho trước của các biến giải thích.
- Leverage: Một quan sát với giá trị tột cùng (extreme) trong biến giải thích được gọi là một điểm có leverage cao. Leverage đo lường mức độ sai lệch (khoảng cách) so với giá trị trung bình của biến đó. Những điểm leverage này có thể ảnh hưởng đến ước lượng của các hệ số hồi quy.
- Influence: Một quan sát được cho là có ảnh hưởng nếu loại bỏ quan sát này sẽ làm thay đổi đáng kể các hệ số được ước lượng. Ảnh hưởng có thể được coi như sản phẩm của Leverage và Outlier.
Các giá trị ngoại lai là các giá trị rất lớn hoặc rất nhỏ nằm trong 1 biến và dẫn đến biến quan sát đó khi thống kê hoặc hồi quy bị sai lệch. Để phát hiện bạn chỉ cần chạy lệnh sum + biến để có cái nhìn tổng quan về biến nhằm mục đích phát hiện ra được các giá trị này.
Để loại bỏ các giá trị này, bạn có thể dùng thuật toán Winsorization trên STATA để thực hiện một cách nhanh chóng và gọn gàng.
Trước tiên, cần hiểu được biểu đồ hộp boxplot nha:
![Cách xử lý dữ liệu trong Stata - Bỏ Mising value + Outliers 7 Box Plot MTB 01](https://1.bp.blogspot.com/-vk679S6TTU0/WVR3M1MkvRI/AAAAAAAAACs/n3jupoBQnus8vELciOPQWKKYwJhuljwZgCLcBGAs/s640/Box-Plot-MTB_01.png)
Hãy bắt đầu với một ví dụ, chúng ta có một dữ liệu và sau khi vẽ đồ thị dạng hộp (box plot), bạn nhận thấy có vài giá trị “ngoại lai” là các dấu chấm tròn tách nhau bên dưới (làm cho đồ thị hộp không đều và đẹp) và muốn loại bỏ chúng.
![Cách xử lý dữ liệu trong Stata - Bỏ Mising value + Outliers 8 image 137](https://mosl.vn/wp-content/uploads/2022/01/image-137.png)
Hoặc thích thì bạn dùng vẽ biểu đồ scatter cũng được nha:
![Cách xử lý dữ liệu trong Stata - Bỏ Mising value + Outliers 9 Cách xử lý dữ liệu trong stata - Xử lý giá trị ngoại lai](https://mosl.vn/wp-content/uploads/2022/01/image-139.png)
Kết quả biểu đồ scatter cũng cho các giá trị không đều (nét đứt không liền) ở giá trị đầu và cuối như đồ thị Boxplot như trên.
Trước tiên, cần phải tải và cài đặt câu lệnh Winsorization vào Stata bằng lệnh: ssc install winsor2
Giả sử bạn cần loại bỏ các giá trị outliers cho biến x1 trong file data, bạn có 2 cách tiến hành
- Cách 1: Vì giá trị ngoại lai thường là các giá trị lớn nhất hoặc nhỏ nhất trong biến nên đối với các quan sát có giá trị bé hơn 5% và 95% percentile sẽ bị loại bỏ bằng lệnh:
winsor2 x1, replace cuts(5 95) trim
- Cách 2: Các quan sát có giá trị bé hơn 5% percentile sẽ được thay thế bằng giá trị 5% percentile, Các quan sát có giá trị lớn hơn 95% percentile sẽ được thay thế bằng giá trị tại 95% percentile:
winsor2 x1, replace cuts(5 95)
Lưu ý:
+ Bạn có thể tùy biến giá trị trong ngoặc đơn (chẳng hạn 1% hoặc 99% percentile). Đa phần trong các papers, tác giả sử dụng mức 5 và 95
+ Bạn có thể tiến hành trên nhiều biến khác nhau chỉ với 1 lệnh (Ví dụ: winsor2 x1 x2 x3 x4, replace cuts(5 95))
Sau khi đã hoàn thành quá trình winsorize như trên, bạn có thể trình bày biểu đồ hộp của biến x1 vừa rồi:
![Cách xử lý dữ liệu trong Stata - Bỏ Mising value + Outliers 10 Cách xử lý dữ liệu trong stata - Xử lý giá trị ngoại lai](https://mosl.vn/wp-content/uploads/2022/01/image-138.png)
Lần này các giá trị ngoại đã không còn xuất hiện và dữ liệu của bạn đã “sạch” hơn so với ban đầu nên yên tâm sử dụng các thống kê và hồi quy trong mô hình.
3. Tổng kết bài viết “Cách xử lý dữ liệu trong Stata”
Bài viết trên MOSL đã trình bày cho các bạn cách Tổng hợp các cách xử lý dữ liệu trong stata; Cùng với các cách xử lý dữ liệu trong stata cơ bản gồm cách bỏ quan sát; chuyển đổi format các biến; dịch chuyển vị trí của biến; đổi tên biến; tạo biến mới; xử lý giá trị ngoại lai trong Stata.
Cuối bài, MOSL xin chúc các bạn học tập và làm việc hiệu quả!
Xem thêm: Dịch vụ Stata của Mosl.vn
[su_box title=”Liên hệ: ” style=”glass” box_color=” #51d7bb “] Hotline: 0707.33.9698 hoặc Mail: sales@mosl.vn | Fanpage: Mentor Of Số Liệu – Mosl.vn . ĐIỀN THÔNG TIN ĐỂ NHẬN TƯ VẤN ngay Tại đây [/su_box]
Tag: Cách xử lý dữ liệu trong Stata | Cách xử lý dữ liệu trong Stata | Cách xử lý dữ liệu trong Stata | Cách xử lý dữ liệu trong Stata