Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 53 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
53
Dung lượng
2,45 MB
Nội dung
1 CHƯƠNG - TỔNG QUAN Golf môn thể thao cổ xưa kéo dài đến kỷ nguyên đại, thích ứng phát triển phù hợp với thời đại Việt Nam từ kinh kế nông nghiệp chuyển sang kinh tế có tỷ trọng cao cơng nghiệp, dịch vụ giải trí, dựa vào tảng tri thức, công nghệ khoa học đại gắn liền với xu hướng giới Mối quan tâm doanh nghiệp, người quản lý, nhà đầu tư, chiến lược phát triển kinh doanh hiệu doanh nghiệp thường xuyên phân tích dự báo doanh thu giúp nhà quản lý doanh nghiệp thấy rõ thực trạng tình hình tài doanh nghiệp mình, từ đánh giá mặt mạnh, yếu doanh nghiệp làm chiến lược để thúc đẩy tăng doanh thu[1] Phân tích liệu dự báo tốn có ý nghĩa quan trọng việc hỗ trợ nhà quản lý đưa định đắn dựa vào liệu thu thập Khi tiến hành dự báo cần vào việc thu thập, xử lý số liệu khứ để xác định xu hướng vận động tượng tương lai nhờ vào số mơ hình tốn học[2] Phân tích liệu dự báo số nhà quản lý, chuyên gia kinh tế nghiên cứu đề xuất số giải pháp ứng dụng vào số lĩnh vực cụ thể: Phân tích dự báo tình hình tài , tiền tệ , hoạch định điều hành sách tài chính, xây dựng mơ hình dự báo số thống kê xã hội chủ yếu, dự báo biến động giá chứng khoán , dự báo tác động vốn đầu tư từ nước ngoài, dự báo giá số mặt hàng tư liệu sản xuất [3] Phân tích hồi quy xu dạng ứng dụng mô hình hố lý thuyết phân tích chuỗi thời gian, mơ hình trung bình trượt MA(Moving Average), mơ tự hồi quy AR(AutoRegressive hay dạng kết hợp ARMA (AutoRegressive Moving Average), ARIMA (AutoRegressive Integrated Moving Average) Trong tình ứng dụng cụ thể, vấn đề đặt vận dụng mơ hình phân tích chuỗi thời gian hay mơ hình phân tích hồi quy xu [4] Phương pháp chủ yếu để phân tích chuỗi thời gian sử dụng công cụ thống kê hồi quy vài công cụ khác Nhưng hiệu có lẽ phương pháp sử dụng mơ hình ARIMA Box-Jenkins Mơ hình cho kết tốt phân tích liệu sử dụng rộng rãi thực tế Tuy nhiên, phức tạp thuật tốn gây khó khăn ứng dụng phân tích chuỗi số liệu, chuỗi số liệu có thay đổi phản ánh phi tuyến mơ hình Xu vận động tăng giảm giữ liệu theo chuỗi thới gian mô tả đường thẳng đường cong Phương pháp dự báo mơ hình học cộng đồng (ensemble learning) kết hợp giải thuật tiến hóa đa mục tiêu dùng mạng nơron nhân tạo (Artificial Neural Network ANN) để huấn luyện triển khai nhiều lĩnh vực dự báo chuỗi thời gian Thực dự báo chuỗi thời gian với mơ hình cộng đồng sở mơ hình đơn để xây dựng dự báo lặp nhằm tìm số thành viên cộng đồng góp phần nâng cao hiệu suất dự báo; Đề xuất dự báo chuỗi thời gian giải thuật lai tiến hóa đa mục tiêu để tối ưu cấu trúc mạng RNNs dựa hai mục tiêu: mục tiêu thứ cá thể ngưỡng biên Pareto mục tiêu thứ hai dựa lỗi huấn luyện; minh chứng việc cân độ đa dạng thành viên cộng đồng tính xác (đó hai u cầu quan trọng để xây dựng phương pháp học cộng đồng dựa giải thuật tiến hóa đa mục tiêu Một chuỗi thời gian hiểu dãy rời rạc giá trị quan sát khoảng thời gian cách Y= {y1, y2, … yt} xếp thứ tự diễn biến thời gian với y1 giá trị quan sát thời điểm đầu tiên, y2 quan sát thời điểm thứ yt quan sát thời điểm thứ t Để nhận thấy biến động tượng qua thời gian, cần phải phân tích chuỗi thời gian Có thể kể đến yếu tố nguồn gốc tạo đặc tính dao động, là: tính xu hướng, tính mùa, tính chu kì tính ngẫu nhiên [5] Liên quan đến đề tài, nước có nhiều tác giả phân tích dự báo doanh thu doanh nghiệp [1], tác giả nghiên cứu phân tích dựa số liệu báo cáo tài doanh nghiệp vịng 03 năm, để phân tích so sánh tỷ lệ chênh lệch qua năm dựa số tiêu chí để phân tích như: Phân tích tài sản ngắn hạn, phân tích khả tốn, khả sinh lợi phân tích cấu tài chính, tác giả điểm tốt chưa tốt doanh nghiệp Với cơng trình tác giả nhận định việc so sánh đưa kết từ thực tế chưa dự báo kết thời gian trước Phân tích hồi quy với biến giả việc phân tích dự báo doanh số bán hàng [4], tác giả đưa mơ hình ARIMA theo thời gian theo tác giả mơ hình ARIMA kết phân tích chưa tốt, theo tác giả hồi quy theo biến giả đạt kết tốt mơ hình ARIMA, kết báo mặt hàng ăn vặt tăng theo mùa tăng theo thời gian phụ thuộc vào yếu tố thời tiết Xây dựng giải pháp phân tích cho doanh nghiệp nhỏ [3], tác giả đưa phương pháp phân tích dự báo như: trung bình cộng đơn giản, hồi quy tuyến tính, trung bình động đơn giản, tác giả xây dựng giải pháp xây dựng chương trình phần mềm để đánh giá liệu lựa chọn phương pháp dự báo Ưu điểm: Xây dựng chương trình với số liệu thực tế liên tục cho kết nhanh với nhiều lựa cho mơ hình dự báo mơ hình trung bình cộng đơn giản, hồi quy tuyến tính Nhược điểm: chương trình giản đơn chưa sâu vào mơ hình phức tạp Ứng dụng cơng nghệ thơng tin phân tích dự báo : Phân tích hồi quy với biến giả việc phân tích dự báo doanh số bán hàng [4], tác giả dùng phần mềm R, phương trình hồi quy tuyến tính, hồi quy đa biến để phân tích dự báo doanh số báng hàng cửa hàng Căn tin Trường đại học Cần Thơ Xây dựng giải pháp phân tích cho doanh nghiệp nhỏ [3], tác giả sử dụng phần mềm SQL Server ngơn ngữ lập trình C# để xây dựng chức phân tích dự báo kết chương trình hình minh họa Hình Hình 1: Giao diện chức dự báo Trong doanh nghiệp golf hay doanh nghiệp khác ứng dụng phân tích dự báo thường dùng cơng cụ phân tích có sẵn gói phần mềm Microsof Excel để phân tích dự báo Như lập kế hoạch sánh số doanh thu qua năm, vẽ biểu đồ minh họa Các phương pháp dự báo định tính phương pháp dự báo cách phân tích định tính dựa vào suy đốn, cảm nhận Các phương pháp phụ thuộc nhiều vào trực giác, kinh nghiệm nhạy cảm nhà quản trị q trình dự báo, mang tính đốn, khơng định lượng Các phương pháp dự báo định lượng dựa vào số liệu thống kê thơng qua cơng thức tốn học thiết lập để dự báo nhu cầu cho tương lai Khi dự báo nhu cầu tương lai, không xét đến nhân tố ảnh hưởng khác dùng phương pháp dự báo theo dãy số thời gian Những hướng tiếp cận phổ biến để giải toán dự báo doanh thu dự báo theo chuỗi thời gian, mơ hình hồi quy, mơ hình máy học, mơ hình chun gia Phân tích chuỗi thời gian dự báo doanh thu dựa vào phương trình hồi quy theo thời gian, hàm xu biến động theo mùa vụ, theo hàm san mũ chuỗi thời gian dự báo Một phương pháp tiếp cận hiệu dự báo phần quan trọng hoạch định, lên kế hoạch, xác định hoạt động Bước hoạch định dự báo hay ước lượng nhu cầu tương lai cho doanh thu dịch vụ nguồn lực cần thiết để tạo dịch vụ doanh thu golf Dự đốn doanh thu tài doanh nghiệp tương lai, lý để chọn đề tài “Xây dựng ứng dụng phân tích dự báo doanh thu doanh nghiệp golf” Thu thập liệu, phân tích liệu, chuyển đổi thực trạng số liệu phục vụ phân tích doanh thu golf Xây dựng mơ hình nghiên cứu giả thuyết nghiên cứu, xây dựng ứng dụng phần mềm phân tích thử nghiệm dự đoán kết doanh thu theo chuỗi thời gian Thu thập liệu ứng dụng với số liệu doanh nghiệp Golf có tên VietNam Golf Club, thời gian số liệu thu thập từ năm 2001 đến 2018 CHƯƠNG - MỘT SỐ PHƯƠNG PHÁP PHÂN TÍCH VÀ DỰ BÁO TÀI CHÍNH 2.1 Các phương pháp phân tích dự báo Dự báo dài hạn: Là dự báo có thời gian dự báo từ năm trở lên Thường dùng để dự báo mục tiêu, chiến lược kinh tế trị, khoa học kỹ thuật thời gian dài tầm vĩ mơ Dự báo trung hạn: Là dự báo có thời gian dự báo từ đến năm Thường phục vụ cho việc xây dựng kế hoạch trung hạn kinh tế văn hoá xã hội… tầm vi mô vĩ mô Dự báo ngắn hạn: Là dự báo có thời gian dự báo năm, loại dự báo thường dùng để dự báo lập kế hoạch kinh tế, văn hoá, xã hội chủ yếu tầm vi mô vĩ mô khoảng thời gian ngắn nhằm phục vụ cho công tác đạo kịp thời 2.1.1 Dự báo ngắn hạn Dự báo ngắn hạn ước lượng thời gian ngắn, dự báo theo tuần theo quý Dự báo ngắn hạn giúp người điều hành quản lý doanh nghiệp đưa thông tin để đưa định * Phương pháp bình qn di động có quyền số Trong phương pháp bình quân di động đề cập phần trên, xem vai trò số liệu khứ Trong vài trường hợp, số liệu có ảnh hưởng khác kết dự báo, thế, người ta thích sử dụng quyền số khơng đồng cho số liệu khứ Quyền số hay trọng số số gán cho số liệu khứ để mức độ quan trọng chúng ảnh hưởng đến kết dự báo Quyền số lớn gán cho số liệu gần với kỳ dự báo để ám ảnh hưởng lớn nhất.Việc chọn quyền số phụ thuộc vào kinh nghiệm nhạy cảm người dự báo Để dự báo thời kỳ thứ t với t biến thời gian, ta ký hiệu Ft Số liệu thực tế thời kỳ trước (i=1,2, , n) thu thập ký hiệu At−i Quyền số tương ứng thời kỳ I, ký hiệu ki Được xác định công thức sau: 𝐹𝑡 = ∑n i=1 At−i ki ∑n i=1 ki * Phương pháp điều hòa mũ Điều hòa mũ đưa dự báo cho giai đoạn trước thêm vào lượng điều chỉnh để có lượng dự báo cho giai đoạn Sự điều chỉnh tỷ lệ sai số dự báo giai đoạn trước tính cách nhân số dự báo giai đoạn trước với hệ số nằm gọi α số gọi hệ số điều hòa Ta gọi Ft dự báo cho giai đoạn thứ t, giai đoạn kế tiếp; Ft−1 dự báo cho giai đoạn thứ t-1, giai đoạn trước; At−1 số liệu thực tế giai đoạn thứ t-1 Công thức viết sau: Ft = Ft−1 + α (At−1 - Ft−1 ) * Phương pháp điều hòa mũ theo xu hướng Chúng ta thường xem xét kế hoạch ngắn hạn, mùa vụ xu hướng nhân tố không quan trọng Khi chuyển từ dự báo ngắn hạn sang dự báo trung hạn mùa vụ xu hướng trở nên quan trọng Kết hợp nhân tố xu hướng vào dự báo điều hòa mũ gọi điều hòa mũ theo xu hướng hay điều hịa đơi.Vì ước lượng cho số trung bình ước lượng cho xu hướng cho số trung bình hệ số điều hịa điều hịa hai Hệ số điều hòa cho xu hướng, sử dụng mơ hình Ta gọi Ft giá trị dự báo theo xu hướng giai đoạn t , St giá trị dự báo điều hòa giai đoạn t, Tt gọi ước lượng giai đoạn t, At số liệu thực tế gian đoạn t, t thời gian gian đoạn t, t -1là thời gian nằm gian đoạn trước t, hệ số điều hịa trung bình có giá trị từ 0≤ ≤1, hệ số điều hòa theo xu hướng có giá trị từ 0≤ ß ≤1 Ta viết sau: Ft = St−1 + Tt−1 (At - Ft ) α 2.1.2 Dự báo dài hạn Dự báo dài hạn ước lượng tương lai thời gian dài, thường năm Dự báo dài hạn cần thiết quản trị sản xuất để trợ giúp định chiến lược hoạch định sản phẩm, quy trình cơng nghệ phương tiện sản xuất * Phương pháp hồi qui tuyến tính Phân tích hồi qui tuyến tính mơ hình dự báo thiết lập mối quan hệ biến phụ thuộc với hai hay nhiều biến độc lập Trong phần này, xét đến biến độc lập Nếu số liệu chuỗi theo thời gian biến độc lập giai đoạn thời gian biến phụ thuộc thông thường doanh số bán hay tiêu khác mà ta muốn dự báo Ta có: y - Biến phụ thuộc cần dự báo x - Biến độc lập a - Độ dốc đường xu hướng b - Tung độ gốc n - Số lượng quan sát Mơ hình có cơng thức:Y = ax + b, với a = b = ∑ 𝑥2 ( ∑ 𝑦 𝑛 ∑ 𝑥2 − 𝑛 ∑ 𝑥𝑦 − ∑ 𝑥 ∑ 𝑦 𝑛 ∑ 𝑥 − ( ∑ 𝑥)2 ∑ 𝑥 ∑ 𝑥𝑦 − ( ∑ 𝑥) * Tính chất mùa vụ dự báo chuỗi thời gian Loại mùa vụ thông thường lên xuống xảy vịng năm có xu hướng lặp lại hàng năm Những vụ mùa xảy điều kiện thời tiết, địa lý tập quán người tiêu dùng khác Cách thức xây dựng dự báo với phân tích hồi qui tuyến tính vụ mùa diện chuỗi số theo thời gian Ta thực bước: ✓ Chọn lựa chuỗi số liệu khứ đại diện ✓ Xây dựng số mùa vụ cho giai đoạn thời gian Với Yi - Số bình quân thời kỳ tên Y0 - Số bình quân chung tất thời kỳ dãy số Ii - Chỉ số mùa vụ kỳ thứ i ✓ Sử dụng số mùa vụ để hóa giải tính chất mùa vụ số liệu ✓ Phân tích hồi qui tuyến tính dựa số liệu phi mùa vụ ✓ Sử dụng phương trình hồi qui để dự báo cho tương lai ✓ Sử dụng số mùa vụ để tái ứng dụng tính chất mùa vụ cho dự báo 2.2 Các phương pháp dự báo theo chuỗi thời gian 2.2.1 Mức độ trung bình theo thời gian 2.2.1.1 Đối với dãy số thời kỳ Muốn tính mức độ bình quân: ta cộng mức độ dãy số chia cho số mức độ với Yi (i = 1,…, n) mức độ dãy số thời kỳ, n số mức độ dãy số, ta có: 𝑦̅ = 𝑦1 + 𝑦2 + 𝑦3+⋯+ 𝑦𝑛 𝑛 ∑𝑛 𝑖=1 𝑦𝑖 = 𝑛 2.2.1.2 Đối với dãy số thời điểm Dãy số có khoảng cách thời gian nhau: mức độ trung bình tính theo công thức sau: 𝑦̅ = 𝑦1/2 + 𝑦2 + 𝑦3+⋯+ 𝑦𝑛−1+ 𝑦𝑛/2 𝑛−1 Trong đó: yi (i=1,2, , n) mức độ dãy số thời điểm, nsố mức độ dãy số Dãy số thời điểm có khoảng cách thời gian khơng nhau, mức độ trung bình tính theo cơng thức: 𝑦̅ = 𝑦1 𝑡1 + 𝑦2 𝑡2 + 𝑦3𝑡3 +⋯+ 𝑦𝑛 𝑡𝑛 𝑡1 + 𝑡2 + 𝑡3 +⋯+ 𝑡𝑛 = ∑𝑛 𝑖=1 𝑦𝑖 𝑡𝑖 ∑𝑛 𝑖=1 𝑡𝑖 , với yi mức độ dãy số thời điểm, ti (i=1, 2, , n): độ dài khoảng cách thời gian 2.2.2 Các phương pháp biểu xu hướng phát triển 2.2.2.1 Phương pháp số trung bình trượt Số trung bình trượt (cịn gọi số trung bình di động) số trung bình cộng nhóm định mức độ dãy số tính cách loại dần mức độ đầu, đồng thời, thêm vào mức độ tiếp theo, cho tổng số lượng mức độ tham gia tính số trung bình khơng thay đổi Giả sử có dãy thời gian y1, y2, y3, yn-1, yn Nếu tính trung bình trượt cho nhóm mức độ, ta có: 10 𝑦 ̅2 = 𝑦 ̅3 = 𝑦1 + 𝑦2 + 𝑦3 𝑦2 + 𝑦3 +𝑦4 ……………………… 𝑦 ̅𝑛−1 = 𝑦𝑛−2 + 𝑦𝑛−1 + 𝑦𝑛 2.2.2.2 Phương pháp hồi quy Trên sở dãy số thời gian, người ta tìm hàm số (gọi phương trình hồi quy) phản ánh biến động tượng qua thời gian có dạng tổng quát sau: Trong đó: a0, a1, , an tham số t: thứ tự thời gian Để lựa chọn đắn dạng phương trình hồi quy địi hỏi phải dựa vào phân tích đặc điểm biến động tượng qua thời gian, đồng thời kết hợp với số phương pháp đơn giản khác (như dựa vào đồ thị, dựa vào độ tăng (giảm) tuyệt đối, dựa vào tốc độ phát triển, .) Các tham số (i= 1,2,3, , n) thường xác định phương pháp bình phương nhỏ Tức là: ∑( 𝑦𝐿𝑇 − 𝑦𝑇𝑇 ) = Sau số dạng phương trình hồi quy đơn giản thường sử dụng: Phương trình đường thẳng: y = a0 + a1t Phương trình đường thẳng sử dụng khí lượng tăng (hoặc giảm) tuyệt đối liên hồn (cịn gọi sai phân bậc 1) xấp sỉ Để xác định a0 a1: ta áp dụng phương pháp bình phương nhỏ Từ a0 a1 xác định hệ phương trình sau: n n ∑ 𝑦 = 𝑛a0 + a1 ∑ 𝑦 i=1 n n i=1 n ∑ yt = a0 ∑ 𝑡 + a1 ∑ t { i=1 i=1 i=1 (∗) 39 ✓ Sơ đồ hệ số tự tương quan (ACF) phần (PACF) Hình 16: Hình 16: Sơ đồ tự tương quan (AFC) (PACF) 4.2.1.4 Xác định mơ hình ARIMA phù hợp - Để phù hợp liệu doanh thu Golf theo chuỗi thời gian với mơ hình ARIMA theo mùa ta xác định gía trị mơ hình ARIMA (p, d, q) (P, D, Q) để tối ứu hóa số liệu quan tâm AIC BIC Ta gắn kết mơ hình ARIMA với chức SARIMAX đánh giá điểm tốt cảu AIC, BIC - Xây dựng dịng lệnh mơ hình: # Mơ hình SARIMAX p = d = q = range(0, 2) pdq = list(itertools.product(p, d, q)) seasonal_pdq = [(x[0], x[1], x[2], 4) for x in list(itertools.product(p, d, q))] print('Mơ hình ARIMA theo mùa:') print('SARIMAX: {} x {}'.format(pdq[1], seasonal_pdq[1])) print('SARIMAX: {} x {}'.format(pdq[1], seasonal_pdq[2])) print('SARIMAX: {} x {}'.format(pdq[2], seasonal_pdq[3])) print('SARIMAX: {} x {}'.format(pdq[2], seasonal_pdq[4])) for param in pdq: for param_seasonal in seasonal_pdq: try: mod = sm.tsa.statespace.SARIMAX(df2, order=param, seasonal_order=param_seasonal, enforce_stationarity=False, enforce_invertibility=False) 40 results = mod.fit() print('Best ARIMA{}x{}12 - AIC:{}'.format(param, param_seasonal, results.aic)) except: continue mod = sm.tsa.statespace.SARIMAX(df2, order=(1, 1, 1), seasonal_order=(1, 1, 1, 4), enforce_stationarity=False, enforce_invertibility=False) results = mod.fit() print(results.summary().tables[1]) - Mơ hình ARIMA theo mùa: SARIMAX: (0, 0, 1) x (0, 0, 1, 4) SARIMAX: (0, 0, 1) x (0, 1, 0, 4) SARIMAX: (0, 1, 0) x (0, 1, 1, 4) SARIMAX: (0, 1, 0) x (1, 0, 0, 4) - Mô hình ARIMA tốt nhất: ARIMA (1, 1, 1) x (1, 1, 1, 4) - AIC: 751.7326182697827 - Dự đoán doanh thu mơ hình ARIMA phù hợp Hình 17: Hình 17: Kết tốt với mơ hình dự báo 41 - Các sai số dự báo MSE, RMSE: # MSE The Mean Squared Error of our forecasts is y_forecasted = pred.predicted_mean y_truth = y['2018-01-01':] mse = ((y_forecasted - y_truth) ** 2).mean() print(' MSE of our forecasts {}'.format(round(mse, 2))) # RMSE The Root Mean Squared Error of print('RMSE our forecasts is {}'.format(round(np.sqrt(mse), 2))) MSE là: 3.23 RMSE là: 1.8 - Vẽ sơ đồ Log AFC PACF với ARIMA (1, 1, 1) x (1, 1, 1, 4) AIC: 751.7326182697827 results.plot_diagnostics(figsize=(16, 8)) plt.show() Hình 18: Biều đồ dự đón theo AFC PACF 42 4.2.1.5 Dự báo doanh thu Golf - Dự báo trước bước: ## Dự báo pred = results.get_prediction(start=pd.to_datetime('2018-01-01'), dynamic=False) pred_ci = pred.conf_int() ax = y['2003':].plot(label='Quan sát (observed)') pred.predicted_mean.plot(ax=ax, label='Dự báo trước bước (One-step ahead Forecast)', alpha=.7, figsize=(14, 7)) ax.fill_between(pred_ci.index, pred_ci.iloc[:, 0], pred_ci.iloc[:, 1], color='k', alpha=.2) ax.set_xlabel('Year') ax.set_ylabel('Doanh thu Golf (Golf Sales)') plt.legend() plt.show() -Kết dự báo trước bước Hình 19: Hình 19: Kết dự báo trước bước 43 - Dự báo doanh thu Golf vòng 10 năm ## Dự báo tiếp pred_uc = results.get_forecast(steps=100) pred_ci = pred_uc.conf_int() ax = y.plot(label='Quan sát (observed)', figsize=(14, 7)) pred_uc.predicted_mean.plot(ax=ax, label='Dự báo (Forecast)') ax.fill_between(pred_ci.index, pred_ci.iloc[:, 0], pred_ci.iloc[:, 1], color='k', alpha=.25) ax.set_xlabel('Date') ax.set_ylabel('Doanh thu Golf ( Golf Sales') plt.legend() plt.show() -Kết dự báo doanh thu vòng 10 năm Hình 20: Hình 20: Kết dự báo 10 năm tới 44 4.3 Xây dựng ứng dụng dự báo theo mơ hình mạng Long short-term memory (LSTM) 4.3.1 Khai báo thư viện Khai báo thư viện import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.preprocessing import MinMaxScaler from keras.preprocessing.sequence import TimeseriesGenerator from keras.models import Sequential from keras.layers import Dense from keras.layers import LSTM from keras.layers import Dropout from tensorflow import keras import warnings warnings.filterwarnings("ignore") [11] Khai báo liệu ban đầu data = pd.read_csv('D:\CAOHOC\CODEANN\ARIMA2_Yt.csv') plt.plot(data.Sales_Yt.values, color='orange', label='Doanh thu Golf') plt.title('Doanh thu Golf 1.000.000 vnđ') plt.xlabel('Thời gian [Month]') plt.ylabel('Doanh thu Sales Golf') plt.legend(loc='best') plt.show() Biểu đồ số liệu ban đầu Hình 21 : Hình 21: Biểu đồ doanh thu Golf 45 4.3.2 Xây dựng số liệu Dataset Xây dựng tập số liệu traning [12] data_end = int(np.floor(0.8*(data.shape[0]))) train = data[0:data_end]['Sales_Yt'] train =train.values.reshape(-1) test = data[data_end:]['Sales_Yt'].values.reshape(-1) date_test = data[data_end:]['Year'].values.reshape(-1) Xây dựng tập số liệu kiểm thử ( liệu Test) # xây dựng liệu test def get_data(train,test,time_step,num_predict,Year): x_train= list() y_train = list() x_test = list() y_test = list() date_test= list() for i in range(0,len(train) - time_step - num_predict): x_train.append(train[i:i+time_step]) y_train.append(train[i+time_step:i+time_step+num_predict]) for i in range(0, len(test) - time_step - num_predict): x_test.append(test[i:i+time_step]) y_test.append(test[i+time_step:i+time_step+num_predict]) date_test.append(Year[i+time_step:i+time_step+num_predict]) return np.asarray(x_train), np.asarray(y_train), np.asarray(x_test), np.asarray(y_test), np.asarray(date_test) x_train, y_train, x_test, y_test, date_test = get_data(train,test,3,1, date_test) 4.3.3 Xử lý số liệu Xử lý tập số liệu Traning # dua ve 0->1 cho tap train scaler = MinMaxScaler() x_train = x_train.reshape(-1,3) x_train = scaler.fit_transform(x_train) y_train = scaler.fit_transform(y_train) # dua ve x_test = x_test = y_test = 0->1 cho tap test x_test.reshape(-1,3) scaler.fit_transform(x_test) scaler.fit_transform(y_test) # Reshape lai cho dung model x_train = x_train.reshape(-1,3,1) y_train = y_train.reshape(-1,1) #reshape lai cho test x_test = x_test.reshape(-1,3,1) y_test = y_test.reshape(-1,1) date_test = date_test.reshape(-1,1) 46 4.3.4 Xây dựng mơ hình mạng LSTM Bước khởi tạo lớp Sequential Đây lớp mơ hình thêm lớp LSTM, Dropout Dense cho mơ hình Thêm vào lớp LSTM liên tiếp qua lớp có dropout 0.3 Cuối ta cho qua tầng Dense với đầu chiều Sử dụng hàm loss bình phương trung bình hàm mát để tối ưu hóa thuật tốn, chúng tơi sử dụng trình tối ưu hóa adam #dau vao doan n_input = n_features = model = Sequential() model.add(LSTM(units=50,activation='relu', input_shape=(n_input, n_features), return_sequences=True)) model.add(Dropout(0.3)) model.add(LSTM(units=50, return_sequences=True)) model.add(Dropout(0.3)) model.add(LSTM(units=50)) model.add(Dropout(0.3)) model.add(Dense(1)) model.compile(optimizer='adam', loss='mse') 4.3.5 Huấn luyện mơ hình mạng model.fit(x_train, y_train, epochs=500, validation_split=0.2, verbose=1, batch_size=30) model.save('D:/CAOHOC/CODEANN/30_to_1.h5' ) model = keras.models.load_model ('D:/CAOHOC/CODEANN/30_to_1.h5') test_output = model.predict(x_test) 4.3.6 Kết thử nghiệm # print(test_output) test_1 = scaler.inverse_transform(test_output) test_2=scaler.inverse_transform(y_test) plt.plot(test_1[:100], color='r') plt.plot(test_2[:100] ,color='b') plt.title("Sales Golf") plt.xlabel("STT") plt.ylabel("Doanh thu Golf") plt.legend(('Doanh thu dự đoán', 'Doanh thu thực tế'),loc='upper right') plt.show() 47 - Kết mơ hình LSTM Hình 22: Hình 22: Kết thư nghiệm mơ hình mạng LSTM 5.1 Kết dự báo 5.1.1 Kết xây dựng với mơ hình nhân : Phương trình hồi quy Tt = 20.778, 56346 + 811,8253497*t theo Bảng : Bảng 17: Bảng phương trình hồi quy tuyến tính 48 Kết dự báo mơ hình nhân theo Bảng 18 : Bảng 18: Bảng kết mơ hình nhân Kết trực quan mơ hình nhân minh họa theo Hình 23: Hình 23: Biểu đồ trực quan với mơ hình nhân 49 5.1.2 Mơ hình ARIMA - Kết dự báo theo mơ hình trung bình MA theo Hình 24 : Hình 24: Mơ hình trung bình MA ttheo tháng Độ lệch chuẩn trung bình biểu diễn minh họa theo Hình 25 : - Hình 25: Kết độ lệch chuẩn trung bình - Kết mơ hình dự báo ARIMA theo Bảng 19 : Bảng 19: Bảng kết dự báo std err mơ hình 50 - Biêu đồ trực quan dự báo doanh thu ARIMA theo Hình 26 : Hình 26: Hình minh họa kết dự báo 5.1.3 Mơ hình mạng LSTM Kết dự báo hình ảnh trực quan Hình 27 : - Hình 27: Đồ thị minh họa trực quan LSTM 5.2 Bảng kết kiểm nghiệm doanh thu kiểm nghiệm mơ hình Bảng kết dự báo so sánh mô Bảng 20: Bảng 20: Bảng kết dự báo mơ hình Mơ Hình LSTM Sai số dự báo Mơ hình nhân 2019 84,750 75,005 83,891 80,213 9,745 859 4,537 2019 77,457 71,306 81,867 79,123 6,151 -4,410 -1,666 2019 75,263 81,261 81,087 74,178 2019 91,378 78,317 82,801 84,512 -5,998 -5,824 13,061 8,577 1,085 6,866 Quarter Year Số liệu thực tế Mơ hình nhân Mơ hình ARIMA Sai số ARIMA Sai số LSTM 51 KẾT LUẬN Ứng dùng phần mềm Excel để phân tích dự báo với mơ hình nhân bên cạnh dùng ngơn ngữ lập trình python thư viện để phân tích dự báo Ứng dụng Mơ hình nhân Yt = Tt x St với ứng dung cho kết nhanh chóng dễ làm dự đốn năm có kết năm trước dựa vào yếu tố theo màu để dự đốn xác số liệu cua q năm dễ dàng Ứng dụng mô hình ARIMA để phân tích dự báo số liệu doanh thu với tự hồi quy, trung bình, khử biến đổi theo mùa, hồi quy tuyến tính, độ lệch chuẩn, phương sai,… khả ứng dụng mô hình ARIMA Mạng LSTM mạng thần kinh sử dụng phân tích chuỗi thời gian Khả ghi nhớ thơng tin trước LSTM khiến trở nên lý tưởng cho nhiệm vụ Cho kết nhanh xác với ứng dụng thư viện TensorFlow thư viện khác có từ Python Ứng dụng nghiên với mơ hình nhân với kết với phương trình tuyến tính Tt = 20.778, 56346 + 811,8253497*t sai số R2 = 0.900185312, dự đoán kết cho năm gần xác với số liệu thực tế Nghiên cứu khả ứng dụng mơ hình ARIMA vào việc dự báo doanh thu Golf, mục đích tìm mơ hình tốt cho việc dự báo doanh thu Golf Nghiên cứu ứng dụng mơ hình mạng LSTM phân tích số liệu dự báo cho kết nhanh xác với ứng dụng thư viện TensorFlow kết hợp với thư viện khác có từ ứng dụng ngơn ngữ lập trình Python Hiện tốn phân tích dự báo doanh thu golf dựa số liệu doanh thu nên có phần chưa đánh giá tốt hoạt động doanh nghiệp Để phân tích dự đốn xác cần dựa vào tiêu dịng tiền, tài sản, chi phí, nguồn vốn, lợi nhuận,…để có dự phân tích dự báo xác 52 Tác giả dựa vào số mô hình tốn để dự báo mơ hình nhân, mơ hình trung bình, mơ hình ARIMA SARIMA kết hợp để phân tích dự báo ứnng dụng mơ hình mạng LSTM phần đặc biệt mạng RNN (Recurrent Neural Networks) để phân tích dự báo phương pháp học sâu Khi dùng phương pháp LSTM học nhanh phân tích kết dự đoán nhanh so với hồi quy Logistic phương pháp Suport Vector Macchin mang tính chất phân loại 53 DANH MỤC TÀI LIỆU THAM KHẢO [1] Đỗ Thị Hương (2016), Phân tích báo cáo tài Cơng ty TNHH thương mại đầu tư Xuân Anh, Luận văn Thạc sĩ Kế toán, Đại học Lao Động Xã Hội [2] Nguyễn Văn Huân, Phạm Việt Bình (2011), Phân tích liệu dự báo kinh tế, NXB Khoa học kỹ thuật [3] Nguyễn Văn Huân, Lê Anh Tú (2015), Giải pháp xây dựng hệ thống phân tích liệu dự báo doanh thu cho doanh nghiệp vừa nhỏ Việt Nam, Tạp chí Khoa học & Cơng nghệ, 135(05):191 – 198 [4] Trần Văn Lý, Lê Thị Hải Yên, Nguyễn Huyền Trang, Trần Kim Yến, Bùi Minh Trung Lâm Quốc Toàn (2016), Phân tích hồi quy xu áp dụng thú vị, Tạp chí Khoa học Trường Đại học Cần Thơ, 45a:118-125 [5] Đinh Thị Thu Hương, Đỗ Diệu My, Vũ Văn Trường, Bùi Thu Lâm (2015), Dự báo tỉ giá ngoại tệ với mơ hình học cộng đồng kết hợp giải thuật tiến hóa đa mục tiêu, Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT, V-2, Số 14 [6] Trần Đức Minh, Trần Huy Dương, Vũ Đức Thi (2015), Một số vấn đề dự báo liệu chuỗi thời gian, Kỷ yếu Hội nghị Quốc gia lần thứ VIII Nghiên cứu ứng dụng Công nghệ thông tin (FAIR); Hà Nội, ngày 9-10/7/2015 DOI: 10.15625/vap.2015.000182 [7] Ratnadip Adhikari, R K Agrawal (2003), An Introductory Study on Time Series Modeling and Forecasting [8] Ngơ Văn Mạnh, Nguyễn Thị Hiền, Nguyễn Xn Hồi, Đặng Văn Nam, Nguyễn Việt Huy (2020), Nâng cao hiệu Deep learning hệ thống tính tốn hiệu cao cray-xc40, DOI: 10.36335/VNJHM.2020(709).63-70 [9] Anonymous (2019), Time Series Analysis (TSA) in Python - Linear Models to GARCH, http://www.blackarbs.com/blog/time-series-analysis-in-python-linearmodels-to-garch/11/1/2016#AR=, access date: Nov 20, 2019 [10] Mark Borysiak (2019), ARIMA and LSTM Time Series Models for Google Trends, https://github.com/IbonGaray/Forecasting-Time-Series-Python/ blob/ master/ Forecasting%20Time%20Series.ipynb, access date: Dec 20,2019 [11] Vô danh (2020), Sử dụng mạng LSTM (Long Short Term Memory) để dự đoán cổ phiếu, https://viblo.asia/s/su-dung-mang-lstm-long-short-term-memoryde-du-doan-co-phieu-24lJDz06KPM, truy cập ngày: 20/01/2020 [12] Abhinav Sagar (2020), Cryptocurrency Price Prediction Using LSTM neural network, https://github.com/abhinavsagar/Cryptocurrency-Price-Prediction /blob/ master/price_prediction.ipynb, access date: Jan 20,2020 ... mơ hình dự báo doanh thu Golf từ 2003 đến 2026 30 4.2 Xây dựng ứng dụng dự báo theo mơ hình ARIMA 4.2.1 Xây dựng chương trình phân tích dự báo dự báo doanh thu thực Python 4.2.1.1 Khai báo thư... dụng người làm dự báo có vai trị quan trọng việc xây dựng trì quy trình dự báo thành cơng [2] 3.3 Xây dựng quy trình phân tích dự báo cho tốn doanh thu Golf 3.3.1 Xây dựng dự báo theo chuỗi thời... 3.3.2 Xây dựng liệu ứng dụng dự báo theo mơ hình ARIMA Xây dựng số liệu doanh thu Golf từ tháng 01 năm 2003 đến 03 năm 2019 Số liệu doanh thu theo tháng xây dựng dạng file CSV, số liệu xây dựng