Khi nói đến việc ra quyết định dựa trên dữ liệu, nhiều chuyên gia trong ngành vẫn băn khoăn rằng các thuật toán dự đoán thường dùng không phải lúc nào cũng đáng tin cậy. Ví dụ, lượng sôcôla tiêu thụ bình quân đầu người dự đoán khá tốt số người đoạt giải Nobel của một quốc gia, và tồn tại tương quan giữa doanh số kem và các vụ cá mập tấn công. Tuy nhiên, điều đó không có nghĩa là ta nên dụ thật nhiều cá mập vào bãi biển để thúc đẩy việc kinh doanh kem.
Vấn đề đặt ra ở đây, dĩ nhiên, là khái niệm quen thuộc “tương quan không hàm ý nhân quả.” Chỉ vì hai biến có tương quan không có nghĩa là ta có thể dùng một biến để tác động lên biến kia. Cả hai hiện tượng có thể do một biến thứ ba chi phối, chẳng hạn “thời tiết nắng đẹp” trong ví dụ về cá mập và doanh số kem, đóng vai trò nguyên nhân chung của cả hai. Đồng thời, hiểu rõ nguyên nhân gốc rễ của hiện tượng và sử dụng phân tích dữ liệu để thúc đẩy thay đổi là nhiệm vụ then chốt với bất kỳ doanh nghiệp nào. Đó là lý do nhiều doanh nghiệp dẫn đầu như Microsoft, Amazon, Uber, Spotify, McKinsey và nhiều đơn vị khác đã bắt đầu đầu tư mạnh vào năng lực causal AI của họ.
Hướng dẫn này bao quát một số khái niệm và ý tưởng nền tảng của causal AI bằng thư viện DoWhy trong Python. Suy luận nhân quả khác biệt khá nhiều về mặt khái niệm so với học máy tiêu chuẩn, nên đa số mọi người sẽ bắt đầu với nền tảng hạn chế. Tuy vậy, kiến thức cơ bản về phân tích hồi quy và mô hình thống kê sẽ hữu ích để theo dõi. Nếu bạn mới làm quen với phân tích hồi quy hoặc cần ôn tập, hãy cân nhắc khóa học Giới thiệu Mô hình tuyến tính trong Python của DataCamp.
Bạn cũng có thể khám phá sự khác biệt giữa mô hình dự đoán và mô hình nhân quả trong khóa học của DataCamp, Machine Learning for Business.
Các khối xây dựng của Causal AI
Khi nói đến suy luận nhân quả, ta cần có tư duy khác với học máy và phân tích dự đoán tiêu chuẩn.
Nhà triết học Nancy Cartwright đã nói: “Không đưa nguyên nhân vào thì cũng không thể nhận được nguyên nhân ra.” Nghĩa là chúng ta cần đưa ra các giả định về cấu trúc nhân quả chi phối hiện tượng đang nghiên cứu để thu được câu trả lời mang tính nhân quả. Một cách tiếp cận thuần dữ liệu sẽ không đủ.
Điều này lúc đầu nghe có vẻ vòng vo, nhưng thực ra không phải vậy.
Nếu chúng ta muốn biết liệu tương quan giữa tiêu thụ sôcôla và số lượng người đoạt Nobel có mang tính nhân quả hay không, ta cần loại trừ các lời giải thích thay thế. Những lời giải thích đó tạo nên tri thức nhân quả mà ta không phải lúc nào cũng tìm thấy trong dữ liệu, mà phải đưa từ bên ngoài vào.
Giả sử chúng ta đang cân nhắc áp dụng chính sách làm việc tại nhà (WFH) mới và muốn biết liệu điều đó có ảnh hưởng đến năng suất nhân viên hay không. Phân tích ban đầu cho thấy các thành viên làm việc tại nhà hoàn thành nhiều nhiệm vụ hơn mỗi ngày.
Tuy nhiên, liệu chúng ta có thể chắc chắn rằng tương quan này sẽ còn giữ nguyên khi chính sách được áp dụng cho tất cả mọi người? Nói cách khác, ta có thể chắc rằng mối quan hệ giữa WFH và năng suất là quan hệ nhân quả không?
Một mô hình nhân quả đơn giản cho bối cảnh này có thể như sau.
Chúng ta giả định làm việc tại nhà có ảnh hưởng đến năng suất, nhưng chưa rõ chiều hướng hay mức độ tác động. Đồng thời, có thể tồn tại các nguyên nhân khác lý giải vì sao người làm việc tại nhà lại có năng suất cao hơn.
Nhân viên có con nhỏ hoặc người hướng nội, không chịu được tiếng ồn ở văn phòng không gian mở lớn, có thể chọn làm việc tại nhà thường xuyên hơn vì thuận tiện. Bản thân những biến này có thể liên quan đến năng suất, khiến chúng trở thành các nguyên nhân chung có thể là nguồn gốc của tương quan.
Để diễn đạt rõ tất cả các giả định này, chúng ta thể hiện chúng trong cái gọi là đồ thị nhân quả, một biểu diễn đồ họa dùng để mô hình hóa mối quan hệ giữa các biến trong một hệ thống, tập trung cụ thể vào quan hệ nhân quả.
Bạn sẽ thấy một số giả định có thể khá mạnh trong bối cảnh thực tế. Ưu điểm lớn là đồ thị nhân quả khiến các giả định và tri thức sẵn có trở nên rất minh bạch, nhưng ta luôn phải sẵn sàng chất vấn và tinh chỉnh chúng để tăng độ tin cậy cho phân tích.
Bắt đầu với DoWhy trong Python
Thư viện DoWhy của Microsoft, phát triển hợp tác với Amazon Web Services trong hệ sinh thái PyWhy, đang nhanh chóng trở thành tiêu chuẩn công nghiệp cho phân tích nhân quả trong thế giới Python. Ta có thể dùng DoWhy để mô phỏng một tập dữ liệu theo mô hình nhân quả ở trên, minh họa một số bước nền tảng trong quy trình suy luận nhân quả. Trước hết, cần cài đặt DoWhy vào môi trường của chúng ta.
!pip install git+https://github.com/microsoft/dowhy.gitĐược hỗ trợ bởi
Sau khi xong, ta có thể nạp các thư viện cần thiết.
import numpy as np
import pandas as pd
import dowhyĐược hỗ trợ bởi
Giờ hãy tự tạo một tập dữ liệu. Lợi ích lớn của việc dùng dữ liệu mô phỏng khi học causal AI là ta kiểm soát hoàn toàn quá trình sinh dữ liệu và biết “sự thật nền tảng”, điều không có được với dữ liệu thực tế.
Ta đặt hiệu ứng nhân quả đúng bằng một (beta=1), chỉ định hai nguyên nhân chung, và tạo mười nghìn mẫu theo các quan hệ tuyến tính đơn giản giữa các biến trong mô hình.
Biến điều trị mà ta xem xét được đặt ở dạng nhị phân, nghĩa là chỉ nhận giá trị 0 hoặc 1.
Trước đó, ta thiết lập một điểm gốc cố định cho việc sinh số ngẫu nhiên - using np.random.seed(1) - để cho phép tái tạo chính xác tập dữ liệu.
from dowhy import CausalModel
import dowhy.datasets
# Set seed to enable exact replication
np.random.seed(1)# Simulate sample data
data = dowhy.datasets.linear_dataset(
beta=1,
num_common_causes=2,
num_discrete_common_causes=1,
num_instruments=1,
num_samples=10000,
treatment_is_binary=True)
df = data['df']Được hỗ trợ bởi
DoWhy gán các nhãn như sau:
Bảng 1
Nhãn
Biến
Loại
Giá trị trung bình
v0
Biến điều trị, là biến chính được quan tâm trong phân tích của chúng ta (làm việc tại nhà)
Nhị phân
0.608
y
Kết quả quan tâm (năng suất)
Liên tục
1.583
W0
Tính hướng nội
Liên tục
-0.148
W1
Số con
Phân loại
1.5
Z0
Một biến công cụ chỉ ảnh hưởng đến v0 chứ không ảnh hưởng đến y (đóng cửa tàu điện ngầm)
Nhị phân
0.281
Tại đây, chúng ta đã ngầm định một đồ thị nhân quả bằng cách đặt kiểu điều trị và số lượng nguyên nhân chung. DoWhy lưu đối tượng đồ thị theo ngôn ngữ DOT, giúp ta thuận tiện chỉ định đồ thị nhân quả có hướng (digraph) của riêng mình khi làm việc với dữ liệu thực.
Cuối cùng, ta kết hợp tất cả thông tin này vào một mô hình nhân quả duy nhất.
# Create a causal model from the data and given graph.
model=CausalModel(
data = df,
treatment=data['treatment_name'],
outcome=data['outcome_name'],
graph=data['gml_graph'])Được hỗ trợ bởi
Khai mở sức mạnh của Causal AI
Trước khi thực hiện phân tích nhân quả, hãy so sánh với cách tiếp cận ngây thơ dựa trên một thuật toán dự đoán tuyến tính đơn giản sẽ cho ta điều gì.
# Run a linear regression of column y on v0 in dfimport statsmodels.api as sm
X = df['v0'].astype(float)
y = df['y'].astype(float)
X = sm.add_constant(X)
ols = sm.OLS(y, X).fit()# Display a more parsimonious results summaryprint(ols.summary().tables[1])Được hỗ trợ bởi
Hệ số dốc trong hồi quy hai biến bằng 1.298. Tuy nhiên, ta biết hiệu ứng nhân quả thực sự bằng một, vì ta đã tạo dữ liệu theo cách đó.
Điều này ngụ ý rằng hai nguyên nhân chung, tính hướng nội và việc có con, vốn cùng ảnh hưởng đến năng suất và khả năng làm việc tại nhà, đã dẫn tới đánh giá cao hơn gần 30% trong trường hợp này.
May mắn là, miễn là ta có dữ liệu về các biến này, ta có thể dễ dàng xử lý sai lệch đó bằng cách đưa các nguyên nhân chung vào phân tích đa biến.
Trong tài liệu về causal AI, điều này được gọi là tiêu chuẩn cửa sau. Ta muốn kiểm soát tất cả các biến trong đồ thị nhân quả có mũi tên hướng vào biến điều trị. Chúng “đi vào từ cửa sau” và do đó có thể tạo ra tương quan giả giữa biến điều trị và kết quả không mang tính nhân quả. Trong ví dụ của chúng ta, điều này áp dụng cho tính hướng nội và số con.
WFH <— Tính hướng nội —> Năng suất
WFH <— Con cái —> Năng suất
DoWhy cung cấp nhiều thuật toán có thể dùng để xác định liệu một hiệu ứng nhân quả mong muốn có thể nhận dạng được khi cho trước một mô hình nhân quả cụ thể hay không.
# Check whether causal effect is identified and return target estimands
identified_estimand = model.identify_effect()Được hỗ trợ bởi
Không bất ngờ, trong mô hình nhân quả đơn giản về tác động của làm việc tại nhà, việc nhận dạng nhân quả là khả thi.
Tiếp theo, ta có thể tập trung vào ước lượng, tức là quá trình định lượng hiệu ứng mục tiêu bằng dữ liệu hiện có.
DoWhy cung cấp nhiều thuật toán để lựa chọn, bao gồm hồi quy, ghép cặp, phân tầng và ước lượng theo trọng số. Vì dữ liệu cơ bản chúng ta mô phỏng dựa trên các quan hệ tuyến tính, một hồi quy đơn giản là đủ. Nếu cần ôn tập, khóa Giới thiệu Hồi quy với statsmodels trong Python của DataCamp có thể giúp bạn.
Tuy nhiên, để phân tích mang tính tổng quát hơn, chúng ta sẽ dùng trọng số xác suất nghịch, vốn cũng xử lý được dữ liệu phi tuyến.
# Estimate the causal effect using inverse probability weighting
estimate = model.estimate_effect(identified_estimand,
method_name="backdoor.propensity_score_weighting")Được hỗ trợ bởi
DoWhy trả về ước lượng hiệu ứng nhân quả bằng 1.001. Dĩ nhiên, con số cụ thể không quá ý nghĩa trong bối cảnh mô phỏng này. Tuy nhiên, điều quan trọng là kết quả rất gần với giá trị thực là một. So với hồi quy ta chạy trước đó, sai lệch đã giảm tới 99,6%.
Kiểm thử độ vững của kết quả
Đó là những kết quả ấn tượng, nhưng ta không nên dừng lại ở đây.
Nguyên tắc “không đưa nguyên nhân vào thì không có nguyên nhân ra” cho ta biết rằng mọi phân tích nhân quả chỉ tốt tương đương với những giả định ta đưa vào.
Ví dụ, làm sao chắc rằng chỉ có tính hướng nội và con cái ảnh hưởng đến WFH, như mô hình nhân quả đơn giản của ta quy định?
Để tăng tự tin vào các giả định, DoWhy cung cấp cho ta cả một bộ kiểm định bác bỏ cho phép kiểm thử sức chịu đựng của phân tích, bao gồm nhưng không giới hạn ở kiểm định trên mẫu con hoặc điều trị giả dược.
# Check sensitivity of obtained estimate to unobserved confounders
refute_results = model.refute_estimate(identified_estimand, estimate,
method_name="add_unobserved_common_cause")Được hỗ trợ bởi
Hãy xem điều gì xảy ra nếu ta thêm một nguyên nhân chung khác bên cạnh tính hướng nội và con cái.
Lần này, ta không có dữ liệu về biến này, nên nó sẽ không quan sát được. Ước lượng của ta đáng tin cậy tới đâu? Đáng tiếc, câu trả lời không mấy yên tâm.
Biểu đồ ở Hình 2 minh họa ảnh hưởng đáng kể mà các nguyên nhân chung không quan sát được có thể gây ra cho hiệu ứng nhân quả ước lượng, dao động từ -0.222 đến 1.003. Khoảng này rộng tới mức có thể khiến ước lượng tăng gấp đôi.
Tuy vậy, điều này cũng không quá bất ngờ. Các cơ chế nhân quả thay thế liên quan tới biến không quan sát được mà ta không thể tính tới trong phân tích sẽ luôn là vấn đề trong nghiên cứu nhân quả.
May mắn là có một cách khác để đạt được nhận dạng trong bối cảnh này, và DoWhy đủ thông minh để tìm ra cho chúng ta.
Tìm kiếm chiến lược nhân quả thay thế
Dù nhân viên hướng nội và người có con có thể làm việc tại nhà thường xuyên hơn, vẫn có thể có những yếu tố quyết định WFH khác không liên quan đến năng suất.
Giả sử có sự gián đoạn lớn trong giao thông công cộng, một tuyến tàu điện ngầm ở thành phố phải đóng cửa trong ba tháng. Hệ quả là những nhân viên sống gần tuyến đó có xu hướng làm việc tại nhà nhiều hơn, dù bình thường họ thích đến văn phòng.
Ta có thể minh họa mô hình nhân quả mở rộng này như sau.
Trong trường hợp này, việc đóng cửa tàu điện ngầm đóng vai trò một biến công cụ.
Trực giác mà nói, việc đóng cửa tạo ra một cú sốc đối với lịch trình đi lại, hình thành một dạng thí nghiệm tự nhiên.
Trong ba tháng, những người sống gần tuyến bị gián đoạn sẽ làm việc tại nhà thường xuyên hơn, nhưng điều này không có quan hệ nào khác với năng suất của họ. Bạn có thể nhận thấy chúng ta đã đưa một biến công cụ như vậy, Z0, vào khi tạo bộ dữ liệu mô phỏng ở trên bằng cách đặt tùy chọn num_instruments=1. Hàm identify_effect() của DoWhy sau đó có thể tự động tìm các biến công cụ phù hợp trong đồ thị nhân quả cho chúng ta.
iv_estimate = model.estimate_effect(identified_estimand,
method_name="iv.instrumental_variable")Được hỗ trợ bởi
Sau khi ước lượng, ta thấy hiệu ứng nhân quả là 0.920. Kết quả này kém chính xác hơn chiến lược cửa sau một chút nhưng vẫn chính xác hơn nhiều so với cách dự đoán ngây thơ.
Ước lượng biến công cụ có lợi thế vì không dựa vào giả định về số lượng nguyên nhân chung không quan sát được giữa WFH và năng suất.
Vì vậy, dù ước lượng có thể kém chính xác hơn, chúng vững vàng hơn nhờ các giả định yếu hơn. Đây là đánh đổi phổ biến trong phân tích nhân quả.
Tiếp theo là gì?
DoWhy là điểm khởi đầu tuyệt vời để làm quen với causal AI. Đây là một thư viện mạnh mẽ đầu-cuối cung cấp một quy trình suy luận nhân quả linh hoạt, dẫn dắt người dùng qua các bước thiết yếu.
Khi đã nắm được quy trình cơ bản, bạn có thể tiến tới các chủ đề nâng cao như khám phá nhân quả và tăng cường phân tích với các thư viện bổ sung như DoubleML, hoặc daggity, ggdag và pcalg trong R. Khi đã thoải mái với những kiến thức cơ bản, bạn có thể khám phá các chủ đề nâng cao hơn trong suy luận nhân quả. Khóa học Advanced Causal Inference with R của DataCamp là bước tiếp theo tuyệt vời.
Suy luận nhân quả mang đến một góc nhìn mới cho phân tích dữ liệu. Hầu hết các cách tiếp cận đều phụ thuộc vào việc hiểu đồ thị nhân quả hoặc các giả định nhân quả khác. Bí quyết là chọn kỹ thuật và giả định phù hợp với tình huống cụ thể của bạn. Điều này đòi hỏi kiến thức bên ngoài và chuyên môn lĩnh vực.
Vì vậy, sẽ là ý hay nếu bạn tham vấn các chuyên gia marketing hoặc chuyên viên nhân sự để lấy ý kiến của họ về một vấn đề cụ thể và xem họ có thể giúp bạn xây dựng một mô hình phù hợp hay không.
Tri thức nhân quả rất quan trọng trong nhiều bối cảnh kinh doanh. Chúng ta cần hiểu, chẳng hạn, liệu đợt ra mắt sản phẩm mới có thành công hay không, hoặc chiến lược quảng cáo hiệu quả đến mức nào.
Việc rút ra câu trả lời nhân quả từ dữ liệu có thể khó hơn huấn luyện một thuật toán dự đoán đơn giản, nhưng hoàn toàn xứng đáng. Và các thư viện như DoWhy cung cấp cho bạn một bộ công cụ tuyệt vời để giúp tìm ra giải pháp phù hợp nhất với nhu cầu.
Nếu bạn thấy hướng dẫn này hữu ích và háo hức áp dụng các kỹ thuật causal AI vào dự án của riêng mình, đây là lúc tuyệt vời để đào sâu hiểu biết. Trong khóa học toàn diện Machine Learning for Business, bạn sẽ học không chỉ về mô hình dự đoán mà còn cả các mô hình nhân quả giúp bạn ra quyết định kinh doanh tốt hơn.
Paul Hünermund là Phó Giáo sư về Chiến lược và Đổi mới tại Copenhagen Business School. Trong nghiên cứu của mình, Tiến sĩ Hünermund tìm hiểu cách các doanh nghiệp có thể tận dụng các công nghệ mới trong lĩnh vực học máy và trí tuệ nhân tạo để tạo ra giá trị và lợi thế cạnh tranh. Công trình của ông khám phá khả năng thiên lệch trong quá trình ra quyết định của tổ chức và những cách để nhà quản lý khắc phục chúng. Qua đó, ông làm sáng tỏ nguồn gốc của các chiến lược kinh doanh hiệu quả trên những thị trường có mức độ cạnh tranh công nghệ cao và các hệ quả đối với tăng trưởng kinh tế cũng như tính bền vững môi trường.
Các công trình của ông đã được công bố trên The Journal of Management Studies, Econometrics Journal, Research Policy, Journal of Product Innovation Management, International Journal of Industrial Organization, MIT Sloan Management Review và Harvard Business Review, cùng nhiều ấn phẩm khác. Tác phẩm của ông được đưa tin bởi Frankfurter Allgemeine Zeitung, Süddeutsche Zeitung, Politiken và Neue Zürcher Zeitung. Tiến sĩ Hünermund là thành viên ban biên tập của Journal of Causal Inference và tham gia ban điều hành bộ phận Quản lý Công nghệ và Đổi mới tại Academy of Management. Ông nhận bằng Tiến sĩ kinh tế kinh doanh tại KU Leuven (Bỉ) và tốt nghiệp Đại học Mannheim (Đức) với bằng thạc sĩ kinh tế.
Jermain Kaminski là Phó Giáo sư về Khởi nghiệp và Đổi mới tại Đại học Maastricht. Trong nghiên cứu của mình, ông kết hợp học máy và xử lý ngôn ngữ tự nhiên, với trọng tâm vào dữ liệu văn bản, âm thanh và video trong lĩnh vực khởi nghiệp. Đáng chú ý, nghiên cứu hiện tại của ông tập trung vào ra quyết định chiến lược, đi sâu vào tác động của học máy nhân quả đối với quá trình ra quyết định. Công trình của ông cùng các đồng tác giả đã được công bố trên Journal of Business Venturing, Journal of Business Venturing Insights, Journal of Product Innovation Management, Small Business Economics, ACM Conference on Human Factors in Computing Systems, Harvard Business Review, cùng nhiều ấn phẩm khác.
Jermain từng học tại Đại học Witten/Herdecke (Đức) và Viện Công nghệ Massachusetts, Hoa Kỳ. Tại MIT, ông là nghiên cứu sinh và nhà nghiên cứu thỉnh giảng tại MIT Center for Collective Intelligence thuộc Trường Quản trị Sloan và MIT Media Lab. Jermain hoàn thành nghiên cứu sinh tiến sĩ tại Đại học RWTH Aachen. Ông là đồng sáng lập và đồng chủ trì Causal Data Science Meeting (causalscience.org).
Khi nói đến việc ra quyết định dựa trên dữ liệu, nhiều chuyên gia trong ngành vẫn băn khoăn rằng các thuật toán dự đoán thường dùng không phải lúc nào cũng đáng tin cậy. Ví dụ, lượng sôcôla tiêu thụ bình quân đầu người dự đoán khá tốt số người đoạt giải Nobel của một quốc gia, và tồn tại tương quan giữa doanh số kem và các vụ cá mập tấn công. Tuy nhiên, điều đó không có nghĩa là ta nên dụ thật nhiều cá mập vào bãi biển để thúc đẩy việc kinh doanh kem.
Vấn đề đặt ra ở đây, dĩ nhiên, là khái niệm quen thuộc “tương quan không hàm ý nhân quả.” Chỉ vì hai biến có tương quan không có nghĩa là ta có thể dùng một biến để tác động lên biến kia. Cả hai hiện tượng có thể do một biến thứ ba chi phối, chẳng hạn “thời tiết nắng đẹp” trong ví dụ về cá mập và doanh số kem, đóng vai trò nguyên nhân chung của cả hai. Đồng thời, hiểu rõ nguyên nhân gốc rễ của hiện tượng và sử dụng phân tích dữ liệu để thúc đẩy thay đổi là nhiệm vụ then chốt với bất kỳ doanh nghiệp nào. Đó là lý do nhiều doanh nghiệp dẫn đầu như Microsoft, Amazon, Uber, Spotify, McKinsey và nhiều đơn vị khác đã bắt đầu đầu tư mạnh vào năng lực causal AI của họ.
Hướng dẫn này bao quát một số khái niệm và ý tưởng nền tảng của causal AI bằng thư viện DoWhy trong Python. Suy luận nhân quả khác biệt khá nhiều về mặt khái niệm so với học máy tiêu chuẩn, nên đa số mọi người sẽ bắt đầu với nền tảng hạn chế. Tuy vậy, kiến thức cơ bản về phân tích hồi quy và mô hình thống kê sẽ hữu ích để theo dõi. Nếu bạn mới làm quen với phân tích hồi quy hoặc cần ôn tập, hãy cân nhắc khóa học Giới thiệu Mô hình tuyến tính trong Python của DataCamp.
Bạn cũng có thể khám phá sự khác biệt giữa mô hình dự đoán và mô hình nhân quả trong khóa học của DataCamp, Machine Learning for Business.
Các khối xây dựng của Causal AI
Khi nói đến suy luận nhân quả, ta cần có tư duy khác với học máy và phân tích dự đoán tiêu chuẩn.
Nhà triết học Nancy Cartwright đã nói: “Không đưa nguyên nhân vào thì cũng không thể nhận được nguyên nhân ra.” Nghĩa là chúng ta cần đưa ra các giả định về cấu trúc nhân quả chi phối hiện tượng đang nghiên cứu để thu được câu trả lời mang tính nhân quả. Một cách tiếp cận thuần dữ liệu sẽ không đủ.
Điều này lúc đầu nghe có vẻ vòng vo, nhưng thực ra không phải vậy.
Nếu chúng ta muốn biết liệu tương quan giữa tiêu thụ sôcôla và số lượng người đoạt Nobel có mang tính nhân quả hay không, ta cần loại trừ các lời giải thích thay thế. Những lời giải thích đó tạo nên tri thức nhân quả mà ta không phải lúc nào cũng tìm thấy trong dữ liệu, mà phải đưa từ bên ngoài vào.
Giả sử chúng ta đang cân nhắc áp dụng chính sách làm việc tại nhà (WFH) mới và muốn biết liệu điều đó có ảnh hưởng đến năng suất nhân viên hay không. Phân tích ban đầu cho thấy các thành viên làm việc tại nhà hoàn thành nhiều nhiệm vụ hơn mỗi ngày.
Tuy nhiên, liệu chúng ta có thể chắc chắn rằng tương quan này sẽ còn giữ nguyên khi chính sách được áp dụng cho tất cả mọi người? Nói cách khác, ta có thể chắc rằng mối quan hệ giữa WFH và năng suất là quan hệ nhân quả không?
Lưu ý: Biểu đồ được tạo bởi causalfusion.net
Một mô hình nhân quả đơn giản cho bối cảnh này có thể như sau.
Chúng ta giả định làm việc tại nhà có ảnh hưởng đến năng suất, nhưng chưa rõ chiều hướng hay mức độ tác động. Đồng thời, có thể tồn tại các nguyên nhân khác lý giải vì sao người làm việc tại nhà lại có năng suất cao hơn.
Nhân viên có con nhỏ hoặc người hướng nội, không chịu được tiếng ồn ở văn phòng không gian mở lớn, có thể chọn làm việc tại nhà thường xuyên hơn vì thuận tiện. Bản thân những biến này có thể liên quan đến năng suất, khiến chúng trở thành các nguyên nhân chung có thể là nguồn gốc của tương quan.
Để diễn đạt rõ tất cả các giả định này, chúng ta thể hiện chúng trong cái gọi là đồ thị nhân quả, một biểu diễn đồ họa dùng để mô hình hóa mối quan hệ giữa các biến trong một hệ thống, tập trung cụ thể vào quan hệ nhân quả.
Bạn sẽ thấy một số giả định có thể khá mạnh trong bối cảnh thực tế. Ưu điểm lớn là đồ thị nhân quả khiến các giả định và tri thức sẵn có trở nên rất minh bạch, nhưng ta luôn phải sẵn sàng chất vấn và tinh chỉnh chúng để tăng độ tin cậy cho phân tích.
Bắt đầu với DoWhy trong Python
Thư viện DoWhy của Microsoft, phát triển hợp tác với Amazon Web Services trong hệ sinh thái PyWhy, đang nhanh chóng trở thành tiêu chuẩn công nghiệp cho phân tích nhân quả trong thế giới Python. Ta có thể dùng DoWhy để mô phỏng một tập dữ liệu theo mô hình nhân quả ở trên, minh họa một số bước nền tảng trong quy trình suy luận nhân quả. Trước hết, cần cài đặt DoWhy vào môi trường của chúng ta.
Sau khi xong, ta có thể nạp các thư viện cần thiết.
Giờ hãy tự tạo một tập dữ liệu. Lợi ích lớn của việc dùng dữ liệu mô phỏng khi học causal AI là ta kiểm soát hoàn toàn quá trình sinh dữ liệu và biết “sự thật nền tảng”, điều không có được với dữ liệu thực tế.
Ta đặt hiệu ứng nhân quả đúng bằng một (beta=1), chỉ định hai nguyên nhân chung, và tạo mười nghìn mẫu theo các quan hệ tuyến tính đơn giản giữa các biến trong mô hình.
Biến điều trị mà ta xem xét được đặt ở dạng nhị phân, nghĩa là chỉ nhận giá trị 0 hoặc 1.
Trước đó, ta thiết lập một điểm gốc cố định cho việc sinh số ngẫu nhiên -
using np.random.seed(1)- để cho phép tái tạo chính xác tập dữ liệu.DoWhy gán các nhãn như sau:
Bảng 1
Nhãn
Biến
Loại
Giá trị trung bình
v0
Biến điều trị, là biến chính được quan tâm trong phân tích của chúng ta (làm việc tại nhà)
Nhị phân
0.608
y
Kết quả quan tâm (năng suất)
Liên tục
1.583
W0
Tính hướng nội
Liên tục
-0.148
W1
Số con
Phân loại
1.5
Z0
Một biến công cụ chỉ ảnh hưởng đến v0 chứ không ảnh hưởng đến y (đóng cửa tàu điện ngầm)
Nhị phân
0.281
Tại đây, chúng ta đã ngầm định một đồ thị nhân quả bằng cách đặt kiểu điều trị và số lượng nguyên nhân chung. DoWhy lưu đối tượng đồ thị theo ngôn ngữ DOT, giúp ta thuận tiện chỉ định đồ thị nhân quả có hướng (digraph) của riêng mình khi làm việc với dữ liệu thực.
Cuối cùng, ta kết hợp tất cả thông tin này vào một mô hình nhân quả duy nhất.
Khai mở sức mạnh của Causal AI
Trước khi thực hiện phân tích nhân quả, hãy so sánh với cách tiếp cận ngây thơ dựa trên một thuật toán dự đoán tuyến tính đơn giản sẽ cho ta điều gì.
Hệ số dốc trong hồi quy hai biến bằng 1.298. Tuy nhiên, ta biết hiệu ứng nhân quả thực sự bằng một, vì ta đã tạo dữ liệu theo cách đó.
Điều này ngụ ý rằng hai nguyên nhân chung, tính hướng nội và việc có con, vốn cùng ảnh hưởng đến năng suất và khả năng làm việc tại nhà, đã dẫn tới đánh giá cao hơn gần 30% trong trường hợp này.
May mắn là, miễn là ta có dữ liệu về các biến này, ta có thể dễ dàng xử lý sai lệch đó bằng cách đưa các nguyên nhân chung vào phân tích đa biến.
Trong tài liệu về causal AI, điều này được gọi là tiêu chuẩn cửa sau. Ta muốn kiểm soát tất cả các biến trong đồ thị nhân quả có mũi tên hướng vào biến điều trị. Chúng “đi vào từ cửa sau” và do đó có thể tạo ra tương quan giả giữa biến điều trị và kết quả không mang tính nhân quả. Trong ví dụ của chúng ta, điều này áp dụng cho tính hướng nội và số con.
WFH <— Tính hướng nội —> Năng suất
WFH <— Con cái —> Năng suất
DoWhy cung cấp nhiều thuật toán có thể dùng để xác định liệu một hiệu ứng nhân quả mong muốn có thể nhận dạng được khi cho trước một mô hình nhân quả cụ thể hay không.
Không bất ngờ, trong mô hình nhân quả đơn giản về tác động của làm việc tại nhà, việc nhận dạng nhân quả là khả thi.
Tiếp theo, ta có thể tập trung vào ước lượng, tức là quá trình định lượng hiệu ứng mục tiêu bằng dữ liệu hiện có.
DoWhy cung cấp nhiều thuật toán để lựa chọn, bao gồm hồi quy, ghép cặp, phân tầng và ước lượng theo trọng số. Vì dữ liệu cơ bản chúng ta mô phỏng dựa trên các quan hệ tuyến tính, một hồi quy đơn giản là đủ. Nếu cần ôn tập, khóa Giới thiệu Hồi quy với statsmodels trong Python của DataCamp có thể giúp bạn.
Tuy nhiên, để phân tích mang tính tổng quát hơn, chúng ta sẽ dùng trọng số xác suất nghịch, vốn cũng xử lý được dữ liệu phi tuyến.
DoWhy trả về ước lượng hiệu ứng nhân quả bằng 1.001. Dĩ nhiên, con số cụ thể không quá ý nghĩa trong bối cảnh mô phỏng này. Tuy nhiên, điều quan trọng là kết quả rất gần với giá trị thực là một. So với hồi quy ta chạy trước đó, sai lệch đã giảm tới 99,6%.
Kiểm thử độ vững của kết quả
Đó là những kết quả ấn tượng, nhưng ta không nên dừng lại ở đây.
Nguyên tắc “không đưa nguyên nhân vào thì không có nguyên nhân ra” cho ta biết rằng mọi phân tích nhân quả chỉ tốt tương đương với những giả định ta đưa vào.
Ví dụ, làm sao chắc rằng chỉ có tính hướng nội và con cái ảnh hưởng đến WFH, như mô hình nhân quả đơn giản của ta quy định?
Để tăng tự tin vào các giả định, DoWhy cung cấp cho ta cả một bộ kiểm định bác bỏ cho phép kiểm thử sức chịu đựng của phân tích, bao gồm nhưng không giới hạn ở kiểm định trên mẫu con hoặc điều trị giả dược.
Hãy xem điều gì xảy ra nếu ta thêm một nguyên nhân chung khác bên cạnh tính hướng nội và con cái.
Lần này, ta không có dữ liệu về biến này, nên nó sẽ không quan sát được. Ước lượng của ta đáng tin cậy tới đâu? Đáng tiếc, câu trả lời không mấy yên tâm.
Biểu đồ ở Hình 2 minh họa ảnh hưởng đáng kể mà các nguyên nhân chung không quan sát được có thể gây ra cho hiệu ứng nhân quả ước lượng, dao động từ -0.222 đến 1.003. Khoảng này rộng tới mức có thể khiến ước lượng tăng gấp đôi.
Tuy vậy, điều này cũng không quá bất ngờ. Các cơ chế nhân quả thay thế liên quan tới biến không quan sát được mà ta không thể tính tới trong phân tích sẽ luôn là vấn đề trong nghiên cứu nhân quả.
May mắn là có một cách khác để đạt được nhận dạng trong bối cảnh này, và DoWhy đủ thông minh để tìm ra cho chúng ta.
Tìm kiếm chiến lược nhân quả thay thế
Dù nhân viên hướng nội và người có con có thể làm việc tại nhà thường xuyên hơn, vẫn có thể có những yếu tố quyết định WFH khác không liên quan đến năng suất.
Giả sử có sự gián đoạn lớn trong giao thông công cộng, một tuyến tàu điện ngầm ở thành phố phải đóng cửa trong ba tháng. Hệ quả là những nhân viên sống gần tuyến đó có xu hướng làm việc tại nhà nhiều hơn, dù bình thường họ thích đến văn phòng.
Ta có thể minh họa mô hình nhân quả mở rộng này như sau.
Trong trường hợp này, việc đóng cửa tàu điện ngầm đóng vai trò một biến công cụ.
Trực giác mà nói, việc đóng cửa tạo ra một cú sốc đối với lịch trình đi lại, hình thành một dạng thí nghiệm tự nhiên.
Trong ba tháng, những người sống gần tuyến bị gián đoạn sẽ làm việc tại nhà thường xuyên hơn, nhưng điều này không có quan hệ nào khác với năng suất của họ. Bạn có thể nhận thấy chúng ta đã đưa một biến công cụ như vậy, Z0, vào khi tạo bộ dữ liệu mô phỏng ở trên bằng cách đặt tùy chọn
num_instruments=1. Hàmidentify_effect()của DoWhy sau đó có thể tự động tìm các biến công cụ phù hợp trong đồ thị nhân quả cho chúng ta.Sau khi ước lượng, ta thấy hiệu ứng nhân quả là 0.920. Kết quả này kém chính xác hơn chiến lược cửa sau một chút nhưng vẫn chính xác hơn nhiều so với cách dự đoán ngây thơ.
Ước lượng biến công cụ có lợi thế vì không dựa vào giả định về số lượng nguyên nhân chung không quan sát được giữa WFH và năng suất.
Vì vậy, dù ước lượng có thể kém chính xác hơn, chúng vững vàng hơn nhờ các giả định yếu hơn. Đây là đánh đổi phổ biến trong phân tích nhân quả.
Tiếp theo là gì?
DoWhy là điểm khởi đầu tuyệt vời để làm quen với causal AI. Đây là một thư viện mạnh mẽ đầu-cuối cung cấp một quy trình suy luận nhân quả linh hoạt, dẫn dắt người dùng qua các bước thiết yếu.
Khi đã nắm được quy trình cơ bản, bạn có thể tiến tới các chủ đề nâng cao như khám phá nhân quả và tăng cường phân tích với các thư viện bổ sung như DoubleML, hoặc daggity, ggdag và pcalg trong R. Khi đã thoải mái với những kiến thức cơ bản, bạn có thể khám phá các chủ đề nâng cao hơn trong suy luận nhân quả. Khóa học Advanced Causal Inference with R của DataCamp là bước tiếp theo tuyệt vời.
Suy luận nhân quả mang đến một góc nhìn mới cho phân tích dữ liệu. Hầu hết các cách tiếp cận đều phụ thuộc vào việc hiểu đồ thị nhân quả hoặc các giả định nhân quả khác. Bí quyết là chọn kỹ thuật và giả định phù hợp với tình huống cụ thể của bạn. Điều này đòi hỏi kiến thức bên ngoài và chuyên môn lĩnh vực.
Vì vậy, sẽ là ý hay nếu bạn tham vấn các chuyên gia marketing hoặc chuyên viên nhân sự để lấy ý kiến của họ về một vấn đề cụ thể và xem họ có thể giúp bạn xây dựng một mô hình phù hợp hay không.
Tri thức nhân quả rất quan trọng trong nhiều bối cảnh kinh doanh. Chúng ta cần hiểu, chẳng hạn, liệu đợt ra mắt sản phẩm mới có thành công hay không, hoặc chiến lược quảng cáo hiệu quả đến mức nào.
Việc rút ra câu trả lời nhân quả từ dữ liệu có thể khó hơn huấn luyện một thuật toán dự đoán đơn giản, nhưng hoàn toàn xứng đáng. Và các thư viện như DoWhy cung cấp cho bạn một bộ công cụ tuyệt vời để giúp tìm ra giải pháp phù hợp nhất với nhu cầu.
Nếu bạn thấy hướng dẫn này hữu ích và háo hức áp dụng các kỹ thuật causal AI vào dự án của riêng mình, đây là lúc tuyệt vời để đào sâu hiểu biết. Trong khóa học toàn diện Machine Learning for Business, bạn sẽ học không chỉ về mô hình dự đoán mà còn cả các mô hình nhân quả giúp bạn ra quyết định kinh doanh tốt hơn.