Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
900,98 KB
Nội dung
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN - - TÌM HIỀU VỀ CƠNG CỤ DỰ BÁO PROPHET Bộ môn Đồ án - SE121.L21 Giảng viên hướng dẫn Nguyễn Cơng Hoan Sinh viên thực Nguyễn Huy Hồng – 15520255 Contents I Mơ hình dự đốn Predictive modelling 1.1 Mơ hình dự đốn gì? Xây dựng mơ hình đự đốn việc sử dụng số liệu thống kê để dự đoán kết vấn đề Người ta thường dùng kỹ thuật để dự đốn kết tương lai, với tiến công nghệ, việc sử dụng mơ hình dự đốn khơng dừng lại mà cịn sử dụng để đốn trước kiện vơ định có xảy hay khơng Ví dụ mơ hình dự đốn thường sử dụng để nhận diện tội phạm sau vụ án xảy Thông thường, mô hình chọn dựa xác suất dự đốn kết với lượng liệu cho trước Giả sử tỉ lệ email spam cho email Trong số trường hợp, việc xây dựng mơ hình dự đốn gần giống lĩnh vực Machine Learning khoa học máy tính liêu Nhưng thuật ngữ sử dụng môi trường thương mại, thuật ngữ thường hiểu “Phân tích dự đốn” “Mơ hình dự đốn” Hình Minh họa chế mơ hình dự đốn Để có nhìn tổng qt cách mà mơ hình dự đốn hoạt động, hình minh họa cho thấy có lớp (Xanh, Trắng Cam) - Lớp thứ nhât: tượng trưng cho đầu vào thơng tin cần lấy kết dự đốn, cụ thể có nội dung email, thơng số ngồi nhà Lớp thứ hai: mô hình dự đốn mà ta xây dựng từ liệu có sẵn Giả sử, 10 năm hoạt động công ty thu thập 20 ngàn liệu giá bán sắt thép, từ liệu có sẵn ta sử dụng cơng cụ, phương pháp tốn học để xây dựng mơ hình (một biểu thức tốn học) kết dự đoán năm - 1.2 Lớp thứ ba: Kết quả, đầu mơ hình dự đốn Ví dụ kết email Spam hay không Spam, ngồi nhà đáng giá tiền… Các loại mơ hình dự đốn Trước bắt đầu vào xây dựng mô hình dự đốn, ta cần xác định loại mơ hình dự đoán mà vấn đề chứa đựng Từ hai ví dụ trên, “Spam hay khơng Spam” “Giá nhà” hai loại phổ biến việc xây dựng mơ hình dự đốn Hình Một số loại mơ hình dự đốn 1.2.1 Classification (Phân loại) Mơ hình dự đốn mang tính phân loại cơng việc đoán lượng liệu X kết rời rạc (y) Ví dụ, email có nội dung phân thành loại: “Spam” “Khơng Spam”: - Một vấn đề mang tính phân loại cần lượng thơng tin có sẳn phân chia thành loại khác Việc phân loại cho kết dạng xác suất hay dạng kết rời rạc Vấn đề có hai trường hợp xảy cịn gọi Phân loại nhị phân (Nghĩa đúng/sai, Spam/Không spam,…) Vấn đề có hai trường hợp xảy ra, gán nhanh nhiều mục khác gọi Multi-label classification Việc dự đốn mơ hình mang tính phân loại có kết số thực tượng trưng cho xác suất đầu vào A thuộc loại B phổ biến Xác suất thường hiểu là: khả năng, hay độ tự tin (confidence) thông số đầu vào (một mục liệu) thuộc vào Loại Với kết này, chuyển sang kết phân loại cách chọn đầu có xác suất cao Ví dụ với nội dung email X, vào mơ hình dự đốn phân loại cho kết A là: 60% Spam, nghĩa 40% spam Nếu định nghĩa email Spam đầu > 50%, ta chuyển đổi kết A thành: Spam (ví 60% > 50%) Để đánh giá xác mơ hình phân loại, ta cần đánh giá xác kết phân loại dựa liệu kiểm thử Ví dụ mơ hình phân loại, từ đầu vào cho kết kết sai, ta đánh giá độ xác cách - Accuracy = correction predictions/total predictions * 100 Accuracy = / * 100 Accuracy = 60% Một thuật tốn thiết lập mơ hình phân loại gọi thuật tốn phân loại 1.2.2 Regression Predictive Modelling Regression predictive modelling công việc ước lượng qua mơ hình từ thơng số đầu vào X, kết số liên tục (y) Thông số đầu liên tục có giá trị số thực, số nguyên, số chấm phảy động Thường số tượng trưng cho đặc tính lượng số lượng kích thước Ví dụ, nhà dự đoán để bán với số lượng tiền định Ví dụ khoản từ tỷ đến tỷ - Một Regression Problem yêu cầu dự đoán thơng số lượng Regression có thơng số đầu vào số thực biến rời rạc Một vấn đề có nhiều thơng số đầu vào, gọi Multivariate regression problem Một vấn đề regression với thông số đầu vào xếp theo trình tự thời gian gọi vấn đề đự đốn kiện theo dịng thời gian (Time series forecasting problem) Vì mơ hình dự đốn Regression dự đốn lượng cụ thể, xác của mơ hình coi “tỉ lệ lỗi” dự đốn Có nhiều cách để ước tính xác mơ hình Regression, phổ biến tính RMSE (Root Mean Squared Error) Ví dụ, mơ hình cho dự đốn, 1.5 (so với kết thực 1), hai 3.3 với kết thực 3.3 Vậy RMSE là: - RMSE = sqrt(average(error^2) Error = Y – Y’ (Y kết thực, Y’ kết dự đoán được) RMSE = sqrt(((1.0 – 1.5)^2 + (3.0 – 3.3)^2) / ) RMSE = sqrt((025 + 0.09)/2) RMSE = sqrt(0.17) RMSE = 0.412 Thuận lời việc tính RMSE đơn vị tỉ lệ sai phạm trùng với tỉ lệ dự đoán Một thuật toán sử dựng Regression Predictive Model gọi thuật tốn Regression Với số thuật tốn có từ Regression tên gọi gây nhầm lẫn như, với Linear Regression thuật toán Regression, Logistic Regression thuật toán phân loại II Machine Learning Các bước xây dựng mơ hình dự đốn Giả sử với liêu sẵn có, ta bắt đầu cơng việc xây dựng mơ hình dự đốn qua cơng đoạn sau: - Phân tích tổng thể liệu – Chiếm 50% thời gian Xử lý sơ liệu (Xử lý liệu biên, liệu bị thiếu) – 40% thời gian Xây dựng mô hình dự đốn Đánh giá xác mơ hình 1.1 Phân tích tổng thể liệu Do tiến cơng cụ thuật tốn machine learning, nên việc xây dựng mơ hình dự đốn làm nhanh dễ dạng Do đó, thay dành phần lớn thời gian để thiết kế lại có sẵn (mơ hình dự đốn), ta dành thời gian cho việc quan sát sơ liệu để đánh giá tổng thể độ tin cây, nhận diện liệu thiếu, liệu biên, trường liệu không liên quan đễn vấn đề cần giải Thời gian giúp hiểu rõ liều mà làm việc, từ có cách tiếp cận việc xây dựng mơ hình dự đốn, tránh tình trạng mơ hình tạo dựa giá trị không thực hay không tồn tại, ảnh hướng đến kết dự đoán 1.2 Xử lý sơ liệu (Xử lý liệu biên, liệu bị thiếu) Đây xem phần chiếm nhiều thời gian nhất, cần biện pháp thơng minh để hồn tất giai đoạn Đây cách để sử lý liệu xấu Gán biến tạm cho giá trị thiếu: giá trị thiếu lượng thơng tin cho biết nhiều điều Bằng cách gán giá trị tạm để mơ hình dự đốn biết giá trị cịn thiếu cho kết chuẩn xác o Gán giá trị thiếu giá trị trung bình trường liệu (data imputation) Đây cách phổ biến để xử lý liệu cịn thiếu o 1.3 Xây dựng mơ hình dự đốn Sử dụng cơng cụ thuật tốn để xây dụng mơ hình dựa liệu xử lý Các kỹ thuật để xây dựng mơ hình dự đốn đề cập phần sau, Machine Learning 1.4 Đánh giá xác mơ hình Đi kèm với xây dựng mơ hình dự đốn đánh giá mơ hình dự Có việc đề biết tin mơ hình dự đốn lên liệu tương lai Giai đoạn lúc đưa định có hay khơng sử dụng hay cải thiện mơ hình dựa thơng số độ xác hay RMSE đề cập phần trước Các tảng thư viện sử dụng Đối với đô án này, ta sử dụng: + TensorFlow Python + Facebook’s Prophet API for stock market prediction + Alpha Vantage for historical stock price + plot.ly for data plotting 2.1 TensorFlow Tensorflow thư viện mã nguồn mở miễn phí để xử lý dataflow phân loại liệu dựa nhiều yêu cầu khác Nó thư viện tốn học cung cấp khả xử lí tính tốn số học dựa biểu đồ mô tả thay đổi liệu Tensor sử dụng bạn cần giải toán supervised learning Tensorflow phát triển Google Brain team để sử dụng nội phát hành rộng rãi vào tháng 9/2015 Thư viện sử dụng nghiên cứu lẫn sản phẩm dịch vụ Google Trong tesorflow có vài khái niệm sau: Tensor cấu trúc liệu tensorflow đại diện cho tất loại liệu Nói cách khác, tất kiểu liệu đưa vào tensorflow gọi Tensor Vậy nên hiểu Tensorflow thư viện mô tả, điều chỉnh dịng chảy Tensor Tensor có thuộc tính rank, shape type Rank số bậc tensor Ví dụ Tensor = [1] có rank = 1, Tensor = [[3,4],[5,6]] có rank = Việc phân rank quan trọng đồng thời giúp phân loại liệu Tensor Shape chiều tensor Vi dụ Tensor = [[[1,1,1],[178,62,74]]] có Shape = (1,2,3), Tensor = [[1,1,1],[178,62,74]] có Shape = (2,3) Type kiểu liệu elements Tensor Vì Tensor có thuộc tính Type nên từ suy có kiểu Type cho toàn elements có Tensor 2.2 Facebook’s Prophet API for stock market prediction Prophet thuật toán dự báo mã nguồn mở phát hành đội ngũ Core Data Science Facebook dựa mơ hình Sklearn (scikit-learn) tảng Python Cụ thể thuật toán dự đoán giá chứng khoán, cho kết chuỗi liệu theo thời gian dựa theo mơ hình tuyến tính theo năm, theo tháng theo ngày, với cà ảnh hưởng ngày lễ Nó sử dụng cho nhiều ứng dụng Facebook với độ xác cao tốc độ xử lý nhanh Prophet xử lý liệu lộn xộn cách dễ dàng, thích ứng với ngoại lệ mà không cần xử lý thủ công, liệu thay đổi đột ngột chuỗi thời gian Prophet hỗ trợ khả tinh chỉnh dự đoán, sử dụng thông số khác để cải thiện dự đoán hiểu biết bạn tên miền chứng khốn Cốt lõi tổng ba hàm số thời gian cộng với thuật ngữ lỗi: tăng trưởng g(t), thời vụ s(t), ngày lễ h(t)và lỗi e_t: Facebook Prophet hoạt động tương tự scikit-learning, trước tiên chúng tơi khởi tạo mơ hình, sau gọi fit(ts)việc chuyển chuỗi thời gian qua Khi gọi predict(ts), Prophet xuất nhiều thông tin May mắn thay, nhà phát triển thêm phương pháp gọi make_future_dataframe(periods = 10)sẽ dễ dàng thu thập tất kết đầu cách có tổ chức Phương pháp xuất khung liệu gấu trúc trống mà điền vào dự báo predict(ts)phương pháp Dự báo chứa dự đoán cho giá trị lịch sử có tập liệu cộng với dự báo bổ sung cho số giai đoạn chuyển qua phương pháp (trong trường hợp 10) Có nhiều cột thơng tin hữu ích khung liệu tương lai cột quan trọng là: ds chứa mục nhập dấu thời gian dự báo yhat chứa giá trị dự báo chuỗi thời gian yhat_lower chứa khoảng tin cậy cho dự báo yhat_upper chứa khoảng tin cậy cho dự báo 2.3 Alpha Vantage for historical stock price Áp Alpha Vantage Inc cung cấp API miễn phí cho liệu chứng khoán khứ hay thời gian thực cơng ty lớn tồn cầu, liệu forex (FX) tiền điện tử Phần Stock time series cung cấp liệu thời gain thực ngày với liệu khứ khoảng thời gian theo ngày, tuần, tháng với liệu 20 năm trước (và request thêm) giá mở sàn, giá đóng sàn, giá trần giá đáy 2.4 plot.ly for data plotting Tính plot.ly trang web cung cấp công cụ vẽ biểu đồ, phân tích thống kê liệu thư viện API mã nguồn mở miễn phí để xây dựng biểu đồ cho nhiều ngơn ngữ lập trình có Python III Xây dựng mơ hình dự đốn Giá Chứng khoán Tiếp cận: Lĩnh vực chứng khoán Chứng khốn kênh đầu tư có khả sinh lợi cao tiềm ẩn nhiều rủi ro Do đó, việc dự báo xu hướng vận động thị trường giá cổ phiếu quan tâm Một mơ hình dự đốn có hiệu nhà đầu tư sử dụng để đưa định sử dụng bên hệ thống giao dịch tự động Việc dự đoán giá chứng khốn tăng giảm khoảng thời gian tới giúp đưa định đầu tư đắn Setup Environment Các bước thực (với hình) Download cài đặt Anaconda Mở Anaconda Prompt, gõ chạy lệnh sau: conda create -n prophet_env conda activate prophet_env conda install -c conda-forge fbprophet Qua đó, ta có mơi trường python cài đặt prophet Nguồn liệu – Xử lý API Giá chứng khốn thường có nhiều API data chuẩn hóa yahoo finance, google finance, Alpha Vantage Trong project này, nhóm định sử dụng Alpha Vantage Key API miễn phí lấy từ website Alpha Vantage Chạy ví dụ Prophet – Chạy ví dụ đồ án mẫu Report Kết (với hình) Facebook (FB): Google (GOOGL): Microsoft (MSFT): Nintendo (NTDOY): Link Github: https://github.com/Kahdeg-15520487/stock-predict ... liệu cịn thiếu o 1. 3 Xây dựng mơ hình dự đốn Sử dụng cơng cụ thuật tốn để xây dụng mơ hình dựa liệu xử lý Các kỹ thuật để xây dựng mơ hình dự đốn đề cập phần sau, Machine Learning 1. 4 Đánh giá xác... = [1] có rank = 1, Tensor = [[3,4],[5,6]] có rank = Việc phân rank quan trọng đồng thời giúp phân loại liệu Tensor Shape chiều tensor Vi dụ Tensor = [[ [1, 1 ,1] , [17 8,62,74]]] có Shape = (1, 2,3),...Contents I Mơ hình dự đốn Predictive modelling 1. 1 Mơ hình dự đốn gì? Xây dựng mơ hình đự đoán việc sử dụng số liệu thống kê để dự đoán kết vấn đề Người ta thường dùng kỹ thuật để dự đốn kết tương