Qua đó góp phần xây dựng một công cụ hỗ trợ tìm kiếm có khả năng giúp con người trong những bài toán thu thập dữ liệu một cách tự động, làm thay cho con người ở một số công đoạn, giúp gi
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Trang 2Tôi xin cam đoan:
a Những nội dung trong luận văn nay là do tôi thực hiện dưới sự hướng dẫntrực tiếp của PGS.Tién sĩ Nguyễn Đình Thuan
Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng vàtrung thực tên tác giả, tên công trình, thời gian, địa điểm công bố
Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin
chịu hoàn toàn trách nhiệm.
NGƯỜI CAM ĐOAN
Nguyễn Thành Quân
Trang 3Đầu tiên, em xin bày tỏ lòng biết ơn chân thành đến PGS.Tién sĩ NguyễnĐình Thuân, người đã tận tình hướng dẫn, tạo mọi điều kiện thuận lợi dé em hoànthành tốt dé tài luận văn Thầy đã định hướng cho em từ cách đặt vấn đề, phươngpháp nghiên cứu khoa học cho đến những công việc cụ thê nhất.
Em xin gửi lời cảm ơn chân thành đến tat cả quý thay cô tại trường Đại họcCông nghệ thông tin đã tận tình day dỗ và đã tạo điều kiện tốt nhất dé em hoàn
thành chương trình cao học này.
Xin cảm ơn gia đình, người thân đã luôn khích lệ, động viên, giúp đỡ trong
suốt quá trình học tập, nghiên cứu, tạo nên sức mạnh to lớn để em hoàn thành kết
quả học tập này.
Mặc dù đã rất có gắng nhưng Luận văn khó tránh khỏi những thiếu sót, emkính mong quý thay cô va bạn bè đóng góp ý dé nội dung nghiên cứu này ngày càng
hoàn thiện hơn.
Một lần nữa, em xin chân thành cảm ơn
Tp HCM, tháng nam 2017
HỌC VIÊN
Nguyễn Thành Quân
Trang 4LOI CAM ON
MỤC LUC
DANH MỤC CAC KÝ HIỆU, CHU VIET TAT.
DANH MỤC CAC BANG
DANH MỤC HINH VE.
MO DAU
CHUONG |
11 Dat vấn đề.
1⁄2 _ Tổng quan tinh hình nghiên cứu
1.3 Mục tiêu và phạm vi của dé tài
1.4 _ Phương pháp nghiên cứu
1.5 _ Nội dung nghiên cứu và dự kiến kết quả đạt được
1.6 _ Bố cục của luận văn
CHƯƠNG 2
2.1 Thu thập thông tin tự động, thống kê, dự báo
2.1.1 Thu thập thông tin tự động
2.1.2 Thống kê
2.1.3 Dự báo
2.2 Phân tích chuỗi thời gian dự báo
2.2.1 Chuỗi thời gian
2.2.1.1 Phân tích chuỗi thời gian
2.2.1.2 Tính dừng của chuỗi thời gian
2.2.2 Mô hình dự báo
2.2.2.1 Các thành phan.
2.2.2.2 Mô hình SARIMA
Trang 53.2 Hệ thống thu thập thông tin âm nhạc tự động, tìm kiêm và thông kê 3.2.1 Mô hình tổng quan của hệ thốn;
3.2.2 Các tính năng cơ bản của hệ thông
CHƯƠNG 4
4.1 Những công nghệ sử dụng
4.1.1 Restful Web Service
4.1.2 Java Server Page
4.13 MongoDB
4.1.4 Apache Tomcat
4.1.5 Apache Maven
4.1.6 JSON va thu vién ma nguồn mở GSON
4.2 _ Giao diện chương trình
4.2.1 Giao diện trang chính của chương trình.
4.2.2 Giao diện tính năng tìm kiếm
4.2.3 Giao diện chức năng sắp xếp.
4.2.4 Giao diện chức năng thống kê
4.3 Phân tích và dự báo với mô hình SARIMA
Trang 6Viết tắt Mô tả
IR Information Retrieval
SVMs Support vector machine
GDA Gaussian Discriminant Analysis
RSS Really Simple Syndication
DOM Document Object Model
CMS Content Management System
AJAX Asynchronous JavaScript and XML
ACF Autocorrelation function
PACF Partial autocorrelation function
AR Autoregressive
MA Moving average
SMA Simple Moving Average
SMMA Smoothed Moving Average
EMA Exponential Moving Average
ARIMA Auto Regressive Integrated Moving Average
VAR Vector Auto-Regressive
SPSS Statistical Package for the Social Sciences
SAS Statistical Analysis System
REST Representational State Transfer
HTTP Hypertext Transfer Protocol
SOAP Simple Object Access Protocol
WSDL Web Services Description Language
CRUD Create, Remove, Update, Delete
URI Uniform Resource Identifier
URL Uniform Resource Locator
XML Extensible Markup Language
Trang 7JSP Java Server Page
NoSQL Not Only Structured Query Language
ECMA European Computer Manufacturers Association
HTML Hyper Text Markup Language
Www World Wide Web
Trang 8Bang 4.1 Các kiéu MINE phô biến thường sử dung với Restful Service
Bảng 4.2 Các phiên bang Apache Tomeat
Bang 4.3 Dữ liệu bài hát
Bảng 4.4 Dữ liệu dự báo
Bảng 4.5 Kết quả dự báo số lượng thính giả của bài hát được chọn ngẫu nhiên
Trang 9Hình 2.1 Các nhân tố phụ thuộc trong dự bao
Hình 2.2 Chuỗi thời gian
Hình 2.3 Biểu đồ chuỗi thời gian tuyến tính
Hình 2.4 Biểu đồ chuỗi thời gian không tuyến tính
Hình 2.5 Biểu đồ chuỗi thời gian theo chy ky.
Hình 2.6 Biểu đồ chuỗi thời gian theo mùa.
Hình 2.7 Đồ thị về chuỗi thời gian dừng
Hình 2.8 Đồ thị về chuỗi thời gian không dừng.
Hình 2.9 Một số dạng đồ thị có tự tương quan
Hình 2.10 Sơ đồ phương pháp Box Jenkin
Hình 3.1 Sơ đồ service chính của hệ thống.
Hình 3.2 Sơ đồ tinh năng lấy dữ liệu bài hát từ website
Hình 3.3 Sơ đồ tính năng lấy số lượng thính giả của bài hát
Hình 3.4 Sơ đồ truy xuất cơ sở dữ liệu
Hình 3.5 Sơ đồ tinh năng tìm kiếm
Hình 3.6 Sơ đồ hoạt động tinh năng sắp xếp bài hat
Hình 3.7 Sơ đồ thống kê số lượng thính giả của bài hát
Hình 4.1 Quy trình thực thi một trang JSP.
Hình 4.2 Sơ đồ hoạt động của Apache Maven
Hình 4.3 Giao diện chính của chương trình
Hình 4.4 Giao diện của chức năng tìm kiếm theo tên ca sĩ
Hình 4.5 Giao diện của chức năng tìm kiếm theo tên bài hát
Hình 4.6 Giao diện của chức năng sắp xếp theo số lượt nghe
Hình 4.7 Giao diện của chức năng sắp xếp theo bang chữ cái Alphabet
Trang 10Hình 4.9 Giao diện chức năng thống kê số lượng thính giả của tat cả các bài hát Hình 4.10 Đồ thị dữ liệu dự báo.
Hình 4.11 Sơ đồ tương quan
Hình 4.12 Sơ đồ tương quan bậc |
Hình 4.13 Sơ đồ tương quan phan dư
Hình 4.14 Biéu đồ kiểm định
Hình 4.15 Khoảng tin cậy dự bao
Hình 4.16 Đồ thị dự báo
Trang 11Internet là một công cụ, một môi trường làm việc và liên kết mọi người trênthế giới lại với nhau Internet có mặt khắp nơi và hỗ trợ con người với nhiều lĩnhvực Do đó trong thực tế hiện nay, lượng thông tin trên Internet càng ngày càngkhổng lồ, điều này khiến việc sử dụng WWW (World Wide Web) để khai thác
thông tin hữu ích, phục vụ cho các mục đích cá nhân luôn có những khó khăn nhất
định của nó Nhất là đối với những mục đích đòi hỏi phải có sự thu thập thông tinvới khối lượng lớn trên Web Từ đó đưa ra thách thức là làm thé nào dé có thé khaiphá hết được lượng thông tin này một cách hiệu quả nhằm phục vụ đời sống conngười Các máy tìm kiếm như Google, Yahoo ra đời nhằm hỗ trợ người dùngtrong quá trình tìm kiếm và sử dụng thông tin Tuy nhiên, sự phát triển nhanh chóngvới số lượng không 16 của đữ liệu dẫn tới việc truy xuất thông tin đối với ngườidùng trở nên vô cùng phức tạp Cho nên cần có một hệ thông thu thập thông tin mộtcách tự động nhằm giảm thiểu thời gian cũng như công sức dé đạt được mục đích
Am nhạc là một loại hình nghệ thuật phổ biến rộng rãi có vai trò rất quantrọng trong đời sống xã hội, là món ăn tỉnh thần không thể thiếu của đông đảo côngchúng, nhất là lớp trẻ Tuy nhiên, trong đời sống sáng tác âm nhạc đã xuất hiện sựphát triển xô bồ, có khi lệch lạc Định hướng thâm mỹ âm nhạc đúng đắn cho thế hệtrẻ Việt Nam đang trở thành một vấn đề cấp thiết Trong quá trình mở cửa, hộinhập, tăng cường giao lưu văn hóa quốc tế, các xu hướng, trường phái, phong cách
âm nhạc của nhiều nước trên thé giới đã du nhập và có tác động không nhỏ vào âmnhạc Việt Nam Bên cạnh những cái hay, tích cực cũng không ít những cái xấu, cáitiêu cực ảnh hưởng tới thâm mỹ âm nhạc của giới trẻ hiện nay Do đó để có đượcmột môi trường âm nhạc lành mạnh và duy trì lâu dài các nhà đầu tư cần phải nắmbắt cũng như dự đoán được xu hướng phát triển của sản phẩm qua đó đầu tư thời
gian và tiền bạc dé đáp ứng được thị hiếu của người nghe
Hiện nay các công ty âm nhạc đầu tư rất nhiều tiền của vào các dự án âmnhạc, cho nên việc dự đoán được các bài hát sẽ trở nên phổ biến trong tương lai
mang lại lợi ích rất lớn cho các nhà đầu tư Từ đó một như ý tưởng nghiên cứu mới
do Pachet phát biểu năm 2012 gọi là “Hit song science” dùng để dự đoán sự thành
Trang 12Từ những thực tế trên ta cần xây dựng một hệ tìm kiếm và dự đoán các xu
hướng phát triển của bài hát nhằm bằng cách thu thập dữ liệu tự động từ cácwebsite Qua đó góp phần xây dựng một công cụ hỗ trợ tìm kiếm có khả năng giúp
con người trong những bài toán thu thập dữ liệu một cách tự động, làm thay cho con
người ở một số công đoạn, giúp giảm thời gian và sức lực của con người trong việcthu thập dữ liệu từ các website Ngoài ra dé tài còn đưa ra biểu dé đánh giá xuhướng phát triển của bài hát hằng tuần dựa vào dữ liệu thống kê, và dự đoán xuhướng phát triển của bài hát trong tương lai gần dự vào việc dự đoán số lượng thính
giả của bài hát.
Trang 13vì thế người nghe có thể lắng nghe bất cứ khi nào họ thích và làm cho kinh doanh
âm nhạc trở nên sinh lợi Do đó việc biết trước được một bài hát có trở nên phổ biếnhay không có ý nghĩa quan trọng đối sự phát triển của các nhà làm âm nhạc: đài
phát thanh, hãng thu âm và thị trường âm nhạc kỹ thuật
Việc theo dõi những sự thay đồi số lượng thính giả của bài hát cho phép cácnha soạn nhạc và các nhà phân phối có thể biết được liệu bài hát của họ có thể thànhcông hay không, cùng với đó góp phần vào việc giúp các doanh nghiệp dự đoán các
xu hướng âm nhạc của xã hội thay đồi theo thời gian, nhằm hỗ trợ quá trình sáng tác
bài hát của các nghệ sĩ, mang lại những sản phẩm âm nhạc với chất lượng cao, dapứng được thị hiếu của người nghe
Với những lý do trên ta thấy rằng, việc thu thập và dự báo số lượng ngườinghe của các bài hát là rất cần thiết, vì nó góp phần vào sự phát triển của âm nhạc
nói riêng và của xã hội nói chung.
1.2 Tổng quan tình hình nghiên cứu
Dự báo đã hình thành từ đầu những năm 60 của thế kỉ 20 Khoa học dự báovới tư cách một ngành khoa học độc lập có hệ thống lý luận, phương pháp luận vàphương pháp riêng nhằm nâng cao tính hiệu quả của dự báo Dự báo là một khoa
học và nghệ thuật tiên đoán những sự việc sẽ xảy ra trong tương lai, trên cơ sở phân
tích khoa học về các dữ liệu đã thu thập được, giúp các nhà quản trị lên kế hoạch và
định hướng tương lai cho các hoạt động mà họ sẽ thực hiện Việc ứng dụng công
Trang 14nghệ thông tin trong công tác dự báo sẽ giảm thiểu đáng kề thời gian thu thập dữ
liệu và tăng độ chính xác của dự báo.
Hiện nay ở Việt Nam, đã có nhiều công trình áp dụng công nghệ thông tin
trong công tác dự báo: dự báo kinh tế, dự báo môi trường, nhưng vẫn chưa có đềtai nào áp dụng công nghệ thông tin dé dự báo trong lĩnh vực âm nhạc
Trên thế giới hiện nay đã có một số công trình nghiên cứu trong việc dự báo
âm nhạc, trong đó có một số công trình tiêu biểu:
- “Machine Learning Techniques for Music Prediction” [1]: Đề tài được thựchiện bằng cách thu thập thông tin về bài hát: Tên bài hát, tên tác gia sau
đó sử dụng framework WEKA (Waikato Environment for Knowledge
„ đây là framework chứa các công cụ dùng dé phân tích dữ liệu và
- “Predicting Song Popularity” [2] : Dé tai sir dung và tích hợp một số thuật
toán máy học: Mạng nơ ron, SVMs (Support vector machine), GDA
(Gaussian Discriminant Analysis) với dữ liệu được thu thập là gần một
triệu bài hát từ The Echo Nest dùng dé phân tích và dự báo bài hát nào sẽ trởnên phổ biến
- “Can you predict a Hit?” [3]: Đề tài dựa vào hệ thống MIR (MusicInformation Retrieval) đề thu thập thông tin âm nhạc bằng cách thu thập dữliệu dựa vào các bảng xếp hạng trước đó để dự đoán vị trí của bài hát trongtuần thông qua website Last.fm (Last.fm [5] website théng ké chi tiét vé lich
sử nghe thông qua plugin Audioscrobbler kết nói với các website nghe nhạc
trực tuyến hàng dau Spotify, YouTube, Yahoo Music Engine, )
- “Hit Prediction of Dance Music for the Belgian Charts” [4] : Đề tai ding để
dự đoán vị trí bang xếp hạng bài hát dựa vào việc thực hiện việc thu thập vàphân tích bảng xếp hạng trước đó cùng với số lượt nghe của hàng trăm nghìn
người dùng trên website Last.fm [5].
Trang 1513 Mục tiêu và phạm vi của đề tài
Xuất phát từ nhu cầu xã hội, công tác dự báo âm nhạc vô cùng quan trọngbởi lẽ nó cung cấp các thông tin cần thiết nhằm phát hiện và bố trí sử dụng cácnguồn lực trong tương lai một cách có căn cứ thực tế, nó cho phép các nhà hoạchđịnh chính sách có những quyết định về đầu tư mang lại hiệu quả kinh tẾ cao
Từ những vấn đề được nêu ở trên, đề tài tập trung nghiên cứu nhằm giải
quyết các vấn đề chính:
1.4
Nghiên cứu phương pháp thu thập thông tin tự động nhằm hỗ trợ cho công
tác xử lý và tổng hợp số liệu thống kê Trong đề tài này tập trung vào việc
thu thập thông tin các bài hát và số lượng nghe trên website nhạc trực tuyến
mp3.zing.vn.
Xây dựng kỹ thuật xử lý, tìm kiếm và sắp xếp các bài hát trên hệ thống thông
tin thu thập được.
Nghiên cứu các đề tài dự báo âm nhạc hiện có
Nghiên cứu các mô hình dự báo, qua đó tiến hành dự báo số lượng thính giả
của bài hát.
Phương pháp nghiên cứu
Đi từ việc phân tích nhu cau thực tiễn, tìm hiểu nghiên cứu các phương pháp
và kỹ thuật đã có trên cơ sở đó tìm cách vận dụng, phối hợp để tạo ra ứng dụng dựbáo âm nhạc có ý nghĩa thực tiễn trong việc hoạch định các chiến lược đầu tư Đềtài đã tiền hành áp dụng những phương pháp và kỹ thuật liên quan như:
Tìm kiếm và thu thập dữ liệu một cách tự động
Xây dựng mô hình lưu trữ thông tin.
Xây dựng công cụ cho việc tìm kiếm thông tin
Xử lý và tổng hợp số liệu thống kê đã thu thập, qua đó đưa ra biểu đồ đánh
giá.
Nghiên cứu các mô hình dự báo, áp dụng vào việc dự báo số lượng thính giả
của bài hát.
Trang 16Với việc nghiên cứu và áp dụng các phương pháp cùng với kỹ thuật nêu trên,
đề tài góp phần thúc day việc nghiên cứu trong lĩnh vực thu thập thông tin tự động,thống kê và dự báo, đặc biệt trong trong lĩnh vực âm nhạc
1.5
1.6
Nội dung nghiên cứu và dự kiến kết quá đạt được
= Nội dung nghiên cứu:
Bước 1: Khảo sát hiện trạng và vấn đề thực tế, tiến hành thu thập dữ liệu.Bước 2: Nghiên cứu lựa chọn phương pháp, và nội dung cần phải thực
hiện.
Bước 3: Thiết kế mô hình và thuật giải
Bước 4: Cài đặt thử nghiệm và đánh giá.
Bước 5: Viết báo cáo và chỉnh sửa
" Dự kiến kết qua đạt được
Với việc thu thập thông tin cho công tác thống kê dự báo, mục đích của đề
tài là tạo ra một website ứng dụng có các tính năng sau:
Thu thập dữ liệu trên trang nhạc trực tuyến mp3.zing.vn với các thể loại
Đề xuất mô hình thu thập thông tin tự động và thống kê, phục vụ cho việc
dự báo số lượng thính giả của bài hát
Bồ cục của luận văn
Bố cục của luận văn được chia thành 5 phan(chuong) chinh:
Chương 1: Giới thiệu tổng quan về dé tài bao gồm các nghiên cứu khảo
sát thực trạng của các ứng dụng dự báo trong âm nhạc Trình bày mục
tiêu, giới hạn của đề tài, ý nghĩa lý luận và thực tiễn, phương pháp nghiên
cứu, hướng tiếp cận giải quyết vấn đề và nội dung thực hiện của đề tài
Trang 17- Chương 2: Trình bày cơ sở lý thuyết của đề tài liên quan đến vấn đề thu
thập thông tin tự động, thống kê và dự báo
- Chương 3: Trình bày mục tiêu và kiến trúc của hệ thống Đề xuất môhình thu thập thông tin tự động, tìm kiếm và thống kê trong âm nhạc
- Chương 4: Trình bày những công nghệ sử dụng dé xây dựng hệ thống,cùng với đó là việc cài đặt thử nghiệm công cụ hỗ trợ cho việc dự báo số
lượng thính giả của bài hát.
- Chương 5: Trình bày về những kết quả, hạn chế, hướng phát triển tiếp
theo của đề tài
Trang 18CHƯƠNG 2
CƠ SỞ LÝ THUYET
2.1 Thu thập thông tin tự động, thống kê, dự báo
2.1.1 Thu thập thông tin tự động
Có nhiều hình thái về thu thập và bóc tách thông tin đã được nghiên cứu và
phát triển để mô tả về những hình thái khai thác nội dung thông tin trên Internet.Google là minh chứng cụ thê cho giải pháp đó, các Website tồn tại trên Internet sẽ
được Google Crawler ghé thăm và thu thập lại toàn bộ, sau đó nội dung được lưu
trữ trong cơ sở dit liệu, được đánh chỉ mục, và được tìm kiếm mỗi khi có yêu cầu
từ phía người dùng Một sản phan khác là GoogleNews lại có nhiệm vụ tông hợp tat
cả các tin tức diễn ra hàng ngày trên Internet Ở Việt nam, ta có thé tìm kiếm những
mô hình tương tự như : Baomoi.com hay Thegioitin.com, VietSpider, InewsCrawler
Hiện nay có nhiều giải pháp khác nhau như RSS, phân tích cây DOM, web
clustering
RSS (Really Simple Syndication):
Cho phép người dùng Internet có thể đặt mua thông tin từ các websites có
cung cấp khả năng RSS (RSS feeds), chúng thường là các site có nội dung thay đổi
va được thêm vào thường xuyên Đề có thé dùng công nghệ này, các người quan trịsite đó tạo ra hay quản lý một phần mềm chuyên dụng (như là một hệ thống quản lýnội dung - CMS) mà, với định dạng XML mà máy có thê đọc được, có thể biểu diễncác bài tin mới thành một danh sách, với một hoặc hai dòng cho mỗi bài tin và mộtliên kết đến bài tin đầy đủ đó Khác với việc mua nhiều ấn bản của các tờ báo haytạp chí in giấy, hầu hết việc mua RSS là miễn phí Một số website lớn có sử dụng
RSS: CNN, và BBC, New York Times
DOM( Document Object Model):
La một giao diện lập trình cho các tài liệu HTML va XML Nó đại điện cho
trang để các chương trình có thé thay đổi cấu trúc tai liệu, phong cách và nội dung
DOM mô tả tài liệu dưới dạng các nút và các đối tượng Bằng cách đó, ngôn ngữ
lập trình có thê kết nối với trang Một trang web là một tài liệu Tài liệu này có thể
Trang 19được hiền thị trong cửa sé trình duyệt, hoặc là mã nguồn HTML Nhưng nó là cùng
tài liệu trong cả hai trường hợp Mô hình đối tượng tài liệu (DOM) đại diện cho
cùng một tài liệu để nó có thê được thao tác DOM là một đại diện hướng đối tượng
của trang web, có thể được sửa đổi bằng một ngôn ngữ như JavaScript Do đó dựavào cấu trúc DOM ta có thé dé dàng lấy được những thông tin cần thiết từ các
website.
Web clustering:
La hình thức phân cụm dữ liệu từ website nhằm khám phá mối liên hệ giữacác mẫu dữ liệu Hiện nay có nhiều công cụ để thực thi việc thu thập thông tin tựđộng từ Internet : ParseHub (là một công cy scraping được thiết kế dé làm việc trêncác trang web với JavaScript và Ajax), Visual Scapper đây là một phần mềm nỗitiếng dé lấy dữ liệu từ website thông qua các thao tác click tuy nhiên các công cu
này cũng dựa vào các thao tác của người dùng dé thu thập những thông tin cần thiết
2.12 Thống kê
Dự báo thống kê là phần rất quan trọng của nghiên cứu thống kê Làm thống
kê có khả năng thực hiện được các loại dự đoán, quan trọng nhất là dự báo thống kêngắn hạn: quá trình dự báo thống kê ngắn hạn là dự đoán quá trình tiếp theo của
hiện tượng của những khoảng thời gian tương đối ngắn, nối tiếp với hiện tại bằng
việc sử dụng những thông tin thống kê và áp dụng những phương pháp thích hợp.Trong đó việc áp dụng chuỗi thời gian (time series) là phương pháp phù hợp đề dua
ra những dự đoán có cơ sở khoa học chính xác và các mức độ có thể có thể so sánhđược trong chuỗi thời gian Độ dài của các chuỗi thời gian , số lượng chuỗi càng
đài càng tốt, đặc biệt là các mức cuối day
Để xây dựng một mô hình dự báo thì người nghiên cứu cần thu thập số liệu
về vấn đề cần dự báo Phương pháp thu thập dữ liệu và tiến hành dự báo phụ thuộcvào nhiều nhân tố được mô tả ở sơ đồ sau:
Trang 20Dữ liệu lịch sử
Y - Mẫu — Yn | Yqey-— Mẫu Yy
Du báo lai Dự bao trong mẫu Dự báo hậu nghiệm | Dự báo tiền nghiệm.
Hình 2.1 Các nhân tố phụ thuộc trong dự báo.
2.13 Dự báo
Theo dự báo là một khoa học và nghệ thuật tiên đoán những sự việc sẽ xảy ra
trong tương lai, trên cơ sở phân tích khoa học về các dữ liệu đã thu thập được Khi
tiến hành dự báo cần căn cứ vào việc thu thập, xử lý số liệu trong quá khứ và hiệntại để xác định xu hướng vận động của các hiện tượng trong tương lai nhờ vào một
số mô hình toán học Trong thời đại công nghệ thông tin và toàn cầu hóa, dự báo lạiđóng vai trò quan trọng hơn khi nhu cầu về thông tin thị trường, tình hình phát triểntại thời điểm nào đó trong tương lai
Dự báo bao giờ cũng chỉ có tính tương đối Các sự kiện, biến cố ngẫu nhiênlàm ảnh hưởng đến kết quả dự báo thì trong chừng mực nao đó ta không thể xácđịnh được do không thể lập luận đơn giản từ các con số, nhưng nó lại là một yếu tốchi phối rất lớn đến kết quả dự báo Ảnh hưởng của các yếu tố ngẫu nhiên có tác
động thực như thế nào đến dự báo hoàn toàn phụ thuộc vào nội dung, bản chất của
từng biến cố đã hoặc sắp xảy ra mà ta nhận biết được
Trang 212.2 Phân tích chuỗi thời gian dự báo
2.2.1 Chuỗi thời gian
Theo [6] chuỗi thời gian là một dãy các trị số của chỉ tiêu thống kê được sắp
xếp theo thứ tự thời gian Trong thống kê, xử lý số liệu dữ liệu thường là một chuỗicác điểm, được đo theo từng khoảng khắc thời gian liền nhau theo một tần suất thời
gian thống nhất, các dữ liệu thường được dự báo dưới dạng chuỗi thời gian
Chuỗi thời gian cho phép thống kê nghiên cứu xu hướng biến động của hiện
tượng qua thời gian Từ đó, tìm ra tính quy luật của sự phát triển đồng thời dự đoán
được các mức độ của hiện tượng trong tương lai dựa trên các giá trị đã quan sát
trước đó Chuỗi thời gian thường được vẽ theo các đồ thị
Các giá trị của chuỗi tuần tự theo thời gian của đại lượng y được ký hiệu
Vis Ya» Yn» với Ye là gia trị quan sát của y ở thời điểm t.
Hình 2.2 Chuỗi thời gian
> Phan loại: Gồm 2 loại
- Chuỗi số thời ky: phản ánh hiện tượng trong từng khoảng thời ngan nhất
định
- Chuỗi số thời điểm: phản ánh hiện tượng tại những thời điểm nhất định
> Một chuỗi thời gian có kết cầu gồm 2 thành phan sau:
-_ Thời gian: Có thé là ngày, tuần, tháng, quý, năm tuỳ thuộc vào đặc điểm,tính chất của hiện tượng nghiên cứu Độ dài giữa 2 thời gian liền nhau gọi
là khoảng cách thời gian.
- Chỉ tiêu về hiện tượng: Tên, đơn vị tính phù hợp và trị số của chỉ tiêu.Các trị số này được gọi là các mức độ của chuỗi thời gian yi (i: l,n=).Các mức độ của chuỗi thời gian có thể là số tuyệt đối, số tương đối hoặc
số bình quân
Trang 222.2.1.1 Phân tích chuỗi thời gian
Theo [7] phân tích chuỗi thời gian bao gồm các phương pháp phân tích dữ
liệu chuỗi thời gian để trích xuất các số liệu thống kê có ý nghĩa và các đặc tính
khác của dữ liệu Dự báo chuỗi thời gian là việc sử dụng một mô hình đê dự đoán
các giá trị trong tương lai dựa trên các giá trị đã quan sát trước đó.
Ngoài ra, các mô hình chuỗi thời gian thường sử dụng cách sắp xếp theo thờigian một chiều tự nhiên đề các giá trị trong một khoảng thời gian nhất định sẽ được
biểu diễn bằng một số cách từ các giá trị trong quá khứ, chứ không phải từ các giá
trị trong tương lai Dự báo về chuỗi thời gian thường được thực hiện bằng cách sửdụng các gói phần mềm thống kê tự động bằng các phần mềm: R, S, SAS, SPSS,
Minitab, Eviews
Dé phân tích chuỗi thời gian , ta chia nhỏ các dữ liệu đã qua thành các thời
kỳ nhỏ hơn dé dé dang phân tích, bón thành phan đặc trưng của chuỗi thời gian là :
[8].
a Xu thế: là sự gia tăng hoặc giảm dan của biến Y trong dai han Nó có thé
là tuyến tính hoặc không tuyến tính
W Y,
time time
Hình 2.3 Biểu đồ chuỗi thời gian tuyến tính
Trang 23time time
Hình 2.4 Biểu đồ chuỗi thời gian không tuyến tính
b Chu kỳ: Đó là thời gian mà hiện tượng sẽ lặp lại, có tinh chất dài hạn, lên
và xuống có thé xảy ra bat thường biến Y
““
tìme time
Hình 2.5 Biểu đồ chuỗi thời gian theo chu kỳ
c Biến đổi theo mùa (S): Xét đến sự biến đổi có tính tuần hoàn trong một
chu kỳ.
Trang 24Hình 2.6 Biểu đồ chuỗi thời gian theo mùa
d Dao động ngẫu nhiên (1): Xét đến sự dao động ngẫu nhiên xung quanh xuthế, điều này có thể làm ảnh hưởng đến chu kỳ và biến đổi theo mùa của
chuỗi quan sát.
s* Hiện nay có bốn phương pháp chính thường được sử dụng dé dự báo dữ liệuchuỗi thời gian:
- _ Mô hình hồi quy đơn phương trình
- Mô hình hồi quy phương trình đồng thời
- Mô hình trung bình trượt kết hợp tự hồi quy (ARIMA)
- Mô hình tự hồi quy vécto (VAR)
Trong phạm vi đề tài tập trung dự báo số lượng thính giả của bài hát theo chu
kỳ hằng tuần, với dữ liệu chuỗi thời gian thu thập được là số lượt nghe của bài hát
được cập nhật tự động hằng ngày, do đó đề tài tập trung vào việc nghiên cứu và áp
dụng mô hình dự báo SARIMA vi nó phù hợp với các loại dữ liệu chuỗi thời gian
có tính chất tuần hoàn theo chu kỳ
Hiện nay tuy có nhiều mô hình cải tiến từ SARIMA như
SARIMA-SVM[19], SARIMA-LSSVM (Least Square Support Vector Machine )[20] nhưng
các mô hình này phù hợp hơn trong việc phân tích và dy bao những loại dữ liệu
phức tạp bằng việc kết hợp nhiều thuộc tính của dữ liệu
Trang 252.2.1.2 Tính dừng của chuỗi thời gian
Theo [9] một chuỗi thời gian là dừng khi giá trị trung bình, phương sai, hiệp
phương sai (tại các độ trễ khác nhau) giữ nguyên không đổi cho dù chuỗi được xác
định vào thời điểm nào đi nữa Nói cách khác, một chuỗi thời gian không dừng sẽ
có giá trị trung bình thay đổi theo thời gian, hoặc giá trị phương sai thay đổi theothời gian hoặc cả hai Chuỗi thời gian dừng hay gọi là chuỗi dừng là một chuỗi thờigian không bao gồm các yếu té xu thế
Trong phân tích hồi qui liên quan tới các dit liệu của chuỗi thời gian đòi hỏi
các dit liệu đó phải dừng Nếu dữ liệu của biến không dat trạng thái dừng thì cáckiểm định thống kê dựa trên thời gian, các kiểm định khác trở nên không đáng tin
cậy Do vậy ta cần kiểm tra tính dừng của tất cả các biến trong phương trình hồi qui
- Có nhiều phương pháp kiểm tra tính dừng của chuỗi thời gian:
o Kiểm định Dickey-Fuller (DF)
o Kiểm định Phillip-Person (PP)
o_ Kiểm định Dickey va Fuller mở rộng (ADF)
©_ Kiểm tra bằng giản đồ tự tương quan
Trang 26Sai phân I(d)
Theo Ramanathan [10] hầu hết các chuỗi thời gian là không dừng vì chúngthường có một xu hướng tuyến tính hoặc mũ theo thời gian Tuy nhiên có thể biếnđổi chúng về chuỗi dừng thông qua quá trình sai phân Nếu sai phân bậc 1 của một
chuỗi có tinh dừng thì chuỗi ban đầu gọi là tích hợp bậc 1, ký hiệu là I(1) Tương tự,
nếu sai phân bậc d của một chuỗi có tính dừng thì chuỗi ban đầu gọi là tích hợp bậc
d, ký hiệu là I(đ) Nếu chuỗi ban đầu (chưa lấy sai phân) có tính dừng thì gọi là 1(0)
Mục đích của việc lấy sai phân là để đạt được trạng thái đừng của chuỗi dữ
= Ham tự tương quan ACF
Tự tương quan là hiện tượng có sự tương quan giữa các quan sát trong cùng
bảng số liệu, hiện tượng này thường xảy ra đối với dữ liệu chuỗi thời gian Hàm tự
tương quan đo lường sự phụ thuộc tuyến tính giữa các cặp quan sát y; và y;y„ Với
Trang 27độ trễ k = 1,2, hàm tương tự quan tại độ trễ k được xác định qua độ lệch giữa cácbiến ngẫu nhiên y, và y,¿„ so với giá trị trung bình và được chuẩn hóa qua phương.
Sai (variance).
Giá trị của ACF trong thực tế ta có thể ước lượng hàm tự tương quan tại độ
trễ k qua phép biến đổi trung bình của tất cả các cặp quan sát, phân biệt bằng độ trễ
k Với giá trị trung bình đã được chuẩn hóa bởi phương sai s? Cho chuỗi n quansát, giá trị r„ của hàm tương tự quan tại độ trễ k được tính như sau:
— nÈ=tOt-Ÿ)O@e+k-P)
Tụ = (2.3)
Với
Các thuộc tính:
- y: dữ liệu chuỗi thời gian dừng tại thời điểm t
- y;+ : dữ liệu chuỗi thời gian dừng tại thời điểm t + k.
- 7: giá trị trung bình của chuỗi thời gian dừng.
- Tự: giá trị tương quan mẫu giữa y, và y+„ tại độ trễ k.
(r„= 0 thì không có hiện tượng tự quan (-1 <= 7, <= 1))
Trang 28@)
Hình 2.9 Một số dạng đồ thị có tự tương quanTinh r„ cho các độ trễ k =1, 2, 3, , tiếp theo vẽ biểu đồ ACF của mẫu dữliệu (Correlogram) Biểu đồ có công dụng xác định xem xét hiện tượng dừng của
chuỗi để nhận dang mô hình tự hoi qui - AR (AutoRegressive).
= Hàm tự tương quan từng phan PACF
Hệ số tương quan riêng phần do lường mối quan hệ giữa hai biến khi tat cảnhững biến không liên quan được giữ không đổi Nó là thước đo mối quan hệ giữahai biến y¿ và y,„„ khi ảnh hưởng của những biến can thiệp khác Year, 7;+z -
#:+-1 được giữ không đôi.
Những chiều hướng vận động của của hàm tự tương quan riêng phần PACFcũng giống như hàm tự tương quan ACF Hàm tự tương quan riêng phan tại độ trễ
k, Cự được ước lượng bằng hệ số liên hệ y; trong mối kết hợp tuyến tính bên dưới
Sự kết hợp được tính dựa trên tầm ảnh hưởng của y, và các giá trị trung gian y;x„
Hàm tự tương quan riêng phần PACF được tính như sau:
Trang 29- Cj: ham tự tương quan riêng phần cho độ trễ k, loại bỏ những ảnhhưởng các độ trễ can thiệp j.
= Cy j= C~1,ÿj — (C&)<(Êk~1,k—1 )
- (yenTính Œ„ cho các độ trễ k= 1, 2, 3, , Tiếp theo cũng giống như ACF là vẽbiểu đồ PACF của mẫu dữ liệu (Correlogram) Biểu đồ có công dụng xác định nhậndang cấu trúc mô hình tự hồi qui - AR [11] (AutoRegressive)
= Mô hình hi qui AR(p)
Phân tích hồi qui là nghiên cứu mối liên hệ phụ thuộc của một biến (gọi là
biến phụ thuộc) vào một hay nhiều biến khác (gọi là biến độc lập), với ý tưởng ước
lượng và dự đoán giá trị trung bình tổng thể của biến phụ thuộc trên cơ sở giá trịbiết trước (trong mẫu) của các biến độc lập
Xây dựng mô hình tự hồi qui tổng quát với giá trị dự đoán mới bằng cách sửdụng giá trị y tại một hoặc nhiều kỳ trước đó (độ trễ),
o_ Mô hình tự hồi qui bậc một được đề cập chỉ xét tương quan giữa giá trị
liền nhau (y¿, y;~¡) trong chuỗi thời gian
Ye = Bot iy¿-i + € (2.5)
o Mô hình tự hồi qui bậc 2 xem xét ảnh hưởng của quan hệ giữa giá trị 2 kỳ
trước đó.
Ve = Bot Bive-1 + Bo¥e-2 + £ (2.6)
o Công thức tự hồi qui trên chuỗi thời gian tổng quát được trình bày như
sau:
Ve = Bot UP BiRuit € (2.7)
Trong do:
~ yẹ: giá tri biến độc lập tại thời điểm t
~_ ¿-¡ = 1,2, , p): giá trị biến độc lập tại thời điểm t - i
- fo, Bi (i=1, , p) : hệ số hồi qui
Trang 30- p: bậc của mô hình tự hồi qui.
- €:Sai SỐ.
"Mô hình MA(q)
Trung bình trượt là một công cụ phân tích kỹ thuật cho thấy giá trung bìnhcủa một dụng cụ tại một thời gian nhất định, biến động giá giảm nhẹ, và do đó phản
ánh xu hướng và sức mạnh của dụng cụ Tùy thuộc vào phương pháp trung bình nên
có phân biệt di chuyên trung bình đơn giản (SMA), làm nhẫn Moving Average(SMMA) và di chuyền trung bình hàm mũ (EMA)
Phân tích trung bình trượt bao gồm các nguyên tắc sau đây:
- Hướng di chuyền trung bình cho thấy sự biến động hiện hành
- Giảm thời gian trung bình, sẽ có nhiều dấu hiệu xu hướng giả, và thời giantrung bình lớn hơn, sẽ nhiều dấu hiệu chậm
- Tăng (giảm) độ nhạy của các đường cong, giảm (tăng) thời gian trung bình.
- Sir dụng di chuyển trung bình trượt đáng tin cậy hơn nếu có một xu hướng rõ
rét.
2.2.2.2 Mô hình SARIMA
Mô hình SARIMA ra đời muộn hơn, vào nửa cuối thập niên 1990 Nó đượcphát triển từ mô hình ARIMA và giải quyết yếu tố mùa vụ đồng thời cho cả 3 quátrình: tự hồi quy, tích hợp và trung bình trượt Khác với ARIMA mô hình SARIMAphù hợp với bất kỳ dữ liệu chuỗi thời gian mùa vụ nào [12] SARIMA có thể áp
dụng cho các dự báo với mọi độ dài về mùa vụ (có thể là 4 quý trong năm, 7 ngày
trong tuần, 12 tháng trong một năm )
Theo [12] phương trình SARIMA có thé được viết ngắn gọn là:
ARIMA G, d, g)(P, D, QS —
Phan mô hình Phan mô hình $ = số đoạn (2.8)
không có tính mùa có tính mùa mỗi mùa
Trang 31Một trong những phương pháp rất phô biến được thực hiện dùng dé dự báotrong việc phân tích chuỗi thời gian là phương pháp luận Box Jenkins Phương phápnày được bao gồm 4 bước: nhận dạng, ước lượng, chuẩn đoán và dự báo, được thực
hiện như sau:
Ước lượng mô hình,
Hình 2.10 Sơ đồ phương pháp Box Jenkin
Bước 1 - Nhận dạng mô hình.
Xác định các giá trị (p, d, q, P, D, Q) Trong đó, trước hết cần xác định bậc saiphân theo mùa vụ D, sai phân thường d và thực hiện biến đổi chuỗi thành chuỗidừng Sau đó, kiểm tra ACF, PACF tại các trễ mùa vụ và trễ thường, và thực hiệnkiểm định nghiệm đơn vị để xác định bậc tự hồi quy p và tự hồi quy mùa vụ P, bậc
trung bình trượt q và trung bình trượt mùa vụ Q.
Bước 2 — Ước lượng mô hình.
Trang 32Sau khi đã nhận dạng các giá trị thích hợp bước tiếp theo là ước lượng các
tham số của các số hạng tự hồi quy và trung bình trượt trong mô hình Việc ước
lượng này có thể là tuyến tính hoặc phi tuyến tính và đều có thể được thực hiện qua
sự hỗ trợ của các phần mềm như Eviews, Staa, SPSS
Dựa trên mô hình được lựa chọn thực hiện dự báo giá trị tương lai của dữ
liệu chuỗi mùa vụ, cũng như đưa ra khoảng tin cậy của dự báo Giá trị tương lai có
thể được dự báo cho thời điểm kế tiếp hoặc mùa vụ kế tiếp
Trang 33- Tự động thu thập dữ liệu.
- Tim kiếm thông tin bài hát
- Sắp xếp bài hát theo số lượt nghe
- _ Thống kê số lượt người nghe bài hát
- Dự báo số lượng người nghe bài hat
Hệ thống được xây dựng trên cơ sở tương tác giữa người sử dụng với hệthống dé phục vụ chính người sử dụng Các giao diện qua trình duyệt InternetExplorer, FireFox, Chrome, Opera, cho phép người dùng tìm kiếm và sắp xếpcác bài hát dựa vào số lượng thính giả trên cơ sở dữ liệu thu thập được, ngoài rangười dùng còn có thé xem được số liệu thống kê và dự báo số lượng thính giả của
bài hát.
3.2 Hệ thống thu thập thông tin âm nhạc tự động, tìm kiếm và thống kê
3.2.1 Mô hình tổng quan cúa hệ thống
Hệ thống thu thập thông tin tự động, tìm kiếm và thống kê được thực hiệnnhằm phục vụ cho các công việc như sau:
- Thu thập dữ liệu của bài hát.
- Tự động thu thập số lượng thính giả của bài hát
- Tìm kiếm bai hát theo tên tác bài hát, ca sĩ
- _ Thống kê số lượng thính giả của bai hát theo tuần
Trang 34Cập nhật số lượng thính
giả của từng bài hát
Tìm kiếm theo tên bài
URI: /JupdateSonglistener?id
Cap nhật vào cơ sở dữ liệu
Truy vấn cơ sở dữ liệu URI:/searchByName?query
Bài hát liên quan
Truy vấn cơ sở dữ liệu.
Trang 353.2.2 Các tính năng cơ bản của hệ thống
3.2.2.1 Thu thập dữ liệu bài hát
Dữ liệu bài hát được lấy từ website mp3.zing.vn
Danh sách bai hat tir website
‘Sir dụng JSON Mapper lọc những thông tin cần thiết
Trang 36Hình 3.2 Sơ đồ tính năng lấy dữ liệu bài hát từ website
"Chi tiết Web Service:
- Bước 1: Goi Restful API [Hình 3.1] lấy tat cả các bai hát từ website
- Bước 2: Nếu tồn tại bài hát, ta tiến hành sử dung JSON Mappper dé lọcnhững thông tin cần thiết
- Bước 3: Sau khi lấy được danh sách những thông tin cần thiết, ta tiến hành
lưu vào cơ sở dữ liệu.
3.2.2.2 Thu thập số lượng thính giả bài hát tự động
Tính năng lấy số lượng thính giả của bài hát được cập nhật tự động, và được
dùng đề làm cơ sở đữ liệu cho quá trình thống kê dự báo