messenger_logo
Liên hệ qua Messenger
SciEco

Tạo dữ liệu tổng hợp với r-vine copulas thông qua esgtoolkit trong r

I
IEFPA
Ngày viết: 30/03/2026

R-vine copulas là một công cụ phân tích mạnh mẽ giúp mô hình hóa sự phụ thuộc phức tạp giữa nhiều biến số trong một tập dữ liệu. Việc tạo ra dữ liệu tổng hợp nhằm phục vụ cho kiểm thử mô hình hoặc chia sẻ thông tin mà không làm lộ dữ liệu nhạy cảm đang trở thành một nhu cầu thiết yếu. Gói esgtoolkit trong R cung cấp một giao diện trực quan và tối ưu để huấn luyện các mô hình R-vine copula, đồng thời mô phỏng sinh ra dữ liệu mới bảo toàn chặt chẽ các đặc tính thống kê của dữ liệu gốc.

Chuẩn bị môi trường và dữ liệu đầu vào

Để bắt đầu, chúng ta cần cài đặt gói esgtoolkit từ kho lưu trữ. Trong bài viết này, tập dữ liệu chuỗi thời gian EuStockMarkets bao gồm các chỉ số chứng khoán châu Âu như DAX, SMI, CAC và FTSE sẽ được sử dụng làm minh họa. Dữ liệu này được chuyển đổi sang dạng tỷ suất sinh lợi logarit thông qua hàm có sẵn của gói.

1devtools::install_github("Techtonique/esgtoolkit")
2library(esgtoolkit)
3y <- esgtoolkit::calculatereturns(ts(EuStockMarkets[1:250, ], start=start(EuStockMarkets), frequency=frequency(EuStockMarkets)), type = "log")

Huấn luyện mô hình và chạy mô phỏng

Sau khi đã có dữ liệu tỷ suất sinh lợi, bước tiếp theo là cấu hình và chạy mô phỏng bằng hàm simulate_rvine. Thuật toán sẽ tự động chuyển đổi dữ liệu sang dạng phân phối chuẩn hóa và tìm kiếm cấu trúc cây R-vine copula phù hợp nhất. Quá trình này tính toán qua nhiều vòng lặp để chọn ra kết quả có điểm đánh giá chất lượng cao nhất.

1result <- simulate_rvine(y, n = 500, verbose = TRUE, n_trials = 5)
2print(result)

Hệ thống sẽ ghi nhận quá trình khớp mô hình và trả về các thông số cụ thể của cấu trúc D-vine. Các chỉ số như logLik, AIC và BIC được sử dụng để đánh giá độ khít của mô hình. Mỗi cạnh của cây copula sẽ được gán một họ phân phối cụ thể như SBB7, N hoặc SG cùng với các tham số tương quan tau của Kendall. Quá trình mô phỏng trải qua năm lần thử nghiệm, hệ thống sẽ chọn ra bộ dữ liệu có sai số tương quan thấp nhất.

Phân tích và đánh giá chất lượng dữ liệu tổng hợp

Dữ liệu sinh ra cần được đánh giá kỹ lưỡng để đảm bảo nó phản ánh đúng hành vi của dữ liệu gốc. Bạn có thể gọi các hàm vẽ biểu đồ cơ bản để trực quan hóa sự phân phối hoặc ma trận tương quan giữa các biến số.

1plot(result, type = "distribution")
2plot(result, type = "correlation")

Bên cạnh việc quan sát qua biểu đồ, phần tử diagnostics trong kết quả trả về cung cấp một danh sách chi tiết các ma trận sai số. Hệ thống tính toán sự chênh lệch giữa ma trận tương quan của dữ liệu gốc và dữ liệu tổng hợp theo cả hai phương pháp Kendall tau và Pearson. Giá trị sai số tuyệt đối trung bình càng nhỏ, cùng với p-value cao trong các bài kiểm định phân phối, chứng tỏ dữ liệu mô phỏng càng sát với thực tế.

1str(result$diagnostics)
2sim_data <- result$simulated_data
3head(sim_data)

Kết quả xuất ra sẽ là một bảng dữ liệu mới gồm các cột DAX, SMI, CAC và FTSE với năm trăm quan sát, mang đầy đủ tính chất của thị trường tài chính ban đầu nhưng hoàn toàn là các con số được tổng hợp nhân tạo.

✨ Việc ứng dụng R-vine copulas kết hợp với kỹ thuật chọn lọc vòng lặp nhiều lần giúp giảm thiểu tối đa sự biến dạng của ma trận tương quan, giải quyết triệt để bài toán mất mát thông tin khi sinh dữ liệu nhân tạo cho các chuỗi thời gian tài chính phức tạp.

Dựa vào danh sách kết quả diagnostics, bạn sẽ làm cách nào để quyết định xem việc tăng số vòng lặp mô phỏng lên hai mươi lần có thực sự cải thiện đáng kể sai số tương quan Pearson hay chỉ làm tăng chi phí tính toán phần cứng?


Bài viết khác
Stata cung cấp một phương thức đơn giản và tinh tế để thực hiện các mô hình hồi quy Bayes bằng cách thêm tiền tố bayes vào trước các lệnh ước lượng. Với hơn 45 lệnh được hỗ trợ, người dùng có thể linh hoạt lựa chọn giữa các phân phối tiền nghiệm mặc định hoặc tự thiết lập theo nhu cầu nghiên cứu. Trong bài viết này, chúng ta sẽ tìm hiểu cách áp dụng hồi quy logistic Bayes và khám phá sức mạnh của phân phối tiền nghiệm Cauchy đối với các hệ số hồi quy. Một thách thức phổ biến khi làm việc với Bayes là việc lựa chọn phân phối tiền nghiệm. Cách tiếp cận thận trọng thường dùng các tiền nghiệm yếu hoặc không có thông tin để đảm bảo tính khách quan dựa trên dữ liệu. Tuy nhiên, các tiền nghiệm không có thông tin đôi khi không đủ để giải quyết những vấn đề như hiện tượng phân tách hoàn hảo trong hồi quy logistic. Ngược lại, nếu không có kiến thức chuyên gia sâu sắc, việc chọn tiền nghiệm có thông tin cũng không hề dễ dàng. Dựa trên khuyến nghị của Gelman và các cộng sự, việc sử dụng phân phối tiền nghiệm Cauchy thông tin yếu là một giải pháp cân bằng hiệu quả. Chuẩn bị dữ liệu và chuẩn hóa Chúng ta sử dụng bộ dữ liệu Iris nổi tiếng để phân loại hoa. Biến phụ thuộc virg phân biệt loài Iris virginica với các loài khác. Các biến độc lập bao gồm chiều dài và chiều rộng của đài hoa và cánh hoa. Theo khuyến nghị của các nhà nghiên cứu, các biến độc lập nên được chuẩn hóa để có trung bình bằng 0 và độ lệch chuẩn bằng 0.5 trước khi áp dụng phân phối tiền nghiệm Cauchy.
Trong bài viết này, bạn sẽ tìm hiểu kiểm định t là gì và cách thực hiện phương pháp này trong ngôn ngữ lập trình r. Đầu tiên, chúng ta sẽ làm quen với một hàm đơn giản giúp thực hiện kiểm định chỉ với một dòng mã nguồn. Sau đó, chúng ta sẽ cùng khám phá bản chất của kiểm định thông qua việc xây dựng từng bước với dữ liệu thực tế về hành khách tàu Titanic. Kiểm định t là gì Kiểm định t là một quy trình thống kê được sử dụng để kiểm tra xem sự khác biệt giữa hai nhóm có ý nghĩa hay chỉ là do ngẫu nhiên. Trong bài viết này, chúng ta sẽ xem xét dữ liệu từ các hành khách trên tàu Titanic, chia họ thành hai nhóm nam và nữ. Giả sử chúng ta muốn kiểm tra giả thuyết rằng nam giới và nữ giới có độ tuổi trung bình như nhau. Nếu dữ liệu cho thấy phụ nữ trẻ hơn nam giới trung bình 2 tuổi, chúng ta cần đặt câu hỏi: liệu đây là một sự khác biệt thực sự hay chỉ là sự trùng hợp ngẫu nhiên? Kiểm định t sẽ giúp chúng ta trả lời câu hỏi đó. Tại sao kiểm định t lại quan trọng
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: science.for.economics@gmail.com
Hotline: 03.57.94.7680 (Mrs. Hà)
Mạng xã hội