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

BÁO CÁO TỔNG QUAN Dự báo doanh số bảo hiểm với các mô hình học máy (Insurance purchasing forecasting with Machine Learning Model)

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.13 MB, 22 trang )

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

<b>ĐẠI HỌC QUỐC GIA HÀ NỘIĐẠI HỌC KHOA HỌC TỰ NHIÊN</b>

<b>BÁO CÁO TỔNG QUAN</b>

<b>Dự báo doanh số bảo hiểm với các mơ hình học máy</b>

<b>(Insurance purchasing forecasting with Machine Learning Model)</b>

<b>Nhóm thực hiện: Nhóm trưởng - Kiều Thị Ngọc LinhThành viên - Nguyễn Việt DũngLớp chuyên biệt: K66 & K65 - Toán Tin</b>

<b>Hướng dẫn của giảng viên: Cao Văn Chung</b>

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

<b>LỜI NÓI ĐẦU</b>

Dự báo doanh số là một trong những quy trình kinh doanh quan trọng nhất vì nó quyết định cách cơng ty đầu tư, phát triển và có thể có tác động lớn đến giá trị, tài nguyên, lợi nhuận cũng như thua lỗ của cơng ty. Nhóm chúng em đã chọn bộ dữ liệu Caravan: The Insurance Company (TIC). Tập dữ liệu này chứa 5822 bản ghi khách hàng thực tế đã được đưa vào thư viện của ngôn ngữ R (Caravan , ISLR). Mỗi bản ghi bao gồm 86 biến, bao gồm dữ liệu xã hội và dân số (biến 1-43) và sở hữu sản phẩm (biến 44-86). Dữ liệu xã hội và dân số được lấy từ mã zip. Câu hỏi chính mà tập dữ liệu này đặt ra là: Có thể dự đốn ai sẽ quan tâm đến việc mua một chính sách bảo hiểm caravan và đưa ra lý do tại sao không? Bằng các mô hình và phương pháp của học máy như là: PCA, Linear Regression, K-Means, Logistic Regression, LDA, QDA. Chúng em sử dụng Google colab để train mơ hình, dùng Runtime type R.

Tuy nhiên, do kiến thức và thời gian còn hạn chế nên báo cáo chắc chắn sẽ còn những thiếu sót. Đội ngũ chúng em ln mong đợi và nhận được những nhận xét, đánh giá chân thành, quý báu từ thầy và bạn bè để chúng em có thể hồn thiện và ngày càng hồn thiện hơn.

Nhóm chúng em xin chân thành cảm ơn ạ!

Hà Nội, ngày tháng năm 2024 Nhóm thực hiện

<b>THÀNH VIÊN NHĨM</b>

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

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

<b>LỜI NÓI ĐẦU...</b><small>2</small>

<b>THÀNH VIÊN NHÓM...2</b>

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

<i><b>MỞ ĐẦU: Giới thiệu về bộ dữ liệu ... 4</b></i>

<i><b>CHƯƠNG I: Thực hiện giảm kích thước dữ liệu và trực quan hóa dữ liệu....4</b></i>

1. Giảm kích thước dữ liệu (PCA)... 4

2 . Trực quan hoá dữ liệu... 5

<i><b>CHƯƠNG II: Dự đoán kết quả đầu ra với một tập dữ liệu đầu vào nhất</b></i> <b>định...</b><small>6</small>

<b>1. Thực hiện mơ hình hồi quy tuyến tính (Linear regression) ... 6</b>

<b>2 . Giải thích ý nghĩa của kết quả và các hệ số thu được...7</b>

<i><b>CHƯƠNG III: Kiểm tra sự phân bố của các nhóm dữ liệu... 8</b></i>

<b>1 . Triển khai mơ hình phân cụm. (K-Means)...</b><small>8</small>

<i><b>CHƯƠNG IV: Bài tốn phân loại dữ liệu đầu vào thành các nhóm (khoảng )</b></i> <b>dữ liệu đầu ra khác nhau ...</b><small>11</small>

<b><small>1.</small>Các mô hình phân loại tuyến tính...</b><small>11</small>

<b>a. Logistic Regression ... 11</b>

<b>b. Linear Discriminant Analysis ...16</b>

<b>2. Các mơ hình phân loại phi tuyến...18</b>

<b>a. Quadratic Discriminant Analysis ... 18</b>

<b><small>3.</small>So sánh kết quả của các mơ hình (độ chính xác), giải thích ý nghĩa của cáckết quả ...20</b>

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

<i><b>MỞ ĐẦU: Giới thiệu về bộ dữ liệu</b></i>

Tập dữ liệu Caravan (link xem file csv<b>) bao gồm 86 biến, 5822 mẫu. Dưới đây là một</b>

số thông tin chi tiết về các biến:

1. <b>MOSTYPE: Lớp khách hàng với mức độ cao nhất.</b>

2. <b>MAANTHUI: Số lượng nhà trong hộ.</b>

3. <b>MGEMOMV: Kích thước trung bình của hộ.</b>

4. <b>MGEMLEEF: Độ tuổi trung bình.</b>

5. <b>MOSHOOFD: Lớp khách hàng chính.</b>

Và còn nhiều biến khác nữa. Tất cả các biến đều là dạng số. Biến cuối cùng,

<b>Purchase, chỉ ra liệu khách hàng có mua bảo hiểm caravan hay khơng và là biến nhị</b>

<i><b>CHƯƠNG I: Thực hiện giảm kích thước dữ liệu và trực quan hóa dữ liệu</b></i>

Phân tích thành phần chính (PCA) xác định ra một tổ hợp tuyến tính của một số các biến trong bộ các biến ban đầu mà có sự biến thiên (phương sai - variance) lớn nhất. Nói cách khác, PCA là để tìm ra các biến mà có thể được sử dụng để giải thích phần lớn sự biến thiên trong dữ liệu (chứa nhiều thơng tin có giá trị nhất) .

<b>1.Giảm kích thước dữ liệu (PCA)</b>

Ta có hình dáng của thành phần chính thứ nhất : gồm một bộ tổ hợp tuyến tính của các biến (tương ứng là các cột trong bộ Caravan):

Trong đó, đã chuẩn hóa các hệ số loadings : Chúng ta giới hạn các tải sao cho tổng bình phương (độ dài vectơ loadings) của chúng bằng 1, vì nếu khơng, việc đặt các phần tử này có giá trị tuyệt đối lớn tùy ý có thể dẫn đến phương sai lớn tùy ý.

Cho n = 5822 mẫu và p = 86 biến, cần tính phương sai của như sau:

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

Ta có thể tìm được các thành phần chính qua việc giải bài tốn tối ưu trên, các bước cụ thể như sau, đã được chứng minh:

● Tính vector kỳ vọng của tồn bộ dữ liệu (vectơ kỳ vọng của các cột):

● Tính các độ lệch của các giá trị trong cột so với giá trị kỳ vọng lấy từ vectơ ở trên:𝑥 = 𝑥 , lập thành một ma trận mới gồm toàn các giá trị độ lệch .

● Các cột của Ui (1<=i<=k) là hệ cơ sở trực chuẩn, tạo thành không gian con của k thành phần chính, gần với phân bố của dữ liệu ban đầu đã chuẩn hóa.

● Dữ liệu mới chính là toạ độ của các điểm dữ liệu trên không gian mới: Z = 𝑈𝑘<sup>𝑇</sup> * 𝑋

● Dữ liệu ban đầu được xấp xỉ theo dữ liệu mới : x ≈ Uk*Z + 𝑥

Chương trình của ác bước trên đã được trình bày đầy đủ trong file<b> Chương I. ipynb</b>.

<b>2 . Trực quan hoá dữ liệu</b>

Vẽ đồ thị trực quan cho hai chiều dữ liệu đã được chọn sau khi đã được chiếu, sau khi đã xấp xỉ, và hai cột bất kì từ dữ liệu ban đầu để so sánh:

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

<i><b>CHƯƠNG II: Dự đoán kết quả đầu ra với một tập dữ liệu đầu vào nhất định.</b></i>

<b>1. Thực hiện mơ hình hồi quy tuyến tính (Linear regression): Dự đoán biến (cột)</b>

ABYSTAND = Y (cần là một biến dạng số) thông qua: tổng các khoảng cách đường xám nối điểm dữ liệu

đến đường hồi quy như hình bên là nhỏ nhất. Bằng các biến đổi giải tích đã được chứng minh, ta có các giá trị tối ưu củaβ và như sau ( là các kỳ ....

nhiều giá trị mới của X mà khơng có trong bộ dữ liệu ban đầu để test và cho ra các giá trị ước tính 𝑌.

● Khi áp dụng vào bộ dữ liệu Caravan, chọn cột giá trị cần dự đoán là Y = ABYSTAND, bộ giá trị

<i>đầu vào là X = MOTYPE, áp dụng các hàm lm()</i>

có sẵn để tính các mơ hình hồi quy, đã cho ra kết quảβ và là:

<small>1</small>

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

<b>2 . Giải thích ý nghĩa của kết quả và các hệ số thu được.</b>

Dựa trên biểu đồ phân tán trong hình trên và giá trị các hệ số tính được, có vẻ như khơng có mối quan hệ tuyến tính đáng kể nào giữa hai biến MOSTYPE và ABSTAND. Các điểm dữ liệu được phân tán và khơng tn theo một mơ hình tuyến tính rõ ràng. Đường đỏ tại ABSTAND = 0, cho thấy một nỗ lực phù hợp với hồi quy tuyến tính, nhưng không thực sự phù hợp chặt chẽ với các điểm dữ liệu. Điều này gợi ý rằng mơ hình hồi quy tuyến tính có thể khơng phải là phương pháp phù hợp tốt nhất cho dữ liệu này. Có thể nếu khám phá các loại mơ hình hồi quy khác hoặc biến đổi các biến.

<b>P-value của kết quả là 4.117e-05. Đây là một con số rất nhỏ, thấp hơn nhiều so với</b>

ngưỡng ý nghĩa phổ biến là 0.05 hoặc 0.01. Trong kiểm định giả thuyết thống kê, một giá trị p nhỏ hơn mức ý nghĩa đã chọn (như 0.05 hoặc 0.01) cho thấy bằng chứng mạnh chống lại giả thuyết khơng, vì vậy bạn từ chối giả thuyết khơng. Cho thấy X và Y khơng có mối tương quan. Các kết quả và chương trình đều có trong fileChương II.ipynb

● Đánh giá độ chính xác của các ước tính hệ số:

Chúng ta giả sử rằng mối quan hệ thực sự của X và Y có thể được biểu diễn thơng qua: với hàm f() có thể ở dạng rất đặc biệt ( khơng phải là tuyến tính hay đa thức), chưa được biết đến. Việc ép sự liên hệ của X và Y dưới dạng tuyến tính, do đó sẽ được đầy đủ hơn nữa dưới dạng:

Tính độ lệch chuẩn của kỳ vọng,β và , phần dư lần lượt là:

Độ lệch chuẩn có thể được sử dụng để tính khoảng tin cậy. Đối với hồi quy tuyến tính, khoảng tin cậy 95 % cho β1 xấp xỉ có dạng:

Tương tự, khoảng tin cậy cho β0 xấp xỉ có dạng:

Độ lệch chuẩn cũng có thể được sử dụng để thực hiện kiểm định giả thuyết về các hệ số giả thuyết.

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

<i><b>CHƯƠNG III: Kiểm tra sự phân bố của các nhóm dữ liệu</b></i>

<b>1 . Triển khai mơ hình phân cụm. (K-Means Clustering)</b>

Phân cụm để tìm các nhóm con (subgroup) hoặc phân cụm (cluster) trong một tập dữ liệu. Trong bộ Caravan, chúng ta có một tập hợp 5822 quan sát, mỗi quan sát có 86 đặc điểm. Các quan sát có thể tương ứng với các khách hàng được khảo sát và các đặc điểm có thể tương ứng với các phép đo về các thông tin cụ thể của khách hàng đó. Với một bộ mẫu lớn, có khả năng rất cao rằng tất cả các khách hàng sẽ khơng có các đặc điểm giống nhau, chúng ta cần kiểm tra xem 5822 người có chia thành các nhóm, “câu lạc bộ" có sự tương đồng về một hay nhiều đặc điểm hay là không, là những khách hàng “khác biệt" trong bộ dữ liệu (rất quan trọng cho market segmentation trong marketing).

Để thực hiện phân cụm K-means, trước tiên chúng ta phải chọn số cụm K mong muốn; sau đó thuật tốn K-mean sẽ gán mỗi quan sát cho chính xác một trong các cụm K đó.

Cho tập dữ liệu X ={𝑥 với mỗi là một quan sát (hàng) và số cụm cần chia là nào cùng thuộc về nhiều hơn một cụm).

● Một cụm tốt tức là các phương sai bên trong cùng một cụm (within-cluster variation) là nhỏ nhất có thể, vậy ta cần giải bài tốn tối ưu (1):

Trong đó, là độ chênh lệch (khoảng cách) của các điểm (các quan sát) bên trong cùng một cụm𝐶 . Vậy chúng ta muốn phân chia các quan sát thành K

cụm sao cho tổng chênh lệch bên trong mỗi cụm, rồi tính tổng đó của tất cả K cụm, càng nhỏ càng tốt. Ta có bài tốn tối ưu (2):

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

Kết hợp (1) và (2) ta có bài tốn tối ưu là định nghĩa cho một cụm thứ k nào đó với: là số các quan sát cho một cụm thứ k đó (3):

Ta có𝑘<sup>𝑛</sup> cách để phân chia n=5822 quan sát vào k cụm có thể có, do vậy bài tốn (3) có thể giải theo thuật tốn như sau:

● Dừng khi tâm cụm tìm được ở bước t+1 hồn tồn trùng với tâm cụm tìm được ở bước t, tức là khi cực trị địa phương đã đạt được .

Thuật toán trên làm giảm giá trị của (3) sau mỗi bước lặp t bởi, ta có:

Với chính là 𝐶 và là trung bình cộng của j đặc điểm trong <small>𝑗</small>

bộ n đặc điểm trong cụm 𝐶 Vì thuật tốn k-means tìm cực trị địa phương nên kết quả <small>𝑘</small>.

có thể thay đổi tùy theo số cụm k được khởi tạo ban đầu. Nên sau đó, chúng ta nên lặp lại thuật toán với các giá trị k ban đầu khác nhau xem giá trị k nào cho ra các kết quả trực quan màu , nhãn dán với đồ thị trực quan nhất. Chương trình thực hiện thuật tốn trên được trình bày trong các file:Chương III.ipybnvàthuchanhkmeans.ipybn

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

<i><b>CHƯƠNG IV: Bài toán phân loại dữ liệu đầu vào thành các nhóm (khoảng ) dữ liệu</b></i>

<b>đầu ra khác nhau</b>

Ở chương II, chúng ta đã được biết mô hình hồi quy tuyến tính giả định tất cả các biến muốn dự đoán đều phải ở dạng số, định lượng (quantitative), nhưng trong thực tế, nhât là trong kinh doanh, bán hàng, những khía cạnh mang tính cảm giác, cảm xúc, màu sắc, tính chất thường được đặt cho một cái tên, có thể rất trừu tượng, khi đó chúng ta có các biến dữ liệu ở dạng định tính (qualitative). Do vậy, chúng ta cần phải phân loại các mẫu quan sát vào các mục hay các lớp với các nhãn khác nhau. Nói cách khác là dự đoán xác suất của một quan sát rơi vào mỗi biến định tính khác nhau. Chúng ta có một bộ các quan sát

chuyên dùng để huấn luyện, tạo các mô hình phân loại, cái mà khơng chỉ cần phải hoạt động tốt cho các dữ liệu dùng để huấn luyện, mà còn cho những mẫu quan sát chuyên dùng để kiểm tra mơ hình, chưa từng có trong việc huấn luyện mơ hình ấy.

*

Tại sao lại khơng thể dùng linear regression cho các biến dạng định tính?

● Phương pháp hồi quy khơng thể đáp ứng được phân loại định tính với nhiều hơn hai lớp.

● Phương pháp hồi quy sẽ không cung cấp các ước tính có ý nghĩa của Pr(Y |X), thậm chí chỉ với hai lớp. Vì vậy, tốt nhất nên sử dụng phương pháp phân loại thực sự phù hợp với các giá trị dự đốn định tính.

● Hồi quy logistic, rất phù hợp cho trường hợp làm việc với các biến định tính nhị phân; trong các phần sau, LDA, QDA là các phương pháp phân loại phù hợp khi phản hồi định tính có hai lớp trở lên.

<b>1. Các mơ hình phân loại tuyến tínha. Logistic Regression</b>

Trong tập dữ liệu Caravan, trong đó biến mục tiêu Y=Purchase thuộc một trong hai loại Yes hoặc No. Thay vì lập mơ hình trực tiếp dự đốn Y này, hồi quy logistic mơ hình xác suất Y thuộc một danh mục cụ thể. Ví dụ: Xác suất để một mẫu quan sát rơi vào nhóm phân loại Yes của Purchase là: Pr(Purchase = Yes|X_train).

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

Làm sao để lập ra được mơ hình mối quan hệ giữa và X (*) ? (để tiện, quy hai giá trị nhị phân của biến Y thành 0 và 1). Và với mỗi x thuộc X - các biến quan sát, ta có mơ hình dự báo ℎ (x) như sau:

với hàm sigmoid (logistic) được xác định như dưới đây:

Do y chỉ nhận một trong hai giá trị 0 hoặc 1( xung khắc), nên ta có mơ hình hồi quy logistic:

với là tham số của mơ hình , giả sử ta đã biết vectơ hệ số (tham số) , ( cầnθ được tính sau), ta sẽ có mơ hình phân loại như sau:

Mơ hình trên có thể được viết gọn dưới dạng (1) - cũng chính là câu trả lời cho (*) :

Khi ta thay y = 1, thì bị triệt tiêu, khi thay y = 0 thì phần cịn lại của vế phải sẽ bị triệt tiêu.

Ta cần đi tìm tham sốθ để làm biểu thức (1) đạt cực đại, ta sẽ tìm nó thơng qua hàm hợp lý (likelihood function) và log-hợp lý (log-likelihood function):

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

Thuật toán trên được trình bày theo mã giả như sau:

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

Khi áp dụng mơ hình này vào bộ dữ liệu Caravan trong file: Logistic regression.ipybn được các kết quả sau:

Chia bộ dữ liệu thành hai phần phục vụ cho training và testing:

Ma trận hệ số θ:

So sánh giữa kết quả dự đoán cột Purchase của bộ train và bộ test:

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

Độ chính xác của mơ hình huấn luyện:

<b>b. Linear Discriminant AnalysisLDA.ipybn</b>

Mơ hình này phù hợp cho sự phân loại cho các biến có nhiều phân lớp hơn là hai (K 2, nhưng trong trường hợp này của Purchase K = 2. Chúng ta cần phải xác định xác ≥

suất rơi vào các lớp khác nhau của các mẫu một cách riêng biệt. Giả sử ta có biến cần phân loại vào K≥ 2 phân lớp có thể và khơng xác định thứ tự. Y=Purchase, X = bộ biến dùng để dự đoán kết quả Y (các biến còn lại) .

● là xác suất tiên nghiệm (prior probability): xác suất để một quan sát được chọn ra ngẫu nhiên từ bộ rơi vào một phân lớp thứ K nào đó.

● (X là một biến định tính ngẫu nhiên) là hàm mật độ của biến X có một quan sát nào đó rơi vào phân lớp thứ k. Suy ra có thể có giá trị khá lớn nếu một quan sát nào đó trong phân lớp thứ k nào đó có X≈ 𝑥. Ngược lại thì nó sẽ có giá trị lớn.

một quan sát X≈ 𝑥rơi vào phân lớp thứ k (tức là giá trị của các biến dùng để dự đoán đã được cho trước cho quan sát đó).

❖ <i>Với p = 1 (chỉ có một biến dùng để dự đốn):</i>

a.Ước lượng để áp dụng cho (2). Ta coi như nó có phân bố chuẩn, vậy nó có dạng

và phương sai của phân lớp thứ k. Ta cũng coi thêm rằng phương sai của k phân lớp là bằng nhau

● Sau đó, thay (3) vào (2), ta có (4) :

b. Phân loại một quan sát vào một lớp k mà là lớn nhất.

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

● Lấy căn của (4), và biến đổi đại số, ta có một cách tương đương để gán các quan sát vào một phân lớp nào đó mà giá trị của

(5) là lớn nhất.

=> Từ phương trình (5), nếu K = 2 và thì bộ phân loại Bayes sẽ gán quan sát đang xét cho phân nhóm 1 nếu và vào phân nhóm 2 nếu ngược lại.

● Trong thực tế, mặc dù khi chúng ta đã khá chắc chắn rằng X có phân bố chuẩn Gaussian, thì ta vẫn phải ước lượng các đại lượng tham số:

bằng cách thay các tham số sau vào (5) (n là số lượng các quan sát dùng để train,𝑛 là số lượng các quan sát dùng để train trong một lớp thứ k):

● Sau khi gán X = x, ta có phương trình (5) khi này bằng (6):

=> Đây là hàm tuyến tính theo x , nên mới có tên gọi có chữ Linear trong LDA. ❖ <i>Với p >1 ( nhiều hơn một biến phân loại):</i>

Ta có bộ dùng để dự đoán cho biến mục tiêu Y , kí hiệu: Bộ này tuân theo phân phối chuẩn đa biến (multivariate Gaussian), mỗi biến dự đoán riêng tuân theo một phân phối chuẩn một chiều. Với một vectơ kỳ vọng riêng gồm p phần tử cho từng class , và một ma trận hiệp phương

● Hàm mật độ của phân phối chuẩn Gaussian đa chiều được định nghĩa như sau (7):

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

● Trong trường hợp này, ta coi như các quan sát lấy ra từ phân lớp thứ k sẽ tuân theo phân phối chuẩn nhiều chiều: , trong đó là vectơ kỳ vọng riêng của phân lớp thứ k, là ma trận hiệp phương sai chung cho tất cả k phân lớp.

● Với . Phương trình (7) có thể được biến đổi đại số thành (8):

=> Phân loại Bayes này sẽ gán một quan sát X = x vào một phân lớp k mà là lớn nhất. (8) là dạng vectơ/ ma trận mở rộng của (5).

● Nói cách khác, hai quan sát x cùng thuộc một cụm nếu với (l khác k) thì:

● Một lần nữa, chúng ta cần ước lượng lần lượt các tham số chưa biết μ1,...,μK,π1,..., πK, và Σ; các công thức tương tự như các công thức được sử dụng trong trường hợp một chiều:

Để ấn định một quan sát mới X = x, thay tất cả vào (8).

<b>2. Các mơ hình phân loại phi tuyến</b>

<b>a. Quadratic Discriminant AnalysisQDA.ipybn</b>

QDA cũng giống như LDA, quy ước rằng các quan sát từ các phân lớp khác nhau tuân theo một phân phối chuẩn nhiều chiều Gaussian. Sau đó thay các ước lượng tham số vào bộ phân loại Bayes để thực hiện dự đốn. Tuy nhiên, khơng giống, LDA, QDA mặc định rằng mỗi phân lớp sẽ có một ma trận hiệp phương sai khác nhau. Do đó, một quan sát lấy ra từ phân lớp k sẽ tuân theo phân phối có dạng:

</div>

×