messenger_logo
Liên hệ qua Messenger
SciEco

Tích hợp stata và python phần 3: cách cài đặt các thư viện python

I
IEFPA
Ngày viết: 28/07/2026

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:

1python query

Kết quả trả về sẽ cho biết trạng thái khởi tạo, phiên bản Python đang dùng, kiến trúc hệ điều hành và đường dẫn thư mục. Khi hệ thống xác nhận trạng thái đã sẵn sàng, chúng ta có thể chuyển sang bước cài đặt thư viện.

Cài đặt thư viện bằng công cụ pip

NumPy là thư viện cốt lõi dành cho tính toán khoa học trong Python. Rất nhiều thư viện phân tích nâng cao khác phụ thuộc vào các tính năng toán học của NumPy. Hãy kiểm tra xem NumPy đã có sẵn trên máy tính của bạn hay chưa bằng lệnh:

1python which numpy

Nếu màn hình báo lỗi không tìm thấy mô-đun, điều đó có nghĩa là thư viện này chưa được cài đặt. Để cài đặt mới, chúng ta cần mở cửa sổ dòng lệnh của hệ điều hành. Trong Stata, bạn chỉ cần gõ lệnh shell (hoặc dùng ký hiệu chấm cảm tương đương).

Cửa sổ dòng lệnh sẽ xuất hiện. Lúc này, chúng ta sẽ sử dụng trình quản lý gói pip. Để đảm bảo gói mới được cài đúng vào thư mục Python mà Stata đang liên kết, bạn nên kiểm tra phiên bản và đường dẫn của pip bằng lệnh:

1pip -V

Hãy đối chiếu đường dẫn của pip với đường dẫn hiển thị ở bước kiểm tra hệ thống ban đầu. Khi hai đường dẫn khớp nhau hoàn toàn, bạn gõ lệnh sau để tải và cài đặt NumPy:

1pip install numpy

Khi quá trình cài đặt hoàn tất, bạn có thể quay lại giao diện Stata và chạy lại lệnh kiểm tra để xác nhận vị trí lưu trữ của NumPy:

1python which numpy

Cài đặt các thư viện phân tích dữ liệu quan trọng khác

Để phục vụ cho các bài phân tích chuyên sâu hơn trong tương lai, chúng ta sẽ tiến hành cài đặt thêm ba thư viện phổ biến khác:

Pandas: Thư viện chuyên dụng cho việc nhập, xuất, làm sạch và biến đổi dữ liệu bảng.

1pip install pandas

Matplotlib: Bộ công cụ toàn diện giúp khởi tạo các dạng biểu đồ tĩnh, biểu đồ động và đồ thị tương tác.

1pip install matplotlib

Scikit-learn: Thư viện tiêu chuẩn dành cho các bài toán học máy và xây dựng mô hình dự báo.

1pip install sklearn

Sau khi hoàn thành cài đặt, bạn hãy dùng các lệnh kiểm tra trong Stata để đảm bảo tất cả thư viện đã sẵn sàng hoạt động:

1python which pandas
2python which matplotlib
3python which sklearn

Nếu đường dẫn của từng thư viện hiển thị đầy đủ trên màn hình kết quả, bạn đã thiết lập thành công môi trường làm việc kết hợp giữa Stata và các công cụ mạnh mẽ nhất của Python.

✨ Luôn kiểm tra đường dẫn của pip trước khi cài đặt gói mới nếu máy tính của bạn cài đặt nhiều phiên bản Python khác nhau. Việc này đảm bảo thư viện mới sẽ nằm đúng trong môi trường mà Stata đang liên kết, tránh trường hợp cài đặt thành công nhưng Stata vẫn không nhận diện được.

Bài tập thực hành: Bạn hãy mở cửa sổ dòng lệnh từ Stata và tiến hành cài đặt thư viện Seaborn (thư viện hỗ trợ trực quan hóa dữ liệu thống kê nâng cao). Sau khi cài đặt xong, hãy viết lệnh trong Stata để xác nhận vị trí lưu trữ của thư viện này trên hệ thống.


Bài viết khác
Trong hành trình phát triển các lệnh ước lượng chuyên sâu trong Stata, việc tích hợp mã nguồn từ ngôn ngữ khác như C, C++ hay Java mở ra một thế giới mới về hiệu suất và khả năng tùy biến. Một trong những kỹ thuật mạnh mẽ nhất là viết plugin — hay còn gọi là thư viện liên kết động (DLL) — để tận dụng sức mạnh của C trong môi trường Stata. Bài viết này là phần thứ hai trong chuỗi chuyên đề “Viết một lệnh ước lượng trong Stata”, tiếp nối bài trước về việc chuẩn bị viết plugin. Ở đây, chúng ta sẽ xây dựng một plugin C thực hiện chính xác các phép tính mà hàm mymean_work() trong tệp mymean11.ado đã làm. Mục tiêu không chỉ là minh họa cách giao tiếp giữa C và Stata, mà còn cung cấp một nền tảng vững chắc cho các tính toán hiệu suất cao trong các mô hình kinh tế lượng phức tạp. Viết một plugin C đơn giản: “Hello, C!” Trước khi tiến vào tính toán thực tế, hãy bắt đầu bằng một ví dụ đơn giản: một plugin C hiển thị thông điệp “Hello from C” trong cửa sổ Stata. Mã nguồn cho myhello.ado được trình bày như sau:
Trong bài viết trước, chúng ta đã xây dựng một đường ống phân tích văn bản sử dụng quanteda. Quy trình đó tạo ra ma trận đặc trưng văn bản (DFM), áp dụng trọng số TF-IDF và đo lường sự tương đồng qua cosine similarity. Tuy nhiên, phương pháp này bộc lộ một hạn chế căn bản: cosine similarity tính trên các vector TF-IDF thưa chỉ phản ánh sự trùng lặp từ vựng, chứ không nắm bắt được ý nghĩa ngữ nghĩa. Xét ví dụ hai câu: "Người vay nợ không thực hiện nghĩa vụ trả nợ" và "Khách hàng không đáp ứng được cam kết trả nợ". Sau khi loại từ dừng, chúng không chia sẻ từ vựng nào, dẫn đến độ tương đồng TF-IDF gần như bằng 0. Dù vậy, bất kỳ аналитик nào cũng nhận ra chúng mang ý nghĩa như nhau. Giải pháp nằm ở vector nhúng dày đặc (dense embeddings) — biểu diễn thần kinh nơi các văn bản mang ý nghĩa gần nhau được ánh xạ đến các vị trí lân cận trong không gian vectơ. Nhờ đó, chúng ta có thể đo lường sự tương đồng ngữ nghĩa ngay cả khi không có từ chung. Bài viết này sẽ hướng dẫn xây dựng một đường ống Tạo sinh tăng cường truy xuất (RAG) trong R, sử dụng ragnar cho kho truy xuất và ellmer cho tương tác mô hình ngôn ngữ lớn (LLM), minh họa sức mạnh của nhúng dày đặc trong truy xuất và sinh câu trả lời. Toàn bộ quy trình chạy cục bộ nhờ Ollama.
SciEco
Science for Economics
Định hướng đào tạo phân tích dữ liệu, xây dựng chính sách, tối ưu hoá danh mục tài chính cá nhân và dự báo thị trường.
Liên hệ
Địa chỉ: Số 60, ngõ 41, Phố Thái Hà, Trung Liệt, Đống Đa, Hà Nội (Google Map)
Email: [email protected]
Hotline: 03.57.94.7680 (Mrs. Hà)
Mạng xã hội