Logo Zephyrnet

DoWhy của Microsoft là một khuôn khổ tuyệt vời cho suy luận nhân quả

Ngày:

DoWhy của Microsoft là một khuôn khổ tuyệt vời cho suy luận nhân quả

Lấy cảm hứng từ phép tính suy luận nhân quả của Judea Pearl, khung nguồn mở cung cấp giao diện có lập trình cho các phương pháp suy luận nhân quả phổ biến.


Gần đây tôi đã bắt đầu một bản tin mới tập trung vào giáo dục AI. TheSequence là bản tin không có BS (nghĩa là không cường điệu, không tin tức, v.v.) bản tin tập trung vào AI, mất 5 phút để đọc. Mục đích là giúp bạn cập nhật các dự án máy học, các bài nghiên cứu và khái niệm. Vui lòng dùng thử bằng cách đăng ký bên dưới:

Hình ảnh

Trí óc con người có khả năng đặc biệt trong việc liên kết các nguyên nhân với một sự kiện cụ thể. Từ kết quả của một cuộc bầu cử đến việc một đồ vật rơi xuống sàn, chúng ta liên tục liên kết những chuỗi sự kiện gây ra một hiệu ứng cụ thể. Tâm lý học thần kinh gọi khả năng nhận thức này là lý luận nhân quả. Khoa học máy tính và kinh tế nghiên cứu một dạng lý luận nhân quả cụ thể được gọi là suy luận nhân quả, tập trung vào việc khám phá mối quan hệ giữa hai biến quan sát. Trong những năm qua, học máy đã tạo ra nhiều phương pháp suy luận nhân quả nhưng hầu hết chúng vẫn khó sử dụng trong các ứng dụng chính thống. Gần đây, Microsoft Research Do Why có nguồn mở, một khuôn khổ cho tư duy và phân tích nhân quả.

Thách thức đối với suy luận nhân quả không phải là một môn học mới, hoàn toàn ngược lại, mà là các phương pháp hiện tại thể hiện một phiên bản rất nhỏ và đơn giản của lý luận nhân quả. Hầu hết các mô hình cố gắng kết nối các nguyên nhân như hồi quy tuyến tính đều dựa vào phân tích thực nghiệm để đưa ra một số giả định về dữ liệu. Suy luận nhân quả thuần túy dựa trên phân tích phản thực tế, đây là sự thể hiện gần gũi hơn với cách con người đưa ra quyết định. Hãy tưởng tượng một kịch bản trong đó bạn đang đi du lịch cùng gia đình trong kỳ nghỉ đến một điểm đến không xác định. Trước và sau kỳ nghỉ, bạn đang phải vật lộn với một số câu hỏi phản thực tế:

Hình ảnh cho bài viết

Trả lời những câu hỏi này là trọng tâm của suy luận nhân quả. Không giống như học có giám sát, suy luận nhân quả phụ thuộc vào việc ước tính các đại lượng không quan sát được. Điều này thường được gọi là “vấn đề cơ bản” của suy luận nhân quả, ngụ ý rằng một mô hình không bao giờ có đánh giá khách quan thuần túy thông qua một bộ thử nghiệm được tổ chức. Trong ví dụ về kỳ nghỉ của chúng tôi, bạn có thể quan sát tác động của việc đi nghỉ hoặc không đi nghỉ nhưng không bao giờ được cả hai. Thử thách này buộc phải suy luận nhân quả để đưa ra các giả định quan trọng về quá trình tạo dữ liệu. Các khung học máy truyền thống để suy luận nhân quả cố gắng đi đường tắt xung quanh “vấn đề cơ bản”, dẫn đến trải nghiệm rất khó chịu cho các nhà khoa học và nhà phát triển dữ liệu.

Giới thiệu Dowhy

Dowhy của Microsoft là một thư viện dựa trên Python để suy luận và phân tích nhân quả nhằm cố gắng hợp lý hóa việc áp dụng lý luận nhân quả trong các ứng dụng học máy. Lấy cảm hứng từ phép tính suy luận nhân quả của Judea Pearl, Do Why kết hợp một số phương pháp suy luận nhân quả theo một mô hình lập trình đơn giản giúp loại bỏ nhiều sự phức tạp của các phương pháp truyền thống. So với những phiên bản trước, Do Why có ba đóng góp quan trọng trong việc triển khai các mô hình suy luận nhân quả.

  1. Cung cấp một cách nguyên tắc để mô hình hóa một vấn đề nhất định dưới dạng biểu đồ nhân quả sao cho tất cả các giả định đều rõ ràng.
  2. Cung cấp một giao diện thống nhất cho nhiều phương pháp suy luận nhân quả phổ biến, kết hợp hai khung chính của mô hình đồ họa và các kết quả tiềm năng.
  3. Tự động kiểm tra tính hợp lệ của các giả định nếu có thể và đánh giá mức độ chắc chắn của ước tính đối với các vi phạm.

Về mặt khái niệm, Do Why được tạo ra theo hai nguyên tắc hướng dẫn: yêu cầu các giả định nguyên nhân rõ ràng và kiểm tra tính chắc chắn của các ước tính đối với việc vi phạm các giả định đó. Nói cách khác, Do Why tách việc xác định tác động nhân quả khỏi việc ước tính mức độ liên quan của nó, điều này cho phép suy luận về các mối quan hệ nhân quả rất phức tạp.

Để hoàn thành mục tiêu của mình, Do Why mô hình hóa bất kỳ vấn đề suy luận nhân quả nào trong quy trình làm việc với bốn bước cơ bản: lập mô hình, xác định, ước tính và bác bỏ.

Hình ảnh cho bài viết

  1. Model: Do Why mô hình hóa từng vấn đề bằng cách sử dụng biểu đồ các mối quan hệ nhân quả. Phiên bản hiện tại của Do Why hỗ trợ hai định dạng cho đầu vào biểu đồ: gml (ưu tiên) và dot. Biểu đồ có thể bao gồm kiến ​​thức trước đây về mối quan hệ nhân quả giữa các biến số nhưng Do Why không đưa ra bất kỳ giả định tức thời nào.
  2. Nhận định: Bằng cách sử dụng biểu đồ đầu vào, Do Why tìm ra tất cả các cách có thể để xác định tác động nhân quả mong muốn dựa trên mô hình đồ họa. Nó sử dụng các tiêu chí dựa trên biểu đồ và phép tính để tìm ra những cách tiềm năng tìm ra các biểu thức có thể xác định tác động nhân quả
  3. Ước tính: Do Why ước tính tác động nhân quả bằng cách sử dụng các phương pháp thống kê như biến đối sánh hoặc biến công cụ. Phiên bản hiện tại của Do Why hỗ trợ các phương pháp ước tính dựa trên phân tầng dựa trên xu hướng hoặc so sánh điểm xu hướng tập trung vào ước tính phân công điều trị cũng như các kỹ thuật hồi quy tập trung vào ước tính bề mặt phản ứng.
  4. Kiểm chứng: Cuối cùng, Do Why sử dụng các phương pháp xác thực khác nhau để xác minh tính hợp lệ của tác động nhân quả.

Sử dụng Dowhy

 
Các nhà phát triển có thể bắt đầu sử dụng Do Why bằng cách cài đặt mô-đun Python bằng lệnh sau:

python setup.py install


Giống như bất kỳ chương trình học máy nào khác, bước đầu tiên của ứng dụng Do Why là tải tập dữ liệu. Trong ví dụ này, hãy tưởng tượng rằng chúng ta đang cố gắng suy ra mối tương quan giữa các phương pháp điều trị y tế khác nhau và kết quả được thể hiện bằng tập dữ liệu sau.

Treatment Outcome w0
0 2.964978 5.858518 -3.173399
1 3.696709 7.945649 -1.936995
2 2.125228 4.076005 -3.975566
3 6.635687 13.471594 0.772480
4 9.600072 19.577649 3.922406


Do Why dựa vào các khung dữ liệu gấu trúc để thu thập dữ liệu đầu vào:

rvar = 1 if np.random.uniform() >0.5 else 0 data_dict = dowhy.datasets.xy_dataset(10000, effect=rvar, sd_error=0.2) df = data_dict['df']
print(df[["Treatment", "Outcome", "w0"]].head())


Tại thời điểm này, chúng ta chỉ cần khoảng bốn bước để suy ra mối quan hệ nhân quả giữa các biến. Bốn bước tương ứng với bốn hoạt động của Do Why: mô hình hóa, ước tính, suy luận và bác bỏ. Chúng ta có thể bắt đầu bằng cách mô hình hóa vấn đề dưới dạng biểu đồ nhân quả:

model= CausalModel( data=df, treatment=data_dict["treatment_name"], outcome=data_dict["outcome_name"], common_causes=data_dict["common_causes_names"], instruments=data_dict["instrument_names"])
model.view_model(layout="dot")
from IPython.display import Image, display
display(Image(filename="causal_model.png"))


Bước tiếp theo là xác định mối quan hệ nhân quả trong biểu đồ:

identified_estimand = model.identify_effect()


Bây giờ chúng ta có thể ước tính tác động nhân quả và xác định xem ước tính đó có đúng hay không. Ví dụ này sử dụng hồi quy tuyến tính để đơn giản:

estimate = model.estimate_effect(identified_estimand, method_name="backdoor.linear_regression")
# Plot Slope of line between treamtent and outcome =causal effect
dowhy.plotter.plot_causal_effect(estimate, df[data_dict["treatment_name"]], df[data_dict["outcome_name"]])


Cuối cùng, chúng ta có thể sử dụng kỹ thuật khác để bác bỏ ước lượng nhân quả:

res_random=model.refute_estimate(identified_estimand, estimate, method_name="random_common_cause")


Do Why là một khuôn khổ rất đơn giản và hữu ích để triển khai các mô hình suy luận nhân quả. Phiên bản hiện tại có thể được sử dụng như một thư viện độc lập hoặc được tích hợp vào các framework deep learning phổ biến như TensorFlow hoặc PyTorch. Sự kết hợp của nhiều phương pháp suy luận nhân quả trong một khuôn khổ duy nhất và mô hình lập trình đơn giản gồm bốn bước giúp cho việc sử dụng Do Why cực kỳ đơn giản đối với nhà khoa học dữ liệu để giải quyết các vấn đề suy luận nhân quả.

 
Nguyên. Đăng lại với sự cho phép.

Liên quan:

Nguồn: https://www.kdnuggets.com/2020/08/microsoft-dowhy-framework-causal-inference.html

tại chỗ_img

Tin tức mới nhất

tại chỗ_img