1. Trang chủ
  2. » Cao đẳng - Đại học

đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử

57 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Dự báo tồn kho bán lẻ với Deep Learning trong doanh nghiệp bán lẻ hàng điện tử
Tác giả Lê Quang Trung, Hà Phi Hùng
Người hướng dẫn ThS. Nguyễn Công Hoan
Trường học Trường Đại học Công nghệ Thông tin, Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Công nghệ Phần mềm
Thể loại Đồ án 2
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 57
Dung lượng 1,83 MB

Cấu trúc

  • Chương 1: HÀNG TỒN KHO VÀ QUẢN LÝ HÀNG TỒN KHO (10)
    • 1.1 Hàng tồn kho là gì? (10)
    • 1.2 Ý nghĩa của hàng tồn kho (10)
    • 1.3 Hàng tồn kho trong lĩnh vực bán lẻ điện tử (11)
    • 1.4 Quản lý hàng tồn kho (11)
    • 1.5 Các dữ liệu dùng trong quản lý hàng tồn kho bán lẻ (13)
  • Chương 2: DỰ BÁO HÀNG TỒN KHO (15)
    • 2.1 Tổng quan về dự báo hàng tồn kho (15)
    • 2.2 Các dạng của chuỗi thời gian nhu cầu (16)
    • 2.3 Phân tích nhu cầu (18)
    • 2.4 Các mô hình dự báo nhu cầu (20)
    • 2.5 Đánh giá mô hình dự báo nhu cầu (21)
    • 2.6 Dự báo nhu cầu cho nhiều SKU (23)
    • 2.7 Dự báo tổng nhu cầu của các nhóm SKU (24)
    • 2.8 Dự báo nhu cầu trong lĩnh vực bán lẻ hàng điện tử (25)
  • Chương 3: TỔNG QUAN VỀ MỘT SỐ MÔ HÌNH DỰ BÁO TRUYỀN THỐNG (25)
    • 3.1 Hồi quy tuyến tính (25)
    • 3.2 Tự hồi quy kết hợp trung bình trượt mùa vụ (27)
  • Chương 4: TỔNG QUAN VỀ HỌC SÂU (30)
    • 4.1 Mạng nơ-ron sâu (30)
    • 4.2 Mạng nơ-ron hồi quy (31)
    • 4.3 Bộ nhớ dài-ngắn hạn (32)
  • Chương 5: KHẢO SÁT VÀ ĐÁNH GIÁ MỘT SỐ MÔ HÌNH DỰ BÁO HÀNG TỒN KHO CÓ SẴN (35)
    • 5.1 Dự báo nhu cầu hàng tồn kho bánh dùng gradient boosting (35)
    • 5.2 Dự báo nhu cầu hàng tồn kho thiết bị cắm trại dùng LSTM (36)
    • 5.3 Dự báo tổng nhu cầu hàng tồn kho thiết bị cắm trại của các cửa hàng dùng SARIMA (38)
  • Chương 6: XÂY DỰNG MÔ HÌNH DỰ BÁO HÀNG TỒN KHO HỌC SÂU (40)
    • 6.1 Bộ dữ liệu dùng để xây mô hình (40)
    • 6.2 Phân tích bộ dữ liệu (42)
    • 6.3 Xây dựng mô hình học sâu (45)
    • 6.4 Xây dựng mô hình hồi quy tuyến tính và ARIMA để so sánh (46)
    • 6.5 Đánh giá và so sánh (48)
  • KẾT LUẬN (55)
  • TÀI LIỆU THAM KHẢO (56)

Nội dung

Các mô hình học sâu đã dẫn đến nhiều tiến bộ trong nhận diện, xử lý, và tổng hợp hình ảnh, âm thanh, văn bản và dữ liệu có cấu trúc như dữ liệu về hàng tồn kho.Trong lĩnh vực bán lẻ điện

HÀNG TỒN KHO VÀ QUẢN LÝ HÀNG TỒN KHO

Hàng tồn kho là gì?

Hàng tồn kho là các tài sản của một doanh nghiệp được lưu trữ trong kho để bán hay dùng trong sản xuất Hàng tồn kho bao gồm các nguyên vật liệu và bán thành phẩm dùng trong sản xuất cũng như các thành phẩm cuối cùng để bán cho khách hàng.

Tùy vào cách phân loại, hàng tồn kho có các loại như nguyên vật liệu, bán thành phẩm, thành phẩm, vật tư tiêu hao (consumable), hàng đệm/an toàn

(buffer/safety stock), hàng mong đợi (anticipatory stock), hàng MRO (hàng bảo trì, thay thế, điều hành cung cấp), hàng đang vận chuyển (transit inventory),…

Một đối tượng hàng nằm tại một vị trí cụ thể nào đó trong kho được gọi là một SKU (Stock-keeping Unit).

Ý nghĩa của hàng tồn kho

Hàng tồn kho được dùng trong cả doanh nghiệp bán lẻ, sản xuất và phân phối/hậu cần Nhiều doanh nghiệp cần giữ hàng tồn kho để phòng ngừa các thay đổi trong nhu cầu khách hàng, giá cả và sự cố từ nhà cung cấp Hàng tồn kho cũng giúp quá trình sản xuất dễ dự đoán hơn Ngoài ra, nhiều doanh nghiệp cũng giữ hàng tồn kho vì họ mua với số liệu nhiều từ nhà cung cấp để được giảm giá Tóm lại, các doanh nghiệp cần giữ hàng tồn kho để giúp giảm thiểu các rủi ro về sản xuất và kinh doanh cũng như làm các công việc hoạch định và quản lý dễ dàng hơn.

Hàng tồn kho mang theo nó nhiều chi phí khác nhau Khi giữ hàng tồn kho, một doanh nghiệp có thể phải trả tiền thuê kho, mặt bằng kho, tiền cho nhân sự và các thiết bị trong kho, Hàng tồn kho giữ quá lâu cũng có thể bị hỏng, lạc hậu hay giảm giá trị dẫn đến các chi phí cơ hội và tiêu hủy Đây gọi chung là chi phí giữ hàng Chi phí mua hàng từ nhà cung cấp nhằm bổ sung kho và chi phí cho bộ phận thu mua, vận chuyển và nhập kho cũng được tính là một loại chi phí của hàng tồn kho Đây gọi là chi phí mua hàng.

Vì tầm quan trọng và các chi phí đi kèm của hàng tồn kho, ta cần phải quản lý nó một cách hiệu quả để không làm gián đoạn quá trình kinh doanh và ảnh hưởng đến uy tín doanh nghiệp và niềm tin khách hàng.

Hàng tồn kho trong lĩnh vực bán lẻ điện tử

Hàng tồn kho trong các lĩnh vực kinh doanh khác nhau sẽ có các đặc thù khác nhau mà ta cần lưu ý khi làm việc với chúng Trong lĩnh vực bán lẻ điện tử, các sản phẩm điện tử rất đa dạng về mẫu, dòng,… Sản phẩm điện tử thường có vòng đời ngắn vì mỗi năm các doanh nghiệp tung ra thị trường những mẫu mới Thông số (Vd: Kích thước màn hình, lượng RAM,…) và hãng của sản phẩm điện tử có sự ảnh hưởng mạnh hơn đến quyết định của khách hàng so với các chủng loại sản phẩm khác Một số loại sản phẩm điện tử như điện thoại thông minh có nhu cầu mua rất cao ngay sau ngày ra mắt rồi giảm dần từ lúc đó trở đi

Các đặc thù này có sự ảnh hưởng đến nghiệp vụ quản lý hàng tồn kho, đặc biệt là nghiệp vụ dự báo nhu cầu để lấy lượng hàng phù hợp Sự ảnh hưởng này sẽ được nói nhiều hơn trong mục 2.4.

Quản lý hàng tồn kho

Quản lý hàng tồn kho bao gồm công việc kiểm toán số lượng và giá trị hàng, quản lý vị trí để hàng, nhận dạng hàng, bổ sung hàng và hoạch định nhu cầu Trong đề tài này, nghiệp vụ mà ta chú ý đến sẽ là hoạch định nhu cầu (demand planning) và bổ sung hàng (stock replenishment).

Một mô hình để quản lý bổ sung hàng phải đảm bảo không xảy ra tình trạng hết hàng (out-of-stock) và đảm bảo cân bằng giữa chi phí giữ hàng và chu phí mua hàng Nếu mua hàng nhiều lần, mỗi lần mua ít thì sẽ giảm được chi phí giữ hàng nhưng tăng chi phí mua hàng Ngược lại, nếu mua hàng ít lần, mỗi lần mua nhiều thì giảm chi phí mua hàng nhưng tăng chi phí giữ hàng Một mô hình quản lý bổ sung phải giúp các nhà quản lý tối ưu hóa quá trình bổ sung hàng để giảm thiểu tổng chi phí nhất có thể Tùy theo sự phụ thuộc lẫn nhau về nhu cầu của các SKU, ta có có mô hình quản lý khác nhau.

Với hàng tồn kho có nhu cầu độc lập như thành phẩm/sản phẩm trong phân phối và bán lẻ, mô hình Điểm đặt hàng lại (Reorder Point hay ROP) hay được dùng. Với hàng tồn kho có nhu cầu phụ thuộc như nguyên vật liệu và bán thành phẩm trong sản xuất, ta có mô hình Hoạch định nhu cầu vật liệu (Material Requirement Planning hay MRP) Ngoài ra còn có mô hình Sản xuất tức thời (Just-in-Time hay JIT).

Với ROP, ta tính một mức mà nếu số lượng của một SKU rơi xuống mức đó, ta tiến hành bổ sung nó Công thức tính mức này là:

ROP = Lượng an toàn + (Lượng dùng tháng x Thời gian bổ sung) Để tính lượng hàng cần bổ sung sao cho tiết kiệm cả chi phí giữ hàng và mua hàng, ta dùng công thức Số lượng Đặt hàng Kinh tế (Economic Order Quantity hay EOQ):

 Q là số lượng hàng hóa tối ưu để đặt.

 D là nhu cầu trong một khoảng thời gian cụ thể (thường là nhu cầu theo năm).

 S là chi phí mua hàng cho mỗi lần đặt hàng.

 H là tỷ lệ chi phí giữ hàng, thường là tỷ lệ năm, được áp dụng cho giá trị hàng tồn kho.

Về lý thuyết, lượng dùng tháng và thời gian bổ sung hàng trong ROP là không đổi nhưng trên thực tế, chúng luôn thay đổi theo thời gian Để tăng hiệu quả quản lý, ta cần dự báo lượng dùng (hay còn gọi là nhu cầu) và thời gian bổ sung trong tương lai của các SKU.

Các dữ liệu dùng trong quản lý hàng tồn kho bán lẻ

Trong quản lý hàng tồn kho, cụ thể là quản lý bổ sung cho hàng tồn kho trong bán lẻ, các dữ liệu sau đây thường được lưu trữ, tính toán và sử dụng:

Lịch sử nhu cầu của SKU: Một hệ thống quản lý kho sẽ lưu các đơn đặt hàng từ kho Mỗi đơn đặt hàng sẽ chứa các SKU được đặt và số lượng đặt Nhu cầu (demand) x(t) của một SKU tại thời điểm t thường được định nghĩa là tổng số lượng d(i,t) của SKU trong n(t) đơn hàng i trong thời điểm t: x(t)=d (1 ,t ) +…+d (n ( t ) ,t )

Thời điểm t có thể là năm, tháng, tuần, ngày, thậm chí giờ Lịch sử nhu cầu của một SKU là một chuỗi thời gian (time series) các x(t) với 1 thiện tại Tùy vào lượng dữ liệu đang có, có hai phương pháp dự báo nhu cầu:

Dự báo định lượng: Là sử dụng các số liệu quá khứ để dự báo tương lai Ta có thể mô hình hóa bài toán này như sau: x t +1 =f(x t , x t−1 , x t−2 , … , ε)

Với xt là nhu cầu ở thời điểm t hiện tại ε là lỗi gây ra bởi các biến động ngẫu nhiên và ảnh hưởng từ các biến liên quan mà ta không kèm vào mô hình.

Có rất nhiều mô hình toán học để thực hiện dự báo định lượng Cả các kỹ thuật xác suất thống kê truyền thống và máy học (bao gồm học sâu) đều đã được áp dụng để xây dựng các mô hình định lượng Phương pháp này yêu cầu có đủ dữ liệu quá khứ để kết quả dự báo có độ chính xác đủ tốt Nếu không có đủ dữ liệu, ta cần sử dụng dự báo định tính Trong đề tài này, ta tập trung vào dự báo định lượng.

Dự báo định tính: Là sử dụng kiến thức miền của các chuyên gia để phán đoán tương lai Ta dùng phương pháp này khi không có đủ số liệu để dự báo định lượng ở độ chính xác chấp nhận được Dự báo nhu cầu của một sản phẩm mới, sự gia nhập của một đối thủ mới vào thị trường hay các thay đổi mới trong điều kiện thị trường và kinh tế là một số trường hợp mà ta không có đủ hoặc hoàn toàn không có số liệu quá khứ để dự báo định lượng Phương pháp này cũng có thể được dùng để điều chỉnh dự báo định lượng trước các sự kiện mới Dự báo định tính mang tính chủ quan và có các hạn chế Tuy nhiên, có các cách tiếp cận có hệ thống và khoa học để giảm thiểu các hạn chế này và cải thiện độ chính xác.

Các dạng của chuỗi thời gian nhu cầu

Chuỗi thời gian nhu cầu của một SKU có các hình dạng điển hình của một chuỗi thời gian:

Dạng ngang (horizontal): Nhu cầu chỉ biến động nhẹ quanh một mức nhất định mà không có xu hướng hay mùa Trung bình của nhu cầu khá ổn định Đồ thị nằm ngang Gọi a là nhu cầu trung bình, có thể mô tả hình dạng này như sau: x(t)=a

Xu hướng (trend): Nhu cầu tăng hay giảm dần theo thời gian Đồ thị có thể

(nhưng không nhất thiết) là một đường thẳng có độ dốc b và cắt trục tung ở a Có thể mô tả hình dạng này như sau: x(t)=a+bt

Mùa vụ (seasonal): Nhu cầu biến động lặp lại theo mùa Đồ thị dao động lên xuống với chu kì khá cố định Gọi a, b như phương trình xu hướng và r(t) là hệ số mùa ở thời điểm t, có thể mô tả hình dạng này như sau: x(t)=(a+bt)r(t) r(t) = 1 nếu không có ảnh hưởng mùa, r(t) > 1 nếu ảnh hưởng mùa làm x(t) cao hơn xu hướng, r(t) < 1 nếu ảnh hưởng mùa làm x(t) thấp hơn xu hướng.

Chu kỳ (cyclic): Nhu cầu còn có thể biến động tăng giảm với tần suất không cố định gây ra bởi các điều kiện kinh tế như suy thoái, bùng nổ, và thường liên quan đến chu kì kinh doanh (business cycle) Thời gian của các biến động này thường tối thiểu là 2 năm.

Trong thực tế, chuỗi thời gian nhu cầu sẽ có sự hiện diện của tất cả các hình dạng này Giá trị x của một chuỗi thời gian tại thời điểm t có thể được phân rã thành các thành phần như sau: x=x trend−cycle +x season +x residual

Với xtrend-cycle là thành phần xu hướng-chu kì, xseason là thành phần mùa vụ, xresidual là thành phần còn lại (biến động ngẫu nhiên và từ các yếu tố không được xét).

Tùy vào khối lượng bán (sales volume) mà hình dạng nào sẽ phổ biến hơn Nếu khối lượng thấp, hình dạng ngang thường sẽ mạnh hơn Nếu khối lượng trung bình hay cao thì thường sẽ có tất cả các dạng trên.

Hình 2.1 Chuỗi thời gian có mùa vụ và chu kỳ

Hình 2.2 Chuỗi thời gian có mùa vụ và xu hướng

Phân tích nhu cầu

Để dự báo chuỗi thời gian nhu cầu của một SKU, trước hết ta cần thu thập chuỗi thời gian nhu cầu quá khứ của SKU đó (như đã định nghĩa ở mục 1.5) Sau đó, ta cần phân tích bằng các phương pháp số học và trực quan (dùng các loại đồ thị) Vì một chuỗi thời gian thường sẽ xuất hiện nhiều hình dạng, ta có thể dùng các kỹ thuật như phân rã STL (Phân tích mùa vụ-xu hướng bằng LOESS) để tách mỗi dạng ra thành một đồ thị để có thể thấy rõ xu hướng, mùa vụ, và các biến động bất thường hơn.

Hình 2.3 Phân rã chuỗi thời gian dùng STL để phân tích xu hướng, mùa vụ và biến động bất thường.

Khi phân rã bằng STL, ta tính được các thông số sau: Độ mạnh xu hướng (từ 0 là không có xu hướng đến 1 là chỉ có xu hướng):

Var(T t +R t )) Độ mạnh mùa vụ (từ 0 là không có mùa vụ đến 1 là chỉ có mùa vụ):

Var(S t +R t ))Với Rt là thành phần còn lại, St là thành phần mùa vụ, Tt là thành phần xu hướng tại thời điểm t.

Ngoài ra, còn có các thông số như thời điểm mạnh mùa nhất, thời điểm yếu mùa nhất, độ gai của thành phần còn lại, độ tuyến tính và độ cong của xu hướng

Ta cũng có thể phân tích hàm tự tương quan (ACF) của chuỗi thời gian để xác định xu hướng và mùa vụ: r k t=k+1 ∑

Với yt là giá trị chuỗi tại thời điểm t, ´ y là giá trị trung bình của chuỗi Trong đồ thị ACF, các cột càng xa càng giảm biểu thị xu hướng, các cột cao tại các điểm cách đều biểu thị mùa vụ.

Hình 2.4 Đồ thị ACF của một chuỗi thời gian tháng có xu hướng và mùa vụ

Các thông số xác suất thống kê truyền thống như trung bình (mean), trung vị (median), các bách phân vị (percentile),… cũng có ích khi phân tích chuỗi thời gian.

Các mô hình dự báo nhu cầu

Sau khi phân tích dữ liệu xong, ta bắt đầu chọn và khớp một mô hình dự báo với chuỗi thời gian quá khứ Có rất nhiều mô hình đã được đề ra và áp dụng vào dự báo chuỗi thời gian Cả các kỹ thuật xác suất thống kê truyền thống, máy học và học sâu đều đã được sử dụng Sau đây là một số mô hình phổ biến:

Hồi quy tuyến tính (linear regression): Ta có các loại mô hình hồi quy tuyến tính và hồi quy phi tuyến trong xác suất thống kê truyền thống.

Trung bình trượt (moving average): Ta có các mô hình như Tự hồi quy

Kết hợp Trung bình trượt (Autoregresive Integrated Moving Average hay ARIMA) và biến thể hỗ trợ mùa vụ Tự hồi quy Kết hợp Trung bình trượt Mùa vụ (Seasonal ARIMA hay SARIMA).

Làm mịn lũy thừa (exponential smoothing): Ta có mô hình Holt-Winters và các mô hình ETS.

Hồi quy động (dynamic regression): Là các mô hình kết hợp hồi quy tuyến tính và trung bình trượt Chúng có thể tích hợp không chỉ các giá trị nhu cầu quá khứ mà còn các giá trị có ảnh hưởng khác như các chỉ số kinh tế, thời tiết, nhu cầu của các SKU khác,…

Học máy (machine learning): Gần đây, các mô hình học máy như cây quyết định (decision tree), rừng ngẫu nhiên (random forest), máy vector hỗ trợ (support vector machine), gradient boosting,… ngày càng được dùng nhiều hơn Các mô hình này có thể nắm bắt các đặc điểm, hình dạng phức tạp và không hiển nhiên mà các mô hình truyền thống trên khó hoặc không làm được Để khai thác khối lượng dữ liệu ngày càng lớn, các mô hình học sâu như mạng nơ-ron hồi quy (Recurrent Neural Network hay RNN) và các biến thể của nó như bộ nhớ dài-ngắn hạn (Long Short-Term Memory hay LSTM) cũng đã được áp dụng vào dự báo chuỗi thời gian.

Mỗi mô hình có các đặc thù, ưu nhược điểm và tính chất dữ liệu cần thiết để hiệu quả khác nhau Mỗi mô hình cũng có các tham số mà ta cần chọn để khớp được dữ liệu quá khứ nhưng không quá khớp làm mất tính tổng quát Ta cần phân tích dữ liệu kĩ để chọn mô hình và tham số tốt nhất cho việc dự báo.

Đánh giá mô hình dự báo nhu cầu

Sau khi đã chọn và xây dựng một mô hình dự báo, ta cần đánh giá hiệu suất/ độ chính xác của nó khi đã có dữ liệu thật cho các thời điểm được dự báo Có rất nhiều độ đo khác nhau để đánh giá các mô hình Với p(t) = xdự báo(t) và a(t) = x(t) thật, một số độ đo hay dùng là:

Hệ số biến thiên (Coefficient of Variation hay Cov):

Với σ là độ lệch chuẩn của các sai số e(t) = p(t) – a(t) tại các thời điểm t. p(N) là nhu cầu dự báo ở thời điểm gần đây nhất N.

Sai số tuyệt đối trung bình (Mean Absolute Error hay MAE):

Sai số toàn phương trung bình (Mean Squared Error hay MSE):

Sai số căn toàn phương trung bình (Root Mean Squared Error hay RMSE):

Sai số căn toàn phương logarit trung bình (Root Mean Squared

RMSLE=√ 1 n ∑ t=1 n (log log ( p (t )+1)−log log(a(t)+1)) 2

Dựa vào độ đo và đồ thị so sánh nhu cầu thật-dự báo, ta điều chỉnh các tham số của mô hình để cải thiện độ chính xác.

Ta có thể đánh giá mô hình một cách chính xác hơn dùng kỹ thuật kiểm chứng chéo (cross-validation) Phân chuỗi thời gian ra thành nhiều nhóm, mỗi nhóm gồm một chuỗi thời gian để huấn luyện và một chuỗi thời gian nằm sau nó để đánh giá Huấn luyện và đánh giá mô hình trên mỗi nhóm rồi tổng hợp kết quả lại Kỹ thuật này giúp tránh tình trạng quá khớp và đảm bảo mô hình có tính tổng quan khi ta thực hiện điều chỉnh tham số.

Hình 2.5 Minh họa việc tách chuỗi thời gian trong kiểm chứng chéo.

Dự báo nhu cầu cho nhiều SKU

Để dự báo nhu cầu của nhiều SKU, có hai cách tiếp cận là từ trên xuống và từ dưới lên:

Từ dưới lên (bottom-up): Ta đơn giản là tiến hành dự báo chuỗi thời gian nhu cầu của từng SKU theo các phương pháp đã trình bày ở mục 2.4.

Từ trên xuống (top-down): Cộng nhu cầu xi(t) của các SKU i trong một nhóm m SKU tại các thời điểm t lại để tạo một chuỗi thời gian tổng nhu cầu x(t): x(t)=∑ i=1 m x i (t)

Dự báo chuỗi thời gian này theo các phương pháp đã trình bày ở mục 2.4 Từ tổng nhu cầu, ta có thể tính nhu cầu của từng SKU bằng cách tính tỉ lệ đóng góp pi của từng SKU i vào tổng nhu cầu: p i ∑ t=1

Sau đó, tính nhu cầu của SKU i từ tổng nhu cầu như sau: x i (N+1)=p i x(N+1)

Dự báo tổng nhu cầu của các nhóm SKU

Ngoài dự báo nhu cầu cho từng SKU, ta còn có thể dự báo tổng nhu cầu của nhiều SKU trong một nhóm nào đó Để thực hiện, ta có thể dự báo nhu cầu của từng SKU trong một nhóm rồi cộng lại để có tổng nhu cầu tương lai (phương pháp từ dưới lên hay bottom-up) hoặc tính các tổng nhu cầu quá khứ và dự báo từ chúng (phương pháp từ trên xuống hay top-down) Ta hay tính tổng nhu cầu của các nhóm SKU sau:

Sản phẩm (product): Các SKU của cùng một sản phẩm.

Họ sản phẩm (product family): Các SKU của các sản phẩm liên quan với nhau, được sản xuất bởi cùng một công ty dưới cùng một thương hiệu.

Dòng sản phẩm (product line): Các SKU của các sản phẩm có liên quan chặt chẽ với nhau vì chúng hoạt động theo cách tương tự và được bán cho cùng một nhóm khách hàng.

Nhóm sản phẩm (product group): Các SKU của các sản phẩm cùng danh mục.

Hỗn hợp sản phẩm (product mix): Các SKU của cùng một doanh nghiệp. Cửa hàng (store): Các SKU tại một cửa hàng.

Vùng địa lý (geographical region): Các SKU tại một vùng địa lý như thành phố, tỉnh, bang, quốc gia, châu lục,…

Dự báo nhu cầu trong lĩnh vực bán lẻ hàng điện tử

Khi dự báo nhu cầu cho các SKU trong lĩnh vực bán lẻ hàng điện tử, cần chú ý đến những đặc thù của hàng điện tử Một số đặc thù của việc dự báo nhu cầu trong bán lẻ hàng điện tử là: Ảnh hưởng của nhu cầu 1-3 tháng trước: Nhu cầu của một tới ba tháng trước tháng đang xét có sự ảnh hưởng đáng kể đến nhu cầu của tháng đang xét.

Lịch sử nhu cầu thường ngắn: Vì các doanh nghiệp thường xuyên ra mắt các sản phẩm điện tử mới, lịch sử nhu cầu của các mặt hàng này thường ngắn gây khó khăn trong dự báo Một số phương pháp để giải quyết vấn đề này là sử dụng lịch sử nhu cầu của các sản phẩm đời cũ tương tự, tích hợp các mô hình dự báo của nhiều nhóm sản phẩm ngắn hạn, Ảnh hưởng của thông số, thương hiệu và ngày ra mắt: Như đã trình bày ở mục 1.3, các yếu tố liên quan đến thông số, thương hiệu và ngày ra mắt có ảnh hưởng mạnh hơn đến nhu cầu của hàng điện tử so với các loại hàng khác Các thông tin này sẽ có ích với các mô hình dự báo.

TỔNG QUAN VỀ MỘT SỐ MÔ HÌNH DỰ BÁO TRUYỀN THỐNG

Hồi quy tuyến tính

Hồi quy tuyến tính là một phương pháp thống kê được sử dụng để dự đoán một biến phụ thuộc liên tục (mục tiêu) dựa trên một hoặc nhiều biến độc lập (đặc trưng đầu vào) Kỹ thuật này giả định mối quan hệ tuyến tính giữa biến phụ thuộc và biến độc lập, tức là biến phụ thuộc thay đổi tỷ lệ thuận với sự thay đổi của biến độc lập Nói cách khác, hồi quy tuyến tính được sử dụng để xác định mức độ mà một hoặc nhiều biến có thể dự đoán giá trị của biến phụ thuộc.

Mô hình hồi quy tuyến tính là hàm số f có dạng: y = w 0 + w 1 x 1 + w 2 x 2 + + w n x n

● 𝑦 là biến phụ thuộc (dependent variable)

● 𝑥1, 𝑥2, 𝑥𝑛 là các biến độc lập (independent variable)

● 𝑤 1 ,𝑤 2 , ,𝑤 n là những tham số mô hình.

Hình 3.1 Mô hình hồi quy tuyến tính

Phương trình hồi quy tuyến tính có rất nhiều ứng dụng trong thực tiễn và là một trong những lớp mô hình đặc biệt quan trọng trong machine learning Xét đến một vài ví dụ tiêu biểu, chẳng hạn như về các dự báo trên truyền hình về chỉ số lạm phát, tốc độ tăng trưởng GDP của quốc gia hay dự báo về nhu cầu thị trường của một doanh nghiệp để chuẩn bị kế hoạch sản xuất kinh doanh Trong tài chính, chúng ta có thể dự báo giá chứng khoán và các chỉ số tài chính dựa trên hồi qui tuyến tính.

Hồi quy tuyến tính là một công cụ tuyệt vời để phân tích mối quan hệ giữa các biến nhưng nó không được khuyến khích cho hầu hết các ứng dụng thực tế vì nó đơn giản hóa quá mức các vấn đề trong thế giới thực bằng cách giả định mối quan hệ tuyến tính giữa các biến.

Tự hồi quy kết hợp trung bình trượt mùa vụ

SARIMA, viết tắt của Tự hồi quy kết hợp trung bình trượt mùa vụ là một mô hình dự báo chuỗi thời gian linh hoạt và được sử dụng rộng rãi Đây là phần mở rộng của mô hình ARIMA không theo mùa, được thiết kế để xử lý dữ liệu theo các mẫu theo mùa SARIMA nắm bắt cả sự phụ thuộc ngắn hạn và dài hạn trong dữ liệu, khiến nó trở thành một công cụ mạnh mẽ để dự báo Nó kết hợp các khái niệm về mô hình tự hồi quy (AR), mô hình tích hợp (I) và đường trung bình trượt (MA) với các thành phần theo mùa.

SARIMA hoạt động bằng cách mô hình hóa liên kết giữa các giá trị trong quá khứ và hiện tại của chuỗi thời gian và nhận dạng các mẫu trong dữ liệu

SARIMA sử dụng nhiều mô hình Tự hồi quy (AR) và trung bình trượt (MA), cũng như sự khác biệt, để nắm bắt xu hướng và tính thời vụ trong dữ liệu.

Biểu diễn toán học của SARIMA như sau:

● y t là chuỗi thời gian được quan sát tại thời gian t.

● B là toán tử dịch ngược, đại diện cho toán tử độ trễ.

● ϕ 1 là hệ số tự hồi quy không theo mùa.

● θ 1 là hệ số trung bình trượt không theo mùa.

● Θ 1 là hệ số trung bình trượt theo mùa.

● s là khoảng thời gian một mùa.

● ε t là sai số nhiễu trắng tại thời điểm t.

SARIMA được ứng dụng trong nhiều lĩnh vực khác nhau, chẳng hạn như: dự đoán các chỉ số kinh tế như lạm phát và GDP, dự báo doanh thu và nhu cầu đối với các sản phẩm theo mùa, dự đoán mức tiêu thụ và nhu cầu năng lượng, lập mô hình tiếp nhận bệnh nhân và bùng phát dịch bệnh, dự đoán giá cổ phiếu và xu hướng thị trường,…

Mô hình SARIMA có hiệu quả tốt trong việc nắm bắt các mẫu mùa vụ và xử lý được các dữ liệu không có tính dừng Tuy nhiên, nhược điểm của mô hình này là sự phức tạp trong việc xác định các tham số cho mô hình và cần có lượng lớn dữ liệu lịch sử để có thể xây dựng mô hình.

TỔNG QUAN VỀ HỌC SÂU

Mạng nơ-ron sâu

Mạng nơ-ron sâu (DNN) là một loại mạng thần kinh nhân tạo có nhiều lớp, cho phép nó học các mẫu phức tạp từ dữ liệu Mỗi lớp bao gồm các nút hoặc nơ-ron được kết nối với nhau để xử lý và biến đổi dữ liệu đầu vào Các lớp thường được chia thành lớp đầu vào, một hoặc nhiều lớp ẩn và lớp đầu ra.

Hình 4.1 Mô hình mạng nơ-ron sâu

Trong quá trình huấn luyện dữ liệu, các mối quan hệ toán học được chứa trong các nút sẽ được cập nhật bằng cách truyền ngược Sau khi huấn luyện, các mối quan hệ được cập nhật được sử dụng làm phương trình dự đoán các biến đầu ra dựa trên các biến đầu vào.

Với các mạng nơ-ron truyền thống, một trong những nhiệm vụ tốn nhiều thời gian nhất là phát triển "các tính năng" được nhập vào hệ thống Các tính năng là đặc điểm chính của một tập dữ liệu nhất định là chìa khóa để xác định kết quả chính xác Để phát triển các tính năng, bạn cần các doanh nghiệp vừa và nhỏ dành thời gian xem xét dữ liệu đầu vào mẫu để xác định và mã hóa các tính năng để mạng nơ- ron hiểu chúng.

Với mạng lưới thần kinh học sâu, việc xác định các tính năng chính là không cần thiết Thay vào đó, các mạng lưới thần kinh tự xác định các tính năng này và sau đó đưa ra suy luận về những tính năng nào có liên quan đến việc xác định đầu ra thích hợp Các mạng thần kinh này cần các mẫu cùng với dữ liệu sự thật cơ bản nhưng việc nhận dạng tính năng tự động làm giảm đáng kể khối lượng công việc cần thiết.

Các ứng dụng hoạt động tốt nhất liên quan đến phân tích hình ảnh và lời nói Xác định các tính năng thường rất khó khăn cả từ góc độ chủ đề và chiều rộng của các tính năng có sẵn Mạng nơ-ron sâu có thể xác định tất cả các tính năng và sau đó đưa ra quyết định tính năng nào có liên quan. Điểm yếu lớn nhất của DNN là lượng dữ liệu cao cần thiết để đào tạo chúng Không giống như các mạng nơ-ron thông thường, mà các chi tiết tính năng được cung cấp như một phần của đầu vào, DNN cần đủ dữ liệu để tự xác định các tính năng Kết quả là, họ thường yêu cầu hơn 10 triệu mẫu để thực hiện một cách đáng tin cậy.

Mạng nơ-ron hồi quy

Mạng nơ-ron hồi quy (RNN) là một mô hình học sâu được đào tạo để xử lý và chuyển đổi dữ liệu đầu vào tuần tự thành đầu ra dữ liệu tuần tự cụ thể RNN là một hệ thống phần mềm bao gồm nhiều thành phần được kết nối với nhau mô phỏng cách con người thực hiện chuyển đổi dữ liệu tuần tự, chẳng hạn như dịch văn bản từ ngôn ngữ này sang ngôn ngữ khác RNN phần lớn đang được thay thế bằng trí tuệ nhân tạo (AI) dựa trên máy biến áp và các mô hình ngôn ngữ lớn (LLM), hiệu quả hơn nhiều trong việc xử lý dữ liệu tuần tự.

Hình 4.2 Mô hình Mạng nơ-ron hồi quy

RNN được tạo thành từ các nơ-ron: các nút xử lý dữ liệu phối hợp với nhau để thực hiện các tác vụ phức tạp Các nơ-ron được tổ chức thành các lớp đầu vào, đầu ra và ẩn Lớp đầu vào nhận thông tin để xử lý và lớp đầu ra cung cấp kết quả Việc xử lý, phân tích và dự đoán dữ liệu diễn ra ở lớp ẩn.

RNN hoạt động bằng cách lần lượt truyền dữ liệu tuần tự nhận được đến các lớp ẩn Tuy nhiên, RNN cũng có quy trình làm việc tự lặp lại hay hồi quy: lớp ẩn có thể ghi nhớ và sử dụng các đầu vào trước đó cho các dự đoán trong tương lai trong một thành phần bộ nhớ ngắn hạn Quy trình này sử dụng đầu vào hiện tại và bộ nhớ đã lưu trữ để dự đoán chuỗi tiếp theo.

RNN được thể hiện ở các phương trình (1) và (2) Trong công thức W, U, V là các trọng số, 𝑠t là trạng thái bước t của lớp ẩn, nó là đơn vị bộ nhớ của mạng, 𝑦t là đầu ra của bước t, φ là hàm kích hoạt phi tuyến và nó thường là hàm tanh. s t =φ( U x t +W s t−1 )( 1) y t =softmax( V s t )(2)

Các ứng dụng của mạng nơ ron hồi quy rất đa dạng và phong phú trong nhiều lĩnh vực, chẳng hạn như: nhận dạng giọng nói, dịch máy, phân loại video bằng tag, nhận diện khuôn mặt,…

Mạng nơ-ron hồi quy (RNN) có thể xử lý được các dữ liệu tuần tự hoặc phụ thuộc vào thời gian, bằng cách sử dụng bộ nhớ ngắn hạn để lưu trữ trạng thái trước đó Tuy nhiên, mô hình lại rất khó huấn luyện và dễ gặp vấn đề biến mất hoặc bùng nổ độ dốc.

Bộ nhớ dài-ngắn hạn

Bộ nhớ ngắn hạn dài (LSTM) là mạng nơ-ron hồi quy (RNN), nhằm giải quyết vấn đề độ dốc biến mất hiện diện trong RNN truyền thống Nó vượt trội trong việc nắm bắt các mối phụ thuộc dài hạn, khiến nó trở nên lý tưởng cho các nhiệm vụ dự đoán trình tự.

Hình 4.3 Sơ đồ của một LSTM cell. Ô nhớ trong LSTM được điều khiển bởi ba cổng: cổng vào, cổng quên và cổng ra Các cổng này quyết định thông tin nào cần thêm vào, loại bỏ và xuất ra khỏi ô nhớ Cổng đầu vào kiểm soát thông tin nào được thêm vào ô nhớ Cổng quên kiểm soát thông tin nào bị xóa khỏi ô nhớ Và cổng đầu ra kiểm soát thông tin nào được đưa ra từ ô nhớ Điều này cho phép LSTM giữ lại hoặc loại bỏ thông tin có chọn lọc khi nó truyền qua mạng, điều này cho phép chúng tìm hiểu các phụ thuộc dài hạn.

Giả sử có h các đơn vị ẩn, kích thước lô là n , và số lượng đầu vào là d Như vậy, đầu vào là X t và trạng thái ẩn của bước thời gian trước đó là H t−1 Tương ứng, các cổng tại bước thời gian được xác định như sau: cổng vào là I t , cổng quên là F t , cổng ra là O t Chúng được tính như sau:

 W xi , W xf , W xo , W hi , W ho , W hf là các trọng số của mô hình.

 b i , b o , b f là các tham số độ lệch.

LSTM thể áp dụng để phân loại, xử lý và dự đoán dữ liệu dựa trên chuỗi thời gian, chẳng hạn như chữ viết tay, nhận dạng giọng nói, dịch máy, phát hiện hoạt động giọng nói, điều khiển robot , trò chơi điện tử, và chăm sóc sức khỏe. Ưu điểm của LSTM là nắm bắt được sự phụ thuộc lâu dài và xử lý tốt dữ liệu tuần tự Tuy nhiên, Việc đào tạo mô hình có thể tốn nhiều thời gian, tài nguyên tính toán và yêu cầu lượng lớn dữ liệu huấn luyện.

KHẢO SÁT VÀ ĐÁNH GIÁ MỘT SỐ MÔ HÌNH DỰ BÁO HÀNG TỒN KHO CÓ SẴN

Dự báo nhu cầu hàng tồn kho bánh dùng gradient boosting

Vấn đề: Cho lịch sử bán hàng và trả hàng của từng sản phẩm của công ty bán bánh Grupo Bimbo tại Mexico, dự báo nhu cầu của từng sản phẩm trong tương lai.

Bộ dữ liệu: Gồm lịch sử bán hàng, danh mục khách hàng, sản phẩm, vùng địa lý Lịch sử bán hàng có 11 cột và 74,180,464 điểm dữ liệu Các cột được dùng trong xây dựng mô hình là số tuần (Semana), doanh số tuần (Venta_uni_hoy), lượng hàng bị trả vào tuần sau (Dev_uni_proxima) và lượng nhu cầu

(Demanda_uni_equil) Mục tiêu dự báo là lượng nhu cầu.

Hình 5.1 Doanh số trung bình của từng khách hàng theo tuần (Semana)

Mô hình: Sử dụng LGBMRegressor của framework LightGBM với tốc độ học (learning_rate) 0.01, số cây (n_estimators) 3000 và số lá tối đa (num_leaves) 5 để huấn luyện một mô hình học máy dùng gradient boosting. Đánh giá: Áp dụng kiểm chứng chéo k-fold với k = 3 cho mô hình, độ đo

RMSLE trung bình là 0.58584 với độ lệch chuẩn là 0.01456 Điều này có nghĩa mô hình có hiệu suất rất tốt

Nhận xét: Mô hình có độ chính xác cao hơn các mô hình máy học truyền thống khác và có tích hợp lượng hàng trả về vào dự báo nhu cầu Tuy nhiên, khó có thể thông hiểu ý nghĩa và bản chất của mô hình Điều này có thể dẫn đến các vấn đề khi sử dụng trong môi trường doanh nghiệp đòi hỏi làm rõ bản chất của mô hình

Mô hình cũng không tính lượng hàng đang vận chuyển hay xuất kho vào nhu cầu do không có dữ liệu.

Dự báo nhu cầu hàng tồn kho thiết bị cắm trại dùng LSTM

Vấn đề: Cho lịch sử bán hàng thiết bị cắm trại của công ty bán lẻ Walmart, dự báo nhu cầu của thiết bị cắm trại của từng tháng trong năm tương lai.

Bộ dữ liệu: Gồm lịch sử bán hàng, danh mục ngày bán hàng Lịch sử bán hàng có 1947 cột và 30,464 điểm dữ liệu Các cột được dùng trong xây dựng mô hình là là doanh số bán được trong ngày 1,2,…,1941 (d_1, d_2,…,d_1941) và id của sản phẩm (id) Mục tiêu dự báo là lượng nhu cầu.

Hình 5.2 Doanh số theo ngày của một sản phẩm (đã được scale về [-1, 1])

Mô hình: Sử dụng Residual LTSM của framework PyTorch với tốc độ học

(learning_rate) 1 e-4 , số nơ-ron đầu vào (input_size) 1, số nơ-ron ẩn (hidden_size) 64, số lớp (num_layers) 3.

Hình 5.3 Độ đo MSE của mô hình sau mỗi epoch khi huấn luyện trên tập huấn luyện và kiểm định Đánh giá: Độ đo MSE là 0.05552 Điều này có nghĩa mô hình có hiệu suất khá tốt.

Hình 5.4 Nhu cầu dự báo (xanh) và nhu cầu thật (cam) của sản phẩm ở hình 5.2.

Nhận xét: Mô hình dự báo khá tốt Mô hình nắm bắt được sự phụ thuộc lâu dài và xử lý tốt dữ liệu tuần tự Tuy nhiên, nhược điểm của mô hình là việc đào tạo mô hình có thể tốn nhiều thời gian, tài nguyên tính toán và yêu cầu lượng lớn dữ liệu huấn luyện Ngoài ra còn có nhược điểm không tính lượng hàng đang vận chuyển, xuất kho, bị trả về do không có dữ liệu.

Dự báo tổng nhu cầu hàng tồn kho thiết bị cắm trại của các cửa hàng dùng SARIMA

Vấn đề: Cho lịch sử bán hàng thiết bị cắm trại của công ty bán lẻ Walmart, dự báo nhu cầu của thiết bị cắm trại của từng tháng trong năm tương lai.

Bộ dữ liệu: Gồm lịch sử bán hàng, danh mục ngày bán hàng Lịch sử bán hàng có 1947 cột và 30,464 điểm dữ liệu Các cột được dùng trong xây dựng mô hình là Các cột được dùng trong xây dựng mô hình là doanh thu bán được trong ngày 1,2,…,1941(d_1, d_2,…,d_1941), id của sản phẩm (item_id), id của cửa hàng (store_id), id của bang (state_id), id của loại hàng (dept_id) và id của đơn hàng (id). Mục tiêu dự báo là lượng nhu cầu.

Hình 5.5 Các thành phần trong chuỗi thời gian tổng doanh thu của một cửa hàng

Mô hình: Sử dụng SARIMA của framework Statsmodel với bậc q (tự hồi quy) 2, bậc d (sai khác) 1, bậc r (trung bình trượt) 2.

Hình 5.6 Nhu cầu dự báo (xanh) và nhu cầu thật (cam) của cửa hàng ở hình 5.5 Đánh giá: Độ đo MAE là 551.55 Điều này có nghĩa mô hình có hiệu suất khá tốt.

Nhận xét: Mô hình dự báo khá tốt Mô hình có hiệu quả tốt trong việc nắm bắt các mẫu mùa vụ và xử lý được các dữ liệu không có tính dừng Tuy nhiên, nhược điểm của mô hình là sự phức tạp trong việc xác định các tham số cho mô hình và cần lượng lớn dữ liệu lịch sử để có thể xây dựng mô hình Ngoài ra còn có nhược điểm không tính lượng hàng đang vận chuyển, xuất kho, bị trả về do không có dữ liệu.

XÂY DỰNG MÔ HÌNH DỰ BÁO HÀNG TỒN KHO HỌC SÂU

Bộ dữ liệu dùng để xây mô hình

Ta sẽ dùng bộ dữ liệu thương mại điện tử của công ty Olist Store ở Brazil để xây các mô hình OList là công ty e-commerce kinh doanh nhiều mặt hàng với nhiều kho đặt tại nhiều thành phố Bộ dữ liệu gồm có 8 bảng như sau:

Hình 6.1 Các bảng của bộ dữ liệu OList

Các bảng mà ta sẽ quan tâm là:

 olist_customers_dataset: Danh sách khách hàng và thành phố (city) của họ

 olist_products_dataset: Danh sách sản phẩm (dưới dạng mã product_id) đi kèm danh mục sản phẩm (product_category)

 olist_orders_dataset: Danh sách các đơn hàng đã đặt (xác định bằng số đơn order_id)

 olist_order_items_dataset: Danh sách các dòng (số đơn, mã sản phẩm) trong các đơn hàng Tiền xử lý dữ liệu như sau:

 Kết danh sách dòng đơn (olist_order_items_dataset) với các bảng ở trên.

 Lọc ra các sản phẩm thuộc các danh mục sản phẩm điện tử

(computers_accessories, telephony, tablets_printing_image, fixed_telephony, small_appliances, consoles_games, audio, air_conditioning, electronics, home_appliances, small_appliances, computers, home_appliances_2, cine_photo).

 Gom nhóm các dòng đơn theo mã sản phẩm (product_id), thành phố (city) và tháng đặt đơn (tháng của order_purchase_timestamp) rồi đếm số dòng đơn trong từng nhóm, ta được cột các nhu cầu của các SKU theo tháng Đặt tên cột này là demand.

 Lấy ra 20 SKU có nhu cầu cao nhất.

Sau khi tiền xử lý dữ liệu, ta được bộ dữ liệu các chuỗi thời gian nhu cầu của

20 SKU có nhu cầu cao nhất Mỗi SKU được xác định bởi mã sản phẩm

(product_id) và thành phố (city) Mỗi SKU có một chuỗi thời gian bắt đầu từ 2016- 10-01 và kết thúc ở 2018-08-01 Tần số chuỗi thời gian là tháng nên mỗi SKU có 23 điểm thời gian Tổng cộng ta có 1564 điểm dữ liệu và 4 đặc trưng:

 Mã sản phẩm (product_id)

Nhu cầu của một SKU trong một tháng là số lần nó được đặt trong tất cả các đơn hàng trong tháng đó.

Ta sẽ dùng bộ dữ liệu này để phân tích và xây dựng các mô hình dự báo nhu cầu cho các SKU Chia bộ dữ liệu thành tập huấn luyện và tập kiểm tra như sau:

 Tập huấn luyện: Các điểm dữ liệu với thời điểm từ 2016-10-01 đến 2018-05-01.

 Tập kiểm tra: Các điểm dữ liệu với thời điểm từ 2018-06-01 đến 2018-08-01.

Phân tích bộ dữ liệu

Quan sát các đồ thị nhu cầu theo tháng của 4 SKU với nhu cầu cao nhất, ta thấy mỗi SKU có dạng đồ thị rất khác nhau tuy nhiên đều có sự dâng cao vào tháng

1 năm 2018 và giảm mạnh sau đó Các SKU có thời điểm xuất hiện khác nhau và thường xuất hiện gần đây Điều này có khả năng cao sẽ gây khó khăn cho việc dự báo do quá ít điểm dữ liệu.

Hình 6.2 Nhu cầu theo tháng của 4 SKU có nhu cầu cao nhất

Sử dụng phân rã STL để phân tích các thành phần xu hướng và mùa vụ của một SKU (d1c427060a0f73f_rio de janeiro), ta thấy thành phần mùa vụ không tồn tại và thành phần xu hướng chiếm ưu thế tuyệt đối Xu hướng có sự tăng manh rồi giảm dần tại tháng 1 năm 2018 Thành phần còn lại (resid) khá thấp.

Hình 6.3 Phân rã STL chuỗi thời gian nhu cầu của SKU d1c427060a0f73f_rio de janeiro

Quan sát đồ thị tự tương quan của cùng SKU, ta thấy các lag càng gần càng tương quan mạnh và không có lag nào cách đều Điều này xác nhận thêm ưu thế tuyệt đối của xu hướng và sự không tồn tại của mùa.

Hình 6.4 Đồ thị ACF cho chuỗi thời gian nhu cầu của SKU d1c427060a0f73f_rio de janeiro

Xây dựng mô hình học sâu

Ta xây dựng mô hình học sâu mạng nơ-ron hồi quy (RNN) với bộ nhớ dài- ngắn hạn (LSTM) dùng module Keras của thư viện Tensorflow Mô hình sẽ dự báo lượng nhu cầu theo tháng cho 3 tháng tương lai dựa vào 3 tháng quá khứ Bộ dữ liệu được chia thành các cửa sổ với 3 điểm dữ liệu quá khứ và 3 điểm dữ liệu tương lai trước khi đưa vào mô hình Cấu trúc mô hình như sau:

Hình 6.5 Kiến trúc mô hình dự báo nhu cầu dùng học sâu RNN với LSTM.

Mô hình được huấn luyện với thuật toán tối ưu Adam, độ mất mát sai số toàn phương (MSE), cỡ batch 1 và epoch 1.

Xây dựng mô hình hồi quy tuyến tính và ARIMA để so sánh

Ta sẽ xây dựng mô hình dự báo dùng hồi quy tuyến tính và ARIMA để đối chiếu với mô hình học sâu vừa xây Các mô hình này đều dự báo lượng nhu cầu theo tháng.

Hồi quy tuyến tính (LinReg): Ta xây dựng mô hình hồi quy tuyến tính dùng lớp LinearRegressor của thư viện scikit-learn Trước khi đưa vào mô hình, mã sản phẩm (product_id) và thành phố (city) được mã hóa one-hot, thời gian (time) được chuyển từ dạng yyyy-mm-dd sang dạng ordinal (số ngày tính từ ngày 1 tháng

Hình 6.6 Đồ thị mô hình dự báo nhu cầu dùng hồi quy tuyến tính cho SKU d1c427060a0f73f_rio de janeiro

Tự hồi quy kết hợp trung bình trượt (ARIMA): Ta xây dựng mô hình

ARIMA dùng lớp ARIMA của thư viện statsmodel Mỗi SKU có một mô hình riêng ARIMA được dùng thay vì SARIMA vì dữ liệu không có tính mùa Tham số mô hình: Bậc p (tự hồi quy) 1, bậc d (sai khác) 0, bậc q (trung bình trượt) 1.

Hình 6.7 Đồ thị mô hình dự báo nhu cầu dùng ARIMA cho SKU d1c427060a0f73f_rio de janeiro

Đánh giá và so sánh

Vì lượng nhu cầu thật luôn là một số nguyên không âm, giá trị dự báo từ các mô hình trên được làm tròn thành số nguyên và các giá trị âm được chuyển thành 0.

Cho các mô hình vừa xây dự báo các nhu cầu cho 3 tháng tương lai kể từ thời điểm huấn luyện cuối cùng (từ 2016-06-01 đến 2016-08-01), ta có kết quả như sau đối với 4 SKU ở hình 6.2:

Hình 6.8 Đồ thị nhu cầu dự báo và nhu cầu thật cho 3 tháng tương lai của 4 SKU ở hình 6.2 dùng các mô hình vừa xây.

Sử dụng sai số căn toàn phương trung bình (RMSE) làm độ đo để đánh giá các dự báo của các mô hình trên tập kiểm tra, ta có kết quả như sau:

Bảng 6.1 Độ đo RMSE trên tập kiểm tra của các mô hình được xây khi dự báo nhu cầu 3 tháng tương lai theo SKU.

Sử dụng phương pháp bottom-up để dự báo tổng nhu cầu cho các sản phẩm từ các dự báo nhu cầu theo SKU ở trên, ta có kết quả như sau với 4 sản phẩm phổ biến nhất:

Hình 6.9 Đồ thị nhu cầu dự báo và nhu cầu thật cho 3 tháng tương lai của 4 sản phẩm dùng các mô hình vừa xây thông qua bottom-up.

Sử dụng RMSE làm độ đo để đánh giá các dự báo trên với tập kiểm tra, ta có kết quả như sau:

Bảng 6.2 Độ đo RMSE trên tập kiểm tra của các mô hình được xây khi dự báo tổng nhu cầu 3 tháng tương lai của các sản phẩm dùng bottom-up.

Sử dụng phương pháp bottom-up để dự báo tổng nhu cầu cho các vùng địa lý thành phố từ các dự báo nhu cầu theo SKU ở trên, ta có kết quả như sau với 4 thành phố có nhu cầu cao nhất:

Hình 6.10 Đồ thị nhu cầu dự báo và nhu cầu thật cho 3 tháng tương lai của 4 thành phố dùng các mô hình vừa xây thông qua bottom-up.

Sử dụng RMSE làm độ đo để đánh giá các dự báo trên với tập kiểm tra, ta có kết quả như sau:

Bảng 6.3 Độ đo RMSE trên tập kiểm tra của các mô hình được xây khi dự báo nhu cầu 3 tháng tương lai theo sản phẩm dùng bottom-up.

Từ các kết quả trên, ta thấy các mô hình tạm ổn nhưng vẫn còn nhiều sai sót Phần lớn các SKU không có đủ lịch sử nhu cầu để các mô hình nắm bắt được đủ thông tin Ngoài ra, còn có các yếu tố bên ngoài như thông tin về các chương trình khuyến mãi, các chỉ số kinh tế, thương hiệu, thông số sản phẩm,… chưa được đưa vào các mô hình Các siêu tham số của các mô hình trên cũng chưa được tối ưu hóa.

Mô hình ARIMA cho các dự báo gần giá trị thật nhất trong khi hồi quy tuyến tính và học sâu cho các dự báo sai lệch hơn Độ chính xác thấp hơn của mô hình hồi quy tuyến tính là do các lượng nhu cầu hiếm khi thay đổi tuyến tính Độ chính xác thấp hơn của mô hình học sâu là do thiếu điểm dữ liệu.

Ngày đăng: 15/05/2024, 09:24

HÌNH ẢNH LIÊN QUAN

Hình 2.1. Chuỗi thời gian có mùa vụ và chu kỳ - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 2.1. Chuỗi thời gian có mùa vụ và chu kỳ (Trang 17)
Hình 2.2. Chuỗi thời gian có mùa vụ và xu hướng - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 2.2. Chuỗi thời gian có mùa vụ và xu hướng (Trang 17)
Hình 2.3. Phân rã chuỗi thời gian dùng STL để phân tích xu hướng, mùa vụ và biến động bất thường. - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 2.3. Phân rã chuỗi thời gian dùng STL để phân tích xu hướng, mùa vụ và biến động bất thường (Trang 19)
Hình 2.5. Minh họa việc tách chuỗi thời gian trong kiểm chứng chéo. - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 2.5. Minh họa việc tách chuỗi thời gian trong kiểm chứng chéo (Trang 23)
Hình 3.1. Mô hình hồi quy tuyến tính - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 3.1. Mô hình hồi quy tuyến tính (Trang 26)
Hình 3.2. Mô hình SARIMA - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 3.2. Mô hình SARIMA (Trang 28)
Hình 4.1. Mô hình mạng nơ-ron sâu - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 4.1. Mô hình mạng nơ-ron sâu (Trang 30)
Hình 4.3. Sơ đồ của một LSTM cell. - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 4.3. Sơ đồ của một LSTM cell (Trang 33)
Hình 5.1. Doanh số trung bình của từng khách hàng theo tuần (Semana) - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 5.1. Doanh số trung bình của từng khách hàng theo tuần (Semana) (Trang 35)
Hình 5.2. Doanh số theo ngày của một sản phẩm (đã được scale về [-1, 1]) - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 5.2. Doanh số theo ngày của một sản phẩm (đã được scale về [-1, 1]) (Trang 36)
Hình 5.4. Nhu cầu dự báo (xanh) và nhu cầu thật (cam) của sản phẩm ở hình 5.2. - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 5.4. Nhu cầu dự báo (xanh) và nhu cầu thật (cam) của sản phẩm ở hình 5.2 (Trang 37)
Hình 5.3. Độ đo MSE của mô hình sau mỗi epoch khi huấn luyện trên tập huấn luyện và kiểm định - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 5.3. Độ đo MSE của mô hình sau mỗi epoch khi huấn luyện trên tập huấn luyện và kiểm định (Trang 37)
Hình 5.5. Các thành phần trong chuỗi thời gian tổng doanh thu của một cửa hàng - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 5.5. Các thành phần trong chuỗi thời gian tổng doanh thu của một cửa hàng (Trang 38)
Hình 5.6. Nhu cầu dự báo (xanh) và nhu cầu thật (cam) của cửa hàng ở hình 5.5 - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 5.6. Nhu cầu dự báo (xanh) và nhu cầu thật (cam) của cửa hàng ở hình 5.5 (Trang 39)
Hình 6.1. Các bảng của bộ dữ liệu OList - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 6.1. Các bảng của bộ dữ liệu OList (Trang 40)
Hình 6.2. Nhu cầu theo tháng của 4 SKU có nhu cầu cao nhất - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 6.2. Nhu cầu theo tháng của 4 SKU có nhu cầu cao nhất (Trang 43)
Hình 6.3. Phân rã STL chuỗi thời gian nhu cầu của SKU d1c427060a0f73f_rio de janeiro - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 6.3. Phân rã STL chuỗi thời gian nhu cầu của SKU d1c427060a0f73f_rio de janeiro (Trang 44)
Hình 6.4. Đồ thị ACF cho chuỗi thời gian nhu cầu của SKU d1c427060a0f73f_rio de janeiro - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 6.4. Đồ thị ACF cho chuỗi thời gian nhu cầu của SKU d1c427060a0f73f_rio de janeiro (Trang 45)
Hình 6.5. Kiến trúc mô hình dự báo nhu cầu dùng học sâu RNN với LSTM. - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 6.5. Kiến trúc mô hình dự báo nhu cầu dùng học sâu RNN với LSTM (Trang 46)
Hình 6.6. Đồ thị mô hình dự báo nhu cầu dùng hồi quy tuyến tính cho SKU d1c427060a0f73f_rio de janeiro - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 6.6. Đồ thị mô hình dự báo nhu cầu dùng hồi quy tuyến tính cho SKU d1c427060a0f73f_rio de janeiro (Trang 47)
Hình 6.8. Đồ thị nhu cầu dự báo và nhu cầu thật cho 3 tháng tương lai của 4 SKU ở hình 6.2 dùng các mô hình vừa xây. - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 6.8. Đồ thị nhu cầu dự báo và nhu cầu thật cho 3 tháng tương lai của 4 SKU ở hình 6.2 dùng các mô hình vừa xây (Trang 49)
Bảng 6.1. Độ đo RMSE trên tập kiểm tra của các mô hình được xây khi dự báo nhu cầu 3 tháng tương lai theo SKU. - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Bảng 6.1. Độ đo RMSE trên tập kiểm tra của các mô hình được xây khi dự báo nhu cầu 3 tháng tương lai theo SKU (Trang 50)
Hình 6.9. Đồ thị nhu cầu dự báo và nhu cầu thật cho 3 tháng tương lai của 4 sản phẩm dùng các mô hình vừa xây thông qua bottom-up. - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 6.9. Đồ thị nhu cầu dự báo và nhu cầu thật cho 3 tháng tương lai của 4 sản phẩm dùng các mô hình vừa xây thông qua bottom-up (Trang 51)
Hình 6.10. Đồ thị nhu cầu dự báo và nhu cầu thật cho 3 tháng tương lai của 4 thành phố dùng các mô hình vừa xây thông qua bottom-up. - đồ án 2 dự báo tồn kho bán lẻ với deep learning trong doanh nghiệp bán lẻ hàng điện tử
Hình 6.10. Đồ thị nhu cầu dự báo và nhu cầu thật cho 3 tháng tương lai của 4 thành phố dùng các mô hình vừa xây thông qua bottom-up (Trang 53)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w