Một số tính năng nổi bật trên Dofile Stata 16
Khả năng tích hợp Python và chế độ soạn thảo thông minh
Phiên bản Stata 16 mới với nhiều tính năng mạnh mẽ trong phân tích dữ liệu và ước lượng mô hình. Một trong những tính năng nổi bật đó là khả năng tích hợp Python. Python có thể được tương tác trực tiếp qua lệnh python trên khung lệnh, có thể tích hợp trong dofile cũng như các adofile để thực hiện những xử lý phức tạp.
Tính năng nổi bật trên dofile
Sau đây là một số tính năng nổi bật trên dofile của Stata 16.
- Tính năng làm nổi bật (highlight) cú pháp cho Stata, Python và Markdown.
- Cung cấp chế độ tự động hoàn thành. Trình soạn thảo tự động hoàn thành các từ đã tồn tại trong tài liệu, tự động hoàn thành các lệnh Stata và tự động hoàn thành các trích dẫn, đóng mở các cặp dấu ngoặc.
- Sử dụng khoảng trắng để thụt lề cũng như các tab.
- Hỗ trợ cho chế độ tối (dark mode) cũng như khả năng sửa đổi màu cho tất cả các thành phần văn bản và giao diện trong trình soạn thảo.
Ví dụ tính năng tự động hoàn thành
meta là lệnh mới của Stata để thực hiện phân tích meta. meta có các câu lệnh con. Sau khi meta được gỏ, nó sẽ hiển thị một danh sách xổ xuống để chọn các lệnh con. Chúng ta có thể bỏ qua danh sách và tiếp tục gõ.
Tự động hoàn thành có nghĩa không đợi cho đến khi chúng ta đã nhập meta để hiển thị các lựa chọn. Tính năng này có thể thực hiện cho hơn 900 lệnh Stata. Khi chúng ta đã gõ hai chữ cái đầu tiên, me, nó hiển thị danh sách 29 lệnh bắt đầu hai từ này. Sau khi chúng tôi gõ t, danh sách được rút ngắn xuống còn 13 bắt đầu bằng met.
Tích hợp Python trong Stata
Trong Stata 16, bạn có thể nhúng và thực thi mã Python từ Stata. Lệnh python mới của Stata cung cấp một bộ các lệnh con cho phép bạn dễ dàng gọi Python từ Stata và xuất kết quả Python trong Stata. Stata 16 hỗ trợ cả Python 2 và Python 3 bắt đầu từ Python 2.7.
Bạn có thể gọi Python qua câu lệnh hoặc qua dofile và adofile để bạn có thể tận dụng các tính năng ngôn ngữ mở rộng của Python. Bạn cũng có thể chạy các file thực thi Python (.py) trực tiếp thông qua Stata.
Ngoài ra, mô đun Python Giao diện chức năng Stata (Stata Function Interface -sfi) cũng được tích hợp. Nó cung cấp một kết nối hai chiều giữa Stata và Python, cho phép bạn tương tác các tính năng của Python với các tính năng cốt lõi của Stata. Trong mô đun này, các lớp được xác định để cung cấp quyền truy cập vào bộ dữ liệu, khung dữ liệu, macro, đại lượng vô hướng, ma trận, nhãn giá trị,…
Ví dụ tương tác với Python qua lệnh python
Bạn có thể nhập python trong cửa sổ lệnh Stata để vào môi trường Python. Cách thức tương tác tương tự như sử dụng Mata của Stata như hình sau:
Ví dụ thực thi Python trong dofile
Rất đơn giản để nhúng mã Python trong một tập tin. Tất cả những gì bạn cần làm là đặt mã Python trong khối python và end.
Chúng tôi sẽ sử dụng bộ dữ liệu Iris nổi tiếng như một minh họa. Bộ dữ liệu này được sử dụng trong bài viết của Fisher (1936). Dữ liệu bao gồm bốn đặc tính được đo trên 50 mẫu từ ba loài hoa Iris. Bốn đặc tính của hoa là chiều dài và chiều rộng của cánh hoa và đài hoa. Ba loài là Iris setosa, Iris Verscolor và Iris virginica.
Mục tiêu của chúng tôi là xây dựng một bộ phân loại sử dụng 4 tính năng để nhận dạng loại Iris. Ở đây chúng ta sẽ sử dụng trình phân loại SVM trong gói Python scikit-learn để đạt được mục tiêu này. Lưu ý rằng các bạn cần cài đặt các gói Matplotlib, sklearn và NumPy trong bản cài đặt Python hiện tại của bạn để chạy ví dụ sau. Chúng tôi đặt đoạn mã sau vào dofile và thực thi mã:
Trong đoạn mã trên, chúng tôi đã làm như sau:
- Cài các module, hàm và đối tượng chúng ta sẽ sử dụng.
- Gán bốn tính năng và 3 loại vào hai mảng NumPy X và y tương ứng.
- Vẽ một đồ thị phân tán 3D bằng Matplotlib.
- Xây dựng một trình phân loại SVC để xác định tiêu chí phân loại trong gói sklearn và ước lượng mô hình.
- Đưa ra dự đoán cho bộ dữ liệu bằng cách sử dụng dữ liệu cần phân loại.
- Lưu trữ các dự đoán vào một biến mới irispr trong Stata.
- Quay lại Stata, gắn nhãn giá trị của iris lên irispr và sử dụng lệnh tabulate để hiển thị bảng phân loại.
Chúng tôi đã lưu toàn bộ mã lệnh ở trên trong samplepy.do và chạy
do samplepy.do
Kết quả, một đồ thị phân tán 3D sẽ được hiển thị như hình bên dưới. Quá đẹp đẽ phải không nào!
Ngoài ra, mã Python cũng có thể được nhúng và thực thi trong các tệp ado của Stata.
Tham khảo chính
- https://www.stata.com/new-in-stata/do-file-editor-autocompletion/
- https://www.stata.com/new-in-stata/python-integration/
- https://www.stata.com/manuals/ppython.pdf