
Trong các bài viết trước, chúng ta đã sử dụng phương thức `read_stata()` để đọc toàn bộ các tập dữ liệu của Stata vào các data frame của pandas. Điều này hoạt động hiệu quả khi bạn muốn đọc toàn bộ một tập dữ liệu của Stata vào Python. Tuy nhiên, đôi khi chúng ta muốn đọc một tập con của các biến số hoặc các quan sát, hoặc cả hai, từ một tập dữ liệu của Stata vào Python. Bài viết này sẽ giới thiệu mô-đun Giao diện Chức năng của Stata (SFI) và chỉ cho bạn cách sử dụng nó để đọc các tập dữ liệu một phần vào một data frame của pandas.
Nếu bạn chưa quen với Python, việc tham khảo bốn bài viết đầu tiên trong chuỗi tích hợp Stata/Python có thể hữu ích trước khi tiếp tục.
Sử Dụng Mô-đun SFI Để Chuyển Dữ Liệu Từ Stata Sang Python
SFI là một mô-đun Python cho phép bạn truyền thông tin qua lại giữa Stata và Python. Bạn có thể sao chép toàn bộ hoặc một phần các tập dữ liệu, data frame, macro cục bộ và toàn cục, scalar và ma trận, thậm chí cả ma trận Mata toàn cục. Có quá nhiều tính năng để trình bày trong một bài blog. Vì vậy, hôm nay chúng ta sẽ tìm hiểu một tính năng mà bạn có thể sẽ sử dụng: đọc các tập dữ liệu Stata một phần vào Python. Chúng ta sẽ khám phá thêm các tính năng khác của SFI trong các bài viết sau.

Trong bài viết trước, chúng ta đã tìm hiểu cách cài đặt các thư viện Python bằng pip. Hôm nay, chúng ta sẽ đi sâu vào những thao tác cơ bản nhất để nạp và sử dụng các thư viện này ngay trong môi trường Stata. Thông qua các ví dụ thực hành với thư viện pandas, bài viết sẽ giúp bạn nắm vững những khái niệm quan trọng cùng cú pháp cốt lõi có thể áp dụng cho hầu hết thư viện Python hiện nay.
Kiểm tra và nạp thư viện Python
Thư viện pandas là một công cụ rất phổ biến dùng để xử lý, nhập và xuất dữ liệu trong Python. Thư viện này chứa nhiều module khác nhau phục vụ công việc tương tác với các cấu trúc dữ liệu như series hay data frame.
Trước tiên, bạn có thể kiểm tra xem pandas đã được cài đặt trên hệ thống hay chưa bằng câu lệnh sau trong Stata:

Bạn vừa huấn luyện một máy tăng cường gradient (GBM) và một bộ phân loại rừng ngẫu nhiên (RF) trên dữ liệu của mình bằng cách sử dụng bộ lệnh h2oml mới của Stata. Mô hình GBM của bạn đạt độ chính xác 87% trên dữ liệu kiểm định, trong khi mô hình RF đạt 85%. Có vẻ như GBM là bộ phân loại ưu tiên, phải không? Khoan đã.
Tại Sao Độ Chính Xác Thôi Là Chưa Đủ
Độ chính xác, diện tích dưới đường cong, và sai số căn bậc hai trung bình là những chỉ số phổ biến, nhưng chúng chỉ cung cấp các ước lượng điểm. Những con số này phản ánh mức độ tốt của một mô hình khi hoạt động trên một mẫu kiểm định cụ thể, nhưng chúng không tính đến biến thiên có thể phát sinh từ mẫu này sang mẫu khác. Nói cách khác, chúng không trả lời câu hỏi cốt lõi này: liệu sự khác biệt về hiệu suất giữa các phương pháp này có duy trì ở cấp độ tổng thể, hay nó chỉ có thể xảy ra do ngẫu nhiên trong tập dữ liệu kiểm định cụ thể này?
Khi so sánh các phương pháp như GBM và RF, một vài phần trăm điểm khác biệt về hiệu suất có thể chưa đủ thuyết phục. Nếu không xem xét mức độ kết quả có thể thay đổi trên các mẫu khác nhau, thật khó để biết liệu một phương pháp có liên tục vượt trội hơn phương pháp kia hay liệu sự khác biệt quan sát được chỉ là sản phẩm của biến thiên ngẫu nhiên trong dữ liệu. Các kiểm định thống kê là yếu tố cần thiết trong vấn đề này, vì chúng cung cấp một khuôn khổ để đánh giá liệu các khác biệt quan sát được có khả năng tồn tại trong tổng thể hay không.

Trong bài viết trước, chúng ta đã khám phá ba phương pháp cơ bản để thực thi mã Python trực tiếp trong Stata. Mặc dù các ví dụ ban đầu khá đơn giản, chúng đã tạo nền tảng vững chắc để bạn bắt đầu kết hợp hai công cụ này. Tuy nhiên, sức mạnh thực sự của Python lại đến từ hệ sinh thái hàng nghìn thư viện mã nguồn mở phong phú. Bài viết này sẽ hướng dẫn bạn chi tiết cách quản lý, tải xuống và cài đặt các thư viện Python để mở rộng tối đa khả năng xử lý dữ liệu trong Stata.
Kiểm tra cấu hình Python trong Stata
Trước khi tiến hành cài đặt các gói mở rộng, chúng ta cần xác nhận rằng Python đã được tích hợp chính xác vào hệ thống và Stata đã sẵn sàng làm việc với môi trường này. Từ cửa sổ lệnh của Stata, bạn hãy chạy lệnh kiểm tra cấu hình: