Tải bản đầy đủ (.pdf) (47 trang)

CHỦ ĐỀ PHÂN TÍCH VÀ DỰ ĐOÁN DỮ LIỆU TRONG LĨNH VỰC TÀI CHÍNH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.75 MB, 47 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>TRƯỜNG ĐẠI HỌC KINH TẾ - LUẬTKHOA HỆ THỐNG THƠNG TIN</b>

<b>Giảng viên: Lê Hồnh Sử</b>

<b>Hồ Chí Minh, ngày 27 tháng 5 năm 2023</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>MỤC LỤC</b>

<b>A. Data Description; Processing & Exploration Data Analysis4</b>

2. Processing & Exploration Data Analysis 5 3. Technical analysis with Quantmod 9 4. Forecast with one basic technique (ARIMA) 12

2. Processing & Exploration Data Analysis 16

2. Processing & Exploration Data Analysis 23 3. Technical analysis with Quantmod 29 4. Forecast with one basic technique (ARIMA) 30

2. Processing & Exploration Data Analysis 32

<b>C. Đánh giá mức độ ảnh hưởng các biến phụ thuộc với Shap38</b>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>A.Data Description; Processing & Exploration DataAnalysis</b>

<b>A1. Nguyễn Phúc Thịnh</b>

<b>1. Data Description</b>

<i>Bộ dữ liệu gốc</i>

Phía trên là 10 dịng đầu tiên của bộ dữ liệu Finance Advance.

Bộ dữ liệu gồm 14 cột với 930 bản ghi. Trong đó bao gồm dữ liệu của nhiều mã chứng khoán khác nhau. Trong bài viết này, ta chỉ chọn ra 1 mã đại diện để phân tích.

Mã may mắn được chọn ở đây sẽ là “TPB”!

<i>Bộ dữ liệu của mã TPB</i>

6 Dòng đầu tiên cảu bộ dữ liệu đã được chọn ra.

Nhưng bộ dữ liệu hiện có quá nhiều cột. Ta vẫn sẽ chỉ chọn ra những cột điển hình góp phần quan trọng vào việc phân tích. Những cột đó là "date", "time", "open", "high", "low", "close" và "nmVolume"

Nhưng trước khi chọn, ta cần kiểm tra việc trùng lặp giá trị trong cột "date". Vì Giá trị trong cột high/low mang ý nghĩa là giá cao nhất và thấp nhất trong ngày. Do đó nếu có xảy ra việc trùng lặp, ta cần thực hiện việc so sánh và chọn lựa lại sau đó.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Sau khi kiểm tra, ta thấy khơng có bất cứ ngày nào xuất hiện quá 1 lần trên cột. Cột "time" sẽ khơng cần thiết phải lấy ra vì biến has_duplicates = 0.

Cột "date" sẽ được sắp xếp lại theo thứ tự xa dần.

Cùng xem trước 5 dòng đầu tiên sau khi chọn lựa ra các cột cần thiết.

<i>Bộ dữ liệu của mã TPB sau khi lọc ra</i>

<b>2. Processing & Exploration Data Analysis</b>

Cùng nhìn 5 dịng đầu tiên để có cái nhìn khái qt về tập dữ liệu của chúng ta:

Bộ dữ liệu của chúng ta hiện khá sạch. Nhưng để chắc chắn hơn, ta sẽ dùng lệnh summary để nhìn lại một lần nữa.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

Trước mắt ta thấy bộ dữ liệu bao gồm 6 biến với 930 bản ghi.

Các biến open, high, low, close, nmVolume lần lượt là giá mở cửa, giá trần, giá sàn, giá đóng cửa, khối lượng giao dịch trong ngày của mã TPB.

Biến date hiện đang gặp một lỗi nhỏ về định dạng kiểu dữ liệu. Ta cần format chúng lại về kiểu "date".

tpb$date <- as.Date(tpb$date) ```

Kiểm tra lại:

Hiện tại kiểu dữ liệu đã được định dạng lại theo đúng với từng thuộc tính.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

Dựa vào những giá trị tại cột date, ta có thể biết rằng bộ dữ liệu được thu thập từ

Biểu đồ trên cho thấy các giá trị ngoại lai xuất hiện khá nhiều, ta có thể hiểu rằng sẽ có người giao dịch với lượng lớn cổ phiếu trong một phiên. Nhưng vì đây là dữ liệu

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

chứng khoán và được ghi nhận liên tục theo từng ngày, do đó chúng có xuất hiện những giá trị ngoại lai (outliers) thì đó là điều đương nhiên. Chúng ta sẽ khơng xóa bỏ chúng để việc phân tích về sau được chính xác nhất.

<b>Đánh giá sự tương quan giữa biến “nmVolume” và “close”</b>

Trên đây là biểu đồ phân phối khối lượng giao dịch dựa trên giá đóng cửa của chúng.

Nhìn sơ lược ta có thể thấy, điểm tập trung nhiều nhất nằm tại góc phần tư phía dưới bên trái của phân phối. Và những giá trị Volume lớn bất thường khi giá trị Close dần tăng lên và ngược lại. Đây có vẻ là một quy luật tự nhiên khi giao dịch chứng khoán: "Mua tại đầu gối và bán ra tại cổ!"

Ta cùng kiểm chứng bằng hệ số tương quan spearman

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

0.7237 là một con số khiến chúng ta vội kết luận rằng giữa biến Volume và Close có sự tương quan tăng.

<b>3. Technical analysis with Quantmod3.1 Charting</b>

Biểu đồ trên thể hiện giá đóng cửa và khối lượng giao dịch tương ứng trong quãng thời gian từ ngày 19/4/2018 đến ngày 21/12/2022.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>3.2. Thêm các chỉ số kỹ thuậtSMA</b>

Đường Simple Moving Average (SMA): là đường trung bình động đơn giản được tính bằng trung bình cộng các mức giá đóng cửa trong một khoảng thời gian giao dịch nhất định.

Ta đã tính được chỉ số SMA mỗi 20 ngày và xuất ra 5 giá trị cuối cùng của chúng.

<b>Vẽ thêm đường SMA vào đồ thị:</b>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

Momentum indicator (MOM) là chỉ báo động lượng thường được dùng trong phân tích kỹ thuật. Chỉ báo Momentum đo lường tốc độ thay đổi của giá chứng khoán trong một khoảng thời gian nhất định.

Ta sẽ tính tốn động lượng 2 ngày dựa trên giá đóng cửa của TPB.

<b>Trực quan chỉ số MOM lên biểu đồ</b>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>4. Forecast with one basic technique (ARIMA)4.1. Kiểm tra tính dừng</b>

Ở phần này, ta sẽ chọn biến "close" để thực hiện dự báo với mơ hình ARIMA.

Trước khi triển khai mơ hình ARIMA, ta cần kiểm tra dữ liệu chuỗi thời gian có tính dừng hay không.

Đầu tiên, ta sẽ quan sát qua đồ thị phân phối giá đóng cửa theo dịng thời gian sau:

Nhìn vào đồ thị ta thấy, với cột y là những giá trị của biến close được phân phối tương ứng với cột x là chuỗi thời gian. Dễ dàng nhìn thấy rằng chúng không phân phối quanh một giá trị nhất định mà chúng biến đổi thất thường. Do đó ta chưa thể kết luận rằng dữ liệu của chúng ta có tính dừng.

<b>Ta sẽ kiểm định tính dừng bằng phương pháp ADF test:</b>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

Kết quả kiểm định cho ra giá trị p-value = 0.622 (>0.05). Do đó, kết luận được đưa ra là: Dữ liệu hiện không có tính dừng.

<b>Chuyển đổi dữ liệu chuỗi thời gian gốc về dữ liệu chuỗi thời gian có tính dừngbằng phương pháp sai phân:</b>

Hiện tại, dữ liệu mới được lưu dưới tên bến differenced_series.

Sau khi chuyển đổi và thực hiện kiểm định tính dừng bằng kiểm định ADF, giá trị kiểm định p-value cho ra là 0.01 (<0.05). Do đó có thể nói dữ liệu của ta là một chuỗi dừng.

<b>4.2. Lưạ chọn tham số ARIMA (p,d,q)</b>

Để đơn giản hóa, ta sẽ chọn hàm auto.arima() trong R thuộc gói forecast được sử dụng để tự động chọn mơ hình ARIMA tốt nhất cho dữ liệu

chuỗi thời gian.

Sau khi chạy xong hàm auto.arima, mơ hình tốt nhất được đề xuất với bộ số (p,d,q) là (0,0,0).

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>4.3. Prediction</b>

<b>4.3.1. Dự báo ngoái tập dữ liệu</b>

10 giá trị tương lai đã được dự đốn với độ chính xác 80% và 95% nhưng chúng đang ở dạng sai phân.

Hiện tác giá vẫn chưa tìm ra cách chuyển đổi về dạng ban đầu :((

4.3.2. Dự đoán trong tập dữ liệu

Trước khi tiến hành dự báo, ta sẽ chia tập dữ liệu thành train và test với tỉ lệ 80/20.

Sau khi chia bộ dữ liều thành 2 tập train và test, ta sẽ tiến hành thiết lập mơ hình ARIMA để chuẩn bị cho việc dự báo.

Tiến hành dự báo:

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

Phía trên là kết quả dự báo.

Để xem xét những kết quả trên được dự báo chính xác hay khơng, ta cần kiểm định chúng qua những chỉ số như RMSE, MAE, MAPE.

Chỉ số RMSE là độ lệch chuẩn của các phần dư (sai số dự đoán). Trong trường hợp này, giá trị RMSE là 0.02133782

Chỉ số MAE (Mean Absolute Error) là trung bình giá trị tuyệt đối của sai số giữa giá trị thực tế và giá trị dự báo. Trong trường hợp này, giá trị MAE là 0.01387308

Chỉ số MAPE (Mean Absolute Percentage Error) là trung bình giá trị tuyệt đối của tỷ lệ phần trăm sai số giữa giá trị thực tế và giá trị dự báo. Trong trường hợp này, giá trị MAPE là 28.50554%.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

Những giá trị càng nhỏ thì mơ hình dự báo càng chính xác. Vì vậy, trong trường hợp này, giá trị RMSE, MAE và MAPE đều khá thấp, cho thấy mơ hình có khả năng dự báo tốt trên tập kiểm tra.

<b>A2. Nguyễn Thành Luân</b>

<b>1. Data Description</b>

Bộ dữ liệu được lấy tự bộ dữ liệu tài chính FinanceAdvanced.csv (2017 -2021)

Data này đã được thu thập từ nhiều cơng ty khác nhau và sẽ được phân tích để khám phá các xu hướng và mơ hình trong thị trường chứng khốn. Tập dữ liệu bao gồm thơng tin về giá cổ phiếu, khối lượng giao dịch và các chỉ số tài chính khác trong một khoảng thời gian nhất định. Dữ liệu này sẽ giúp chúng ta hiểu rõ hơn về biến động giá cả, tình hình giao dịch và sự biến đổi của thị trường.

Bằng cách áp dụng các phương pháp phân tích thống kê và mơ hình hóa dữ liệu, chúng ta sẽ tìm hiểu về các yếu tố ảnh hưởng đến giá cổ phiếu và dự đốn xu hướng tương lai. Mơ hình hóa dữ liệu chứng khốn sẽ cung cấp thơng tin quan trọng để đưa ra quyết định đầu tư thông minh và hiệu quả.

Và cụ thể ở đây là mã cố phiếu LPB

<b>2. Processing & Exploration Data Analysis</b>

+ Read data

Bộ dữ liệu Finance-Advanced

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

+ Process thành Table

- Trên là bảng dữ liệu gốc bao gồm rất nhiều mã chứng khoán khác nhau. Ta sẽ tiến hành chọn ra 1 mã đại diện để phân tích. Cụ thể ở đây là LPB.

Mã cổ phiếu LPB

- Lấy ra các features cần thiết cho việc phân tích

- Datatype của dữ liệu:

- Định dạng lại dữ liệu cho các features trên

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

+ EDA

<i><b>- Statistics:</b></i>

<i><b>- Outlier:</b></i>

Boxplot of Open/Close

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

Boxplot of Volume

Biểu đồ Trade Volume cho thấy các giá trị ngoại lai xuất hiện khá nhiều, ta có thể hiểu rằng sẽ có người giao dịch với lượng lớn cổ phiếu trong một phiên.Có thể do tình hình kinh tế lúc đó đang diễn biến mạnh mẽ dẫn đến sức mua và bán cổ phiếu lúc đó tăng vọt. VÌ vậy, chúng ta sẽ khơng xóa bỏ chúng để việc phân tích về sau được chính xác nhất.

<i><b>- Kiểm tra và loại bỏ giá trị NA</b></i>

Sau khi kiểm tra, ta có thể thấy dữ liệu khơng mang bất kì giá trị Na hay giá trị bằng 0 nào, điều này rất tốt để khi dùng để phân tích.

<i><b>- Visualization</b></i>

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

Nhìn sơ lược ta có thể thấy, điểm tập trung nhiều nhất nằm tại góc phần tư phía dưới bên trái của phân phối. Và những giá trị Volume lớn bất thường khi giá trị Close dần tăng lên và ngược lại

<i><b>Biểu đồ giá chứng khoán LPB từ năm 2018 đến cuối năm 2021</b></i>

<i><b>Biểu đồ số lượng giao dịch chứng khoán LPB từ năm 2018 đến cuối năm 2021</b></i>

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<i><b>Phân tích thay đổi giá hàng ngày của cổ phiếu LPB</b></i>

Để tính số tiền bạn lãi hoặc lỗ mỗi ngày đối với một cổ phiếu, hãy lấy giá đóng cửa trừ đi giá mở cửa. Sau đó, nhân kết quả với số cổ phần bạn sở hữu trong công ty

<i><b>Percentage return</b></i>

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<i><b>Giá cổ phiếu trung bình mỗi tháng</b></i>

<b>+Technical analysis with Quantmod</b>

<i><b>Giá cổ phiếu LPB từ 2017 đến 2021</b></i>

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<i><b>Sau khi đã thêm các chỉ số kỹ thuật</b></i>

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

<i><b>Biểu đồ nến LPB</b></i>

<i><b>+ Arima Model</b></i>

- Ở phần này, ta sẽ chọn biến "close" để thực hiện dự báo với mơ hình ARIMA.

- Chọn chỉ số p d c phù hợp :

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

- Prediction

+ Dự báo ngoái tập dữ liệu

10 giá trị tương lai đã được dự đốn với độ chính xác 80% và 95% nhưng chúng đang ở dạng sai phân.

+ Dự đoán trong tập dữ liệu

Trước khi tiến hành dự báo, ta sẽ chia tập dữ liệu thành train và test với tỉ lệ 80/20.

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

- Sau khi chia bộ dữ liều thành 2 tập train và test, ta sẽ tiến hành thiết lập mơ hình ARIMA để chuẩn bị cho việc dự báo.

- Tiến hành dự báo:

- Kiểm định chúng qua những chỉ số như RMSE, MAE, MAPE.

Những giá trị càng nhỏ thì mơ hình dự báo càng chính xác. Vì vậy, trong trường hợp này, giá trị RMSE, MAE và MAPE đều khá thấp, cho thấy mơ hình có khả năng dự báo tốt trên tập kiểm tra.

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

<b>A3. Phạm Công Nguyễn Khôi</b>

<b>1. Data Description</b>

<i>Tổng quan bộ dữ liệu gốc</i>

Đây là tổng quan về 10 dòng đầu của bộ dữ liệu Finance Advance.

Đây là bộ dữ liệu về tài chính, cụ thể là về giá cổ phiếu. Trong bài này, tôi chọn một mã cổ phiếu và ở đây tơi chọn mã “AGR” để có thể tiến hành dự báo và phân tích.

Để có thể tiện cho việc xử lý và phân, tôi chỉ ra những cột dữ liệu cần thiết, đó là những cột: "date", "time", "open", "high", "low", "close" và "nmVolume".

<i>Tổng quan bộ dữ liệu cần để phân tích</i>

<b>2. Processing & Exploration Data Analysis</b>

Cùng nhìn lại bộ dữ liệu bằng hàm “summary” để có thể kiểm tra lại đặc tính của tập dữ liệu.

Đầu tiên chúng ta sẽ kiểm tra các giá trị bằng Na hoặc bằng 0 trong bộ dữ liệu.

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

Sau khi kiểm tra, ta có thể thấy dữ liệu khơng mang bất kì giá trị Na hay giá trị bằng 0 nào, điều này rất tốt để khi dùng để phân tích.

Từ việc kiểm tra bằng hàm “summary” trước đó ta có thể thấy cột “date” mang định dạng “character” chúng ta cần chuyển về định dạng “date”.

Sau đó chúng ta cần sắp xếp lại thứ tự trong cột “date”.

Và đây là bộ dữ liệu sau khi tiến hành sắp xếp và làm sạch.

Tiếp theo chúng ta sẽ trực quan bộ dữ liệu qua biểu đồ box-plot để xem xét các giá trị của tập dữ liệu.

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

nhiều, ta có thể nhận định rằng sẽ có những người thực hiện giao dịch lớn trong một phiên. Nhưng vì đây là dữ liệu chứng khốn được ghi nhận theo ngày, do đó việc xuất hiện những giá trị ngoại lai là điều dễ hiểu. Nên việc loại bỏ các giá trị này là không cần thiết và nên được giữ lại để thuận tiện và tăng tính chính xác cho việc phân tích.

Để có cái nhìn tổng quan về từng biến trong tập dữ liệu, ta sẽ trực quan hóa dữ liệu thành biểu đồ để dễ dàng cho việc nhận định hơn.

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

<b><small>3.1 Charting</small></b>

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

<b>4. Forecast with one basic technique (ARIMA)</b>

Ở phần này, ta sẽ chọn biến "close" để thực hiện dự báo với mơ hình ARIMA.

Trước khi triển khai mơ hình ARIMA, ta cần kiểm tra dữ liệu chuỗi thời gian có tính dừng hay khơng.

Kết quả kiểm định cho ra giá trị p-value = 0.99 (>0.05). Do đó, kết luận được đưa ra là: Dữ liệu hiện khơng có tính dừng.

Tiếp theo chúng ta chia tập dữ liệu thành 2 phần thành tập train và test với tỉ lệ 80/20. Sau đó chúng ta tiến hành chạy mơ hình dự báo bằng ARIMA.

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

Sau đó kiểm tra đánh giá lại mơ hình.

Chỉ số RMSE là độ lệch chuẩn của các phần dư (sai số dự đoán). Trong trường hợp này, giá trị RMSE là 7.788744 %

Chỉ số MAE (Mean Absolute Error) là trung bình giá trị tuyệt đối của sai số giữa giá trị thực tế và giá trị dự báo. Trong trường hợp này, giá trị MAE là 6.330752 %

Chỉ số MAPE (Mean Absolute Percentage Error) là trung bình giá trị tuyệt đối của tỷ lệ phần trăm sai số giữa giá trị thực tế và giá trị dự báo. Trong trường hợp này, giá trị MAPE là 0.7081347 %

Những giá trị càng nhỏ thì mơ hình dự báo càng chính xác. Vì vậy, trong trường hợp này, giá trị RMSE, MAE và MAPE đều khá thấp, cho thấy mơ hình có khả năng dự báo tốt trên tập kiểm tra.

<b>A4. Lê Thành Tuân</b>

1. Data Description

<i>Bộ dữ liệu gốc</i>

</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">

Phía trên là một phần trong bộ dữ liệu Finance Advance, một tập dữ liệu được thu thập từ nhiều cơng ty khác nhau liên quan đến thị trường chính khoán. Tệp dữ liệu này sẽ giúp ta quan sát và tìm hiểu rõ hơn những yếu tố liên quan đến cổ phiếu như biến động, số lượng giao dịch,...

Và tơi chọn sẽ là "SHB" để phân tích và để thuận lợi cho q trình phân tích và xử lý, tôi sẽ tách ra những cột dữ liệu cần thiết, đó là: "date", "time", "open", "high", "low", "close" và "nmVolume".

Những cột dữ liệu quan trọng mà tôi đã lọc ra.

<b>2. Processing & Exploration Data Analysis+ Đọc dữ liệu</b>

+ Chuẩn bị dữ liệu

</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">

+ Lọc các cột dữ liệu

+ Định dạng lại dữ liệu của các cột

</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">

+ Sau đó ta được tệp dữ liệu:

+ Kiểm tra và loại bỏ giá trị NA:

</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">

<i><b>+ Vẽ scatter plot thể hiện sự tương quan giữa 2 biến</b></i>

+ sau đó sẽ xuất hiện biểu đồ giá

</div><span class="text_page_counter">Trang 42</span><div class="page_container" data-page="42">

Sau khi thực hiện đánh giá mơ hình qua các chỉ số, ta thu được kết quả sau:

<b>Mơ hình 1 (Nguyễn Phúc Thịnh):</b>

RMSE: 0.02133782 MAE: 0.01387308 MAPE: 28.50554 %

<b>Mơ hình 2 (Nguyễn Thành Ln):</b>

<b>Mơ hình 3 (Phạm Công Nguyễn Khôi):</b>

</div><span class="text_page_counter">Trang 43</span><div class="page_container" data-page="43">

<b>C.Đánh giá mức độ ảnh hưởng các biến phụ thuộc vớiShap</b>

Shap là một gói thực hiện một phiên bản mở rộng của phương pháp Kernel SHAP để xấp xỉ giá trị Shapley (Lundberg và Lee (2017)), trong đó xem xét sự phụ thuộc giữa các đặc trưng (Aas, Jullum và Løland (2019)). Ước lượng giá trị Shapley là một vấn đề quan trọng khi cố gắng giải thích các mơ hình học máy phức tạp. Trong các nghiên cứu hiện có về việc giải thích các dự đốn cá nhân, giá trị Shapley được coi là phương pháp giải thích khơng phụ thuộc vào mơ hình duy nhất với nền tảng lý thuyết vững chắc (Lundberg và Lee (2017)). Kernel SHAP là một xấp xỉ tính tốn hiệu quả về mặt tính tốn cho giá trị Shapley trong không gian đa chiều, nhưng nó giả định các đặc trưng độc lập. Aas, Jullum và Løland (2019) mở rộng phương pháp Kernel SHAP để xử lý các đặc trưng phụ thuộc, từ đó đưa ra xấp xỉ chính xác hơn đối với giá trị Shapley thực sự. Xem bài báo (Aas, Jullum và Løland (2019)) để biết thêm chi tiết.

<b>Phương thức Kernel SHAP</b>

Giả sử có một mơ hình dự đốn f(x) cho giá trị đáp ứng y với các đặc trưng x ∈ RM, được huấn luyện trên một tập dữ liệu huấn luyện, và chúng ta muốn giải thích các dự đốn cho các tập dữ liệu mới. Điều này có thể được thực hiện bằng cách sử dụng các ý tưởng từ lý thuyết trò chơi hợp tác, cho phép một dự đốn duy nhất đóng vai trị là trị chơi đang diễn ra và các đặc trưng đóng vai trị là người chơi. Đặt N là tập hợp tất cả M người chơi và S ⊆ N là một tập con gồm |S| người chơi, hàm "đóng góp" v(S) mơ tả tổng kỳ vọng của tổng số thanh toán mà các thành viên trong S có thể đạt được thơng qua sự hợp tác. Giá trị Shapley (Shapley (1953)) là một cách để phân phối tổng lợi ích cho các người chơi, giả sử rằng tất cả họ đều hợp tác. Số tiền mà người chơi i nhận được là

Đó là trung bình có trọng số trên tất cả các tập con S của người chơi mà không chứa người chơi i. Lundberg và Lee (2017) xác định hàm đóng góp cho một tập con S cụ thể của các đặc trưng này xS là v(S) = E[f(x) | xS], kỳ vọng đầu ra của mơ hình dự đốn có điều kiện trên giá trị đặc trưng của tập con đó. Lundberg và Lee (2017) đặt tên cho loại giá trị Shapley này là giá trị SHAP (SHapley Additive exPlanation). Vì các kỳ vọng có điều kiện có thể được viết dưới dạng

</div>

×