Luận văn Áp dụng các kỹ thuật phân lớp dữ liệu, hồi quy để dự báo số liệu sản xuất kinh doanh cho VNPT

Trên cơ sở phân tích nhu cầu dự báo định lượngcủa Tập đoànVNPT, luận văn đã đề xuất bài toán và thực hiện dự báo đối với một số chỉ tiêu về điện thoại cố định, điện thoại di động và mạng Internet bằng phương phápmạng noron dựa trên bộ công cụ khai phá dữ liệu YALE và tập số liệu thực tế c ủa Tập đoàn VNPT.

pdf103 trang | Chia sẻ: lylyngoc | Lượt xem: 3005 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Luận văn Áp dụng các kỹ thuật phân lớp dữ liệu, hồi quy để dự báo số liệu sản xuất kinh doanh cho VNPT, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
quả. Mô hình Mẫu dữ liệu mới Giá trị dự báo Dự báo giá trị mới - 62 - 3.3.3. Phương pháp mạng nơrontrong dự báo số liệu SXKD tại VNPT Phương pháp Phân lớp dữ liệu có thể được thực hiện bằng nhiều giải thuật khác nhau như: Cây quyết định, mạng Bayes, k-người láng giềng gần nhất (k- NN), mạng nơron… Mỗi loại giải thuật thích hợp với một số loại dữ liệu nhất định. Số liệu SXKD thực tế của VNPT rất lớn bao gồm dữ liệu tất cả các tỉnh thành trong cả nước trên các lĩnh vực viễn thông như: mạng cố định, mạng di động, mạng Internet và mạng hội tụ. Số lượng các chỉ tiêu dữ liệu cho các lĩnh vực này là rất lớn. Không những thế dữ liệu các tỉnh khác nhau là rất khác nhau cũng như bản thân nguồn dữ liệu có rất nhiều nhiễu, có sự nhảy bậc giữa các tỉnh và giữa các năm. Vì sự chênh lệch giữa các chỉ tiêu lớn cho nên các mô hình tuyến tính không được áp dụng để khai phá dữ liệu bởi vì mô hình tuyến tính sẽ tạo ra một hàm gần đúng nhất tới các điểm, mà sự chênh lệch giữa các chỉ tiêu lớn cho nên dự báo sẽ không chính xác. Mô hình dùng để khai phá cần phải đáp ứng được các yêu cầu dự báo chính xác cũng như phù hợp với nguồn dữ liệu nhiều chiều, thay đổi liên tục, có sự nhảy bậc cũng như có nhiễu của Tập đoàn cho nên sẽ phải sử dụng một số mô hình phi tuyến như cây quyết định, k-NN, mạng nơron… - Mô hình dùng mạng Nơron:  Thích hợp với nhiều kiểu dữ liệu khác nhau như liên tục, rời rạc, kiểu số, kiểu chữ… thuộc các lĩnh vực khác nhau  Mạng Nơron đặc biệt thích hợp khi sử dụng để phân lớp dữ liệu và dự báo bởi vì mạng Nơron có khả năng học và khả năng khái quát hóa.Với mô hình mạng Nơron, khi có dữ liệu mới sẽ tự động điều chỉnh lại các trọng số liên kết và ngưỡng để phù hợp với dữ liệu mới và nhờ khả năng khái quát hóa mà mạng Nơron sẽ đưa ra dự báo chính xác với sự thay đổi của cơ sở dữ liệu.  Mạng Nơron có độ chính xác tương đối cao.  Ảnh hưởng ít bởi nhiễu.  Với dữ liệu nhỏ thì xây dựng mô hình nhanh. Với dữ liệu lớn thì thời gian chạy là chấp nhận được. - Mô hình khai phá dữ liệu dùng cây quyết định:  Xây dựng mô hình và dự báo nhanh tuy nhiên chỉ thích hợp với dữ liệu rời rạc, không dùng dự báo kết quả liên tục. - 63 -  Mô hình cồng kềnh khi các nhánh dự báo lớn. - Mô hình khai phá dữ liệu sử dụng thuật toán k-NN  Xây dựng mô hình đơn giản.  Độ chính xác khá tốt với dữ liệu nhỏ.  Chạy chậm khi lượng dữ liệu lớn. Với yêu cầu đưa ra dự báo chính xác trên nguồn dữ liệu lớn, thay đổi, có nhiễu, nhiều chiều, qua việc phân tích các ưu nhược điểm của các mô hình thì sử dụng mô hình mạng Nơron để dự báo số liệu SXKD cho VNPT là thích hợp hơn cả. 3.3.4. Phần mềm công cụ hỗ trợ dự báo a. Giới thiệu phần mềm nguồn mở Yale Yale là một bộ công cụ mã nguồn mở dành cho thao tác Khai phá dữ liệu và học máy, được phát triển từ năm 2001 bởi Nhóm Trí tuệ nhân tạo của Trường Đại học Dortmund [18]. Ngoài ra Yale còn tích hợp với bộ công cụ Khai phá dữ liệu nổi tiếng khác là bộ công cụ Weka, giúp người sử dụng có thể sử dụng các thao tác được hỗ trợ bởi Weka một cách dễ dàng. Yale sử dụng ngôn ngữ XML, một ngôn ngữ mô tả cấu trúc đối tượng được sử dụng rất rộng rãi hiện nay, để mô tả các cây toán tử mô hình hóa các tiến trình Khai phá dữ liệu. Với định dạng dữ liệu chuẩn này, các cây toán tử có thể được đọc dễ dàng bởi người dùng hoặc bởi chương trình. Hơn nữa, các file cấu hình nhiệm vụ bằng XML tạo thành một chuẩn trao đổi dữ liệu giữa các nhiệm vụ khai phá dữ liệu. Với chương trình mã nguồn mở Yale chúng ta có thể thực hiện các thao tác Khai phá, xử lý dữ liệu như: - Các giải thuật học máy:  Phân lớp và hồi quy: SVM (support vector machine), mạng nơron, cây quyết định, mạng Bayes...  Phân cụm: kMeans, EM, phân cụm dựa vào mật độ...  Khai phá luật kết hợp: Tertius, Apriori. - Các thao tác xử lí dữ liệu: rời rạc hóa, lọc mẫu, xử lí các giá trị thiếu hoặc không xác định, chuẩn hóa dữ liệu, giảm số chiều của dữ liệu... - Các thao tác đánh giá: đánh giá chéo và một số phương pháp đánh giá khác, các thao tác tối ưu hóa tham số... - 64 - - Các thao tác nhập, xuất dữ liệu: cho phép nhập, xuất dữ liệu từ file text với các định dạng như arff, C4.5, CSV... hoặc từ CSDL. Hình 16. Màn hình chương trình YALE b. Các thao tác KPDL chủ yếu được sử dụng trong Yale  Experiment: Experiment chứa các tham số để liên kết các Modul khi khai phá dữ liệu. o logfile: Dùng để ghi ra các thông tin (filename) o resultfile: Dùng để ghi kết quả sau khi thực hiện khai phá dữ liệu  CSVExampleSource: Dùng để khai phá dữ liệu kiểu csv (các dữ liệu cách nhau bởi dấu “,” trong bảng dữ liệu). Các tham số: o label_attribute: Tên nhãn của thuộc tính o weight attribute: trọng số các thuộc tính o data_file: tên file dữ liệu cần khai phá. o id_attribute: id của thuộc tính  DataBaseExampleSource: Dùng để khai phá dữ liệu từ file SQL. Các thuộc tính: o label_attribute: Tên nhãn của thuộc tính o weight attribute: trọng số các thuộc tính o id_attribute: id của thuộc tính o databasename: tên database cần khai phá o usename: usename của database o password: Password của database cần khai phá  ExampleSetWriter: ghi lại giá trị của dữ liệu khai phá. Các tham số: - 65 - o example_set_file: tên file để ghi lại dữ liệu đã khai phá o attribute_description_file: ghi lại miêu tả của các thuộc tính của dữ liệu và file này thường có đuôi là .xml o special_format: định dạng lại đầu ra.  ExampleSource: ExampleSource dùng để đưa dữ liệu vào chương trình để khai phá. Với Operator này ta có thể đưa được nhiều kiểu dữ liệu vào nhưng mặc định là các đặc tả về dữ liệu ở dạng .xml. Các tham số: o filename: tên file dữ liệu để khai phá. o attribute_value_type: kiểu thuộc tính của dữ liệu o Sample_ratio: bạn có thể đọc một phần của dữ liệu ( giá trị là1= all, giá trị này được áp dụng nếu giá trị Sample_size = -1) o Sample_size: dùng để đưa ra chính xác số mẫu cần đọc (giá trị -1 = all. Nếu nó có giá trị khác -1 thì giá trị Sample_ratio sẽ bị bỏ qua)  ModelWriter: Dùng để ghi lại mô hình đã dùng để khai phá. Tham số: o Model_file: File dùng để lưu lại mô hình đã khai phá dữ liệu. Nếu muốn ghi lại mô hình vào một file nào đó ta chỉnh thông số này và chuỗi string ở thông số này chính là đường dẫn đến file đó.  ModelLoader: Dùng để Load mô hình khai phá dữ liệu. Tham số: o Model_file: tên file chứa mô hình cần Load để khai phá. Chuỗi string trên thông số này chính là đường dẫn đến file cần mở.  ResultWriter: Dùng để ghi lại các kết quả đã thực hiện. Khi người sử dụng muốn lưu lại các kết quả đã khai phá được thì dùng modul này ghi lại kết quả.  ParameterSetter: Áp dụng một tập các tham số đã được lưu lại cho các mô hình nào đó o Name_map: một danh sách ánh xạ từ tập hợp đã lưu vào các thao tác trong Experiment.  ExperimentLog: Lưu tất cả các giá trị vào một file log và tạo thống kê phục vụ cho việc tạo biểu đồ tương quan giá trị/tham số. o Filename: tên file o Log: danh sách các key cần ghi log.  XValidation: thao tác thực hiện phương pháp đánh giá chéo. Tập dữ liệu S sẽ được chia thành n tập con Si. Các thao tác bên trong sẽ được thực hiện n lần sử dụng Si làm tập kiểm tra và S|Si làm tập huấn luyện. Tham số: o Number_of_validations: số lượng tập con của đánh giá chéo o Sampling_type: cách lấy mẫu - 66 -  OperatorChain: gộp các thao tác thành một khối, tất cả các thao tác ở bên trong được coi như một thao tác.  PerformanceEvaluator: thao tác này cho đầu ra là một danh sách các giá trị đánh giá theo các tiêu chí đã chọn. Các loại tiêu chí đánh giá được hỗ trợ gồm: sai số tuyệt đối, sai số tương đối, sai số tuyệt đối chuẩn hóa, sai số trung bình bình phương, sai số tương đối bình phương, sai số bình phương, AUC, độ chính xác, sai số phân lớp, kappa, recall, fallout, lift…  ClassificationByregression: Đây là cách phân lớp dữ liệu bằng phương pháp hồi quy. Đầu vào của nó là ExampleSet và đầu ra là một Model. Với phương pháp này dữ liệu đầu vào có thể là bảng số, bảng đa thức. Phương pháp thường dùng cho kiểu dữ liệu là liên tục (ví dụ dự báo dân số thế giới…). Tham số: o keep_example_set: miêu tả rõ dữ liệu đầu vào khi thành đầu ra (mặc định là false)  Id3: Dùng để phân lớp dữ liệu bằng cây quyết định. Đầu vào là ExampleSet và đầu ra là Model. Thuật toán để đưa ra cây quyết định đã được trình bày ở phần lý thuyết. Sau khi đưa dữ liệu vào thì đầu ra là một cây quyết định và thuật toán này dùng khá nhiều cho dữ liệu kiểu Nominal. Tham số: o keep_example_set: miêu tả rõ dữ liệu đầu vào khi thành đầu ra (mặc định là false)  J48: Dùng để phân lớp dữ liệu bằng cây quyết định. Nó sẽ tạo ra một cây đã được tỉa hoặc chưa được tỉa. Cũng như thuật toán Id3 thuật toán này được áp dụng với các kiểu dữ liệu Nominal cũng như kiểu thuộc tính số…Các tham số: o keep_example_set: miêu tả rõ dữ liệu đầu vào khi thành đầu ra (mặc định là false) o U: thông số này để điều chỉnh có tỉa cây hay không (mặc định là False) o C: Đặt lại ngưỡng để tỉa cây. o M: Đặt lại số trường hợp bé nhất trên lá (mặc định là 2) o R: Dùng để làm giảm lỗi khi tỉa cây (mặc định là False)  LeastMedSq: Đây là phương pháp bình phương tối thiểu, thực chất là phương pháp hồi quy đường thẳng tuyến tính. Như phần lý thuyết ta đã biết để tìm các giá trị hồi quy trong đa thức Y = aX1 + bX2 + c thì ta dùng phương pháp bình phương tối thiểu và các hồi quy không tuyến tính sẽ được đưa về dạng tuyến tính. Đầu vào của phương pháp thường là các dữ - 67 - liệu kiểu số, đa thức… Đầu ra là một đa thức bậc nhất với các biến đầu vào. Các thuộc tính: o keep_example_set: miêu tả rõ dữ liệu đầu vào khi thành đầu ra (mặc định là false) o S: Đặt lại chiều dài mẫu o D: tạo gỡ lỗi đầu ra (mặc định là false)  LinearRegression: Phương thức phân lớp dữ liệu bằng hồi quy đường thẳng. Với phương thức này đầu ra cũng là một đa thức bậc nhất tuyến tính với các đầu vào. Các dữ liệu đầu vào thường là dạng đa thức, số … Các thuộc tính: o keep_example_set: miêu tả rõ dữ liệu đầu vào khi thành đầu ra (mặc định là false) o D: tạo gỡ lỗi ở đầu ra (mặc định là false) o S: chọn phương thức sử dụng  MultilayerPerceptron: Phương thức dùng mạng Nơron đa lớp để phân lớp dữ liệu. Phương pháp sử dụng thuật toán truyền ngược mà ta đã nêu ở phần lý thuyết. Với phương pháp này ta có thể tạo ra mạng Nơron bằng tay hay bằng thuật toán. Mạng Nơron được tạo ra có thể được giám sát và biến đổi trong quá trình chạy. Các thông số: o keep_example_set: miêu tả rõ dữ liệu đầu vào khi thành đầu ra (mặc định là false) o L: đây chính là tham số học . Việc chọn tham số học ban đầu sẽ quyết định đến sự hội tụ của thuật toán. Mỗi bài toán khác nhau lại cần có một tham số học khác nhau và việc chọn tham số học ban đầu dựa vào kinh nghiệm. Việc lựa chọn L ảnh hưởng đến các trọng số ở đầu vào sau khi đã điều chỉnh. o M: Đây chính là hằng số xung lượng. Việc lựa chọn hằng số xung lượng ban đầu sẽ ảnh hưởng đến mạng cũng như giúp mạng Nơron tránh được cục bộ địa phương và có thể đạt được cực tiểu toàn cục. o N: Số lượng các bước huấn luyện (số các vòng lặp huấn luyện), mặc định là 500. o V: phần trăm kích thước tập đánh giá dùng để kết thúc huấn luyện, nếu giá trị khác không, điều kiện này sẽ được ưu tiên hơn số lượng bước huấn luyện N (giá trị nằm trong khoảng 0 – 100, mặc định là 0). o S: giá trị được dùng để đưa vào bộ sinh số ngẫu nhiên (giá trị nên là 0 và 1 giá trị số lớn, mặc định là 0) - 68 - o E: tỉ lệ lỗi cho phép ở bước đánh giá mô hình trước khi dừng huấn luyện mạng nơron. o A: đặt tham số này là True thì mạng nơron sẽ không tự tạo kết nối (tham số này sẽ bị bỏ qua nếu tham số G được thiết đặt) (mặc định là False) o B: đặt tham số này là True sẽ không sử dụng bộ lọc NominalToBinary (mặc định là False). o C: đặt tham số này là True sẽ không chuẩn hóa đối với nhãn lớp kiểu số (mặc định là false). o D: Theo dõi lỗi của tham số học. Khi tham số này là True thì lỗi của tham số học sẽ được hiện lên. Mặc định của tham số này là False. o I: đặt tham số này là True sẽ Không chuẩn hóa các thuộc tính kiểu số (mặc định là false). o G: GUI được sử dụng nếu thông số này là True. Khi thông số này là True thì ta có thể quan sát được mạng Nơron ở dạng biểu đồ trực quan. o H: số nơron cho lớp ẩn tạo ra cho mạng. Thông thường số nơron lớp ẩn bằng tổng số nơron của lớp vào và số nơron lớp ra chia 2. Tuy nhiên sự lựa chọn bao nhiêu nơron còn phụ thuộc vào mạng. Nếu mạng học vẹt thì ta bớt số nơron ở lớp ẩn đi và nếu mạng không học được thì ta phải thêm số lớp ẩn hoặc tăng thêm số nơron cho lớp ẩn. Để đặt lại số nơron này ta đặt lại giá trị tham số H bằng số nơron cần thiết. o R: không cho phép reset mạng, đặt giá trị này sẽ khiến tốc độ học giảm sút (mặc định là false). - 69 - Hình 17. Mô hình xử lý một cây toán tử của Yale c. Giới thiệu phần mềm nguồn mở WEKA Weka là phần mềm mã nguồn mở dùng phục vụ cho việc khai phá dữ liệu. Weka được phát triển từ năm 1993 bởi trường Đại học Waikato của New Zealand[17]. Các thuật toán của Weka có thể được áp dụng cho nhiều kiểu dữ liệu khác nhau, cũng như có thể sử dụng trong chương trình Java khác. Phần mềm Weka bao - 70 - gồm nhiều công cụ phục vụ cho việc tiền xử lý dữ liệu, phân lớp dữ liệu, phân cụm dữ liệu, hồi quy, luật kết hợp… Mục tiêu tổng thể của Weka là xây dựng một cách thức dễ dàng và tiên tiến nhất để phát triển kỹ thuật học máy và áp dụng những kỹ thuật này cho những vấn đề Khai phá dữ liệu trong thế giới thực. Nhóm phát triển Weka đã tích hợp những kĩ năng học máy tiêu chuẩn thành một phần mềm "workbench" gọi là WEKA, cho môi trường Waikato (Waikato Environment) để phân tích kiến thức (Knowledge Analysis). Với phần mềm này, một chuyên gia trong một lĩnh vực cụ thể có thể sử dụng các kỹ thuật học máy để thu được kiến thức hữu dụng từ cơ sở dữ liệu rất khó phân tích bằng tay. Người sử dụng WEKA là những người nghiên cứu kỹ thuật học máy và các nhà khoa học. Weka cũng được sử dụng rộng rãi trong giảng dạy. Gói phần mềm này có thể được coi như một bộ sưu tập các thuật toán để giải quyết những vấn đề khai phá dữ liệu thế giới thực. Phần mềm này được viết toàn bộ bằng Java và có một giao diện thống nhất cho một loạt các kĩ năng học máy tiêu chuẩn. Hình 18. Màn hình chương trình WEKA d. So sánh tính năng của YALE và WEKA Hai phần mềm YALE và WEKA đều là hai phần mềm khai phá dữ liệu được sử dụng rộng rãi trên thế giới hiện nay. Cả hai phần mềm này đều cung cấp khá đầy đủ các thao tác về khai phá dữ liệu. Xét về khía cạnh vào ra dữ liệu, - 71 - YALE linh động hơn WEKA vì các file dữ liệu và mô hình có thể được mô tả dưới dạng XML, khiến việc kết nối với các chương trình khác trở nên dễ dàng hơn. YALE cũng cung cấp nhiều thao tác loại biểu đồ để trực quan hóa dữ liệu hơn WEKA, trong đó có các loại biểu đồ như: Andrew Curves, SOM, Density… Tính năng YALE WEKA Data and Model Input/Output XML  CSV   ARFF   C45   Excel   Oracle DB   MySQL   SQL Server   Algorithms Decision Trees   Linear/Statistical   Multilayer Perceptrol   Nearest Neighbor   Radial Basis Function Bayes   Rule Induction  Polynomial Networks  Time Series  Sequential Discovery  SVM  Kmeans   Association Rules   Kohonen  Visualization Histograms  Pie Charts  Scatter/Line Plots   Rotating Scatters   Bảng 1. So sánh YALE và WEKA - 72 - 3.4. Ứng dụng mạng Nơron để dự báo số liệu SXKD cho VNPT 3.4.1. Xác định các biến dự báo Đặc thù của VNPT là có rất nhiều đơn vị thành viên, số liệu sản xuất kinh doanh của các đơn vị thành viên cũng có sự chênh lệch nhau rất lớn. Vì vậy để có kết quả dự báo chính xác, mô hình dự báo cần được xây dựng cho từng chỉ tiêu cần dự báo của từng đơn vị. 3.4.2. Thu thập dữ liệu Toàn bộ dữ liệu sử dụng cho quá trình xây dựng và thử nghiệm các mô hình dự báo được cung cấp bởi các chuyên viên của Tập đoàn Bưu chính Viễn thông Việt Nam với cam kết chỉ sử dụng dữ liệu cho mục đích nghiên cứu, không sử dụng vào bất kỳ mục đích gì khác và không cung cấp cho đối tượng khác dưới bất kỳ hình thức nào. Dữ liệu được thu thập theo chu kỳ tháng và được lưu trữ trong 9 file excel tương ứng với số liệu của 9 năm từ 1999 tới 2007. Mỗi file excel có 12 sheet dữ liệu tương ứng với số liệu của 12 tháng trong năm đó. Trong mỗi sheet dữ liệu, số liệu được lưu dưới dạng ma trận gồm 613 cột tương ứng với 613 chỉ tiêu và 79 hàng tương ứng với 79 đơn vị. 3.4.3. Tiền xử lý dữ liệu Việc khai phá dữ liệu từ tập hợp các file Excel là rất bất tiện, vì vậy bước đầu tiên cần thực hiện là chuyển dữ liệu từ các file Excel vào một kho dữ liệu để việc khai phá được dễ dàng và thuận tiện. Cấu trúc của kho dữ liệu như sau: - 73 - Hình 19. Cấu trúc kho dữ liệu SXKD của VNPT Việc chuyển đổi dữ liệu được thực hiện bằng một module phần mềm tự viết trên ngôn ngữ Java. Thuật toán chuyển đổi dữ liệu từ Excel vào Database - Đầu vào: file excel gồm n hàng, m cột dữ liệu - Đầu ra: bảng dữ liệu trong CSDL - Thuật toán:  Khởi tạo ma trận dữ liệu mtxData gồm n hàng, m cột  Đọc file excel vào ma trận dữ liệu  For (i=1 ; i<=n ; i++)  For (j=1 ; j<=m ; j++)  Kiểm tra trong bảng dữ liệu solieusanluong xem đã có bản ghi thỏa mãn điều kiện : o Tháng của bản ghi = tháng đã chọn o Năm của bản ghi = năm đã chọn o Mã đơn vị của bản ghi = mã đơn vị của mtxData[i,j] o Mã chỉ tiêu của bản ghi = mã chỉ tiêu của mtxData[i,j] - 74 -  Nếu có tồn tại bản ghi, cập nhật bảng solieusanluong tại vị trí hiện thời với giá trị dữ liệu mới có giá trị bằng mtxData[i,j]  Nếu không tồn tại bản ghi, thêm mới vào bảng solieusanluong một bản ghi với các giá trị : o Tháng := tháng đã chọn o Năm := năm đã chọn o Mã đơn vị := mã đơn vị của mtxData[i,j] o Mã chỉ tiêu := mã chỉ tiêu của mtxData[i,j] o Giá trị dữ liệu := mtxData[i,j] Sau khi tiền xử lý và đưa dữ liệu từ file excel vào Cơ sở lữ liệu, bảng dữ liệu gốc gồm có 5230116 bản ghi số liệu của 619 chỉ tiêu của 79 đơn vị trong 9 năm. Cấu trúc của bảng này như sau: Tên trường Kiểu dữ liệu Giá trị khởi tạo ID Int(5) madonvi Varchar(255) tendonvi Varchar(255) Thang Int(2) Nam Int(4) machitieu Varchar(15) solieu Int(12) 3.4.4. Trích chọn dữ liệu – Xây dựng tập huấn luyện Tập dữ liệu này rất lớn và bao gồm nhiều nhóm số liệu không trực tiếp ảnh hưởng tới nhau, nếu sử dụng toàn bộ bảng dữ liệu này để huấn luyện các mô hình dự báo số liệu sẽ có 2 điểm bất lợi với quá trình dự báo: 1. Số lượng bản ghi quá lớn sẽ khiến cho quá trình huấn luyện mô hình trở nên rất lâu, vượt quá khả năng chờ đợi của người thực hiện. 2. Các bản ghi không liên quan trực tiếp tới nhau sẽ trở thành nhiễu, làm giảm độ chính xác của quá trình dự báo. Vì vậy, để thu được kết quả dự báo chính xác hơn, chúng ta cần trích chọn từ tập dữ liệu lớn ra thành những tập huấn luyện nhỏ hơn trong đó các số liệu có liên quan, ảnh hưởng trực tiếp tới nhau. Căn cứ trên nhu cầu thực tế về công tác dự báo số liệu, các chỉ tiêu cần dự báo được chia thành 3 nhóm chính: - 75 - - Nhóm các chỉ tiêu về điện thoại cố định - Nhóm các chỉ tiêu về điện thoại di động - Nhóm các chỉ tiêu về thuê bao Internet Việc lựa chọn các chỉ tiêu trong từng nhóm số liệu được thực hiện căn cứ trên kết quả khảo sát về quy trình nghiệp vụ đã được thực hiện và tham khảo trực tiếp các chuyên gia của VNPT. Kết quả phân nhóm các chỉ tiêu như sau: - Tập huấn luyện thuê bao Internet bao gồm các chỉ tiêu:  Sản lượng truy nhập Internet 1260 (m5831)  Sản lượng truy nhập Internet 1268 (m5832)  Sản lượng truy nhập Internet 1269 (m5833)  Sản lượng truy nhập Internet 1267 (m5834)  Sản lượng số cuộc điện thoại truy nhập Internet (m5835)  Sản lượng số phút điện thoại truy nhập Internet (m5836) - Tập huấn luyện điện thoại cố định bao gồm các chỉ tiêu:  Sản lượng số cuộc điện thoại đường dài liên tỉnh (m410)  Sản lượng số phút điện thoại đường dài liên tỉnh (m420)  Sản lượng số cuộc điện thoại VOIP 171 trong nước (m421)  Sản lượng số phút điện thoại VOIP 171 trong nước (m422)  Sản lượng số cuộc điện thoại đường dài nội tỉnh (m423)  Sản lượng số phút điện thoại đường dài nội tỉnh (m425)  Sản lượng số cuộc điện thoại nội hạt (m426)  Sản lượng số phút điện thoại nội hạt (m427)  Sản lượng số cuộc điện thoại ISDN nội hạt (m428)  Sản lượng số phút điện thoại ISDN nội hạt (m429)  Sản lượng số cuộc điện thoại VOIP quốc tế (m441)  Sản lượng số phút điện thoại VOIP quốc tế (m442)  Sản lượng thuê bao điện thoại cố định hòa mạng (m8061) - Tập huấn luyện điện thoại di động bao gồm các chỉ tiêu:  Sản lượng số cuộc điện thoại di động nội vùng (m601) - 76 -  Sản lượng số phút điện thoại di động nội vùng (m602)  Sản lượng điện thoại di động cận vùng (m603)  Sản lượng điện thoại di động liên vùng (m604)  Sản lượng số cuộc điện thoại di động quốc tế (m605)  Sản lượng số phút điện thoại di động quốc tế (m606)  Sản lượng số cuộc điện thoại di động cách vùng (m607)  Sản lượng số phút điện thoại di động cách vùng (m608) Tập huấn luyện cần có nhãn lớp cho dữ liệu để hướng dẫn giải thuật học, trong khi đó dữ liệu thô hoàn toàn chưa có nhãn lớp. Để tạo nhãn lớp cho dữ liệu, ta đưa thêm một cột nhãn lớp vào. Cột nhãn lớp này được tạo từ số liệu của chính chỉ tiêu đó nhưng ở những chu kỳ kế tiếp theo quy tắc: muốn dự báo số liệu cho chu kỳ thứ n tiếp theo thì sẽ sử dụng số liệu của chu kỳ thứ n đó làm nhãn lớp. VD: muốn dự báo sản lượng điện thoại di động 3 tháng sau thì sử dụng số liệu tháng 6 làm nhãn lớp cho số liệu tháng 3. 3.4.5. Xác định mô hình mạng nơron - Số lượng nơron đầu vào: số lượng nơron đầu vào sẽ tùy thuộc vào việc chỉ tiêu cần dự báo thuộc vào nhóm nào trong 3 nhóm Tập huấn luyện, cụ thể, số lượng nơron đầu vào của các Nhóm như sau:  Nhóm các chỉ tiêu về thuê bao Internet: 6 nơron  Nhóm các chỉ tiêu về điện thoại cố định: 13 nơron  Nhóm các chỉ tiêu về điện thoại di động: 8 nơron - Số đầu ra: mạng nơron với nhiều đầu ra nói chung cho kết quả kém chính xác hơn so với mạng nơron có 1 đầu ra, vì vậy, chúng ta sẽ chọn số lượng nơron đầu ra của mạng là 1, tương ứng với chỉ tiêu cần dự báo. - Số lớp ẩn: theo thực tiễn và các nghiên cứu đã tiến hành, số lượng lớp ẩn lớn hơn 2 sẽ không cải thiện được độ chính xác của kết quả dự báo, vì vậy chỉ cần dùng từ 1-2 lớp ẩn. Trước hết, chúng ta sẽ chọn số lớp ẩn là 1, sau quá trình huấn luyện, nếu không thể đạt được độ chính xác mong muốn thông qua việc điều chỉnh các trọng số thì chúng ta sẽ tăng số lớp ẩn lên. - Số nơron ẩn: theo luật Kim tự tháp, số lượng nơron ẩn tối ưu sẽ từ ½ đến 2 lần số đầu vào. Ở đây, số nơron ẩn khởi tạo để xây dựng mô hình sẽ được tính theo công thức: Số nơron ẩn = (Số nơron đầu vào + Số nơron đầu - 77 - ra) 2 Theo đó, số nơron ẩn khi dự báo chỉ tiêu của các Nhóm như sau:  Nhóm các chỉ tiêu về thuê bao Internet: Số nơron ẩn = (6+1)/2 ~ 3 nơron  Nhóm các chỉ tiêu về điện thoại cố định: Số nơron ẩn = (13+1)/2 = 7 nơron  Nhóm các chỉ tiêu về điện thoại di động: Số nơron ẩn = (8+1)/2 = 4 nơron Trong quá trình huấn luyện, nếu với số nơron ẩn này, mạng nơron không thể đạt được độ chính xác mong muốn tối thiểu (10%), số nơron ẩn sẽ được tăng dần lên và huấn luyện lại mạng tới khi đạt được độ chính xác mong muốn. - Tổng kết lại, mô hình mạng nơron được thiết kế cho 3 nhóm chỉ tiêu như sau:  Nhóm các chỉ tiêu về thuê bao Internet - 78 -  Nhóm các chỉ tiêu về điện thoại cố định  Nhóm các chỉ tiêu về điện thoại di động - Hàm kích hoạt: vì dữ liệu dự báo là dữ liệu dạng số, phi tuyến nên hàm kích hoạt được sử dụng là hàm sigma. - 79 - 3.4.6. Xác định hàm đánh giá sai số Hàm đánh giá sai số được sử dụng là sai số trung bình bình phương. Đây là hàm đánh giá phổ biến khi sử dụng thuật toán lan truyền sai số ngược đối với dữ liệu dạng số. 3.4.7. Huấn luyện mạng nơ ron Việc huấn luyện các mạng nơronđược thực hiện với sự trợ giúp của bộ công cụ YALE theo mô hình sau: Để việc huấn luyện mạng nơron đạt kết quả tốt nhất, đề tài sử dụng một phương pháp tối ưu các tham số của mạng nơronđược cung cấp bởi thao tác GridParameterOptimization trong bộ công cụ YALE. Các tham số được tối ưu của mạng nơron gồm có hệ số học (tham số L trong bộ công cụ YALE) và hằng số xung lượng (tham số M trong bộ công cụ YALE). Thao tác GridParameterOptimization sẽ thử lần lượt từng cặp tham số L và M với các giá trị đã được khai báo từ 0,1 đến 0,9 để huấn luyện mạng nơron và chọn mạng nơron có kết quả tốt nhất để trả về cho người dùng. Thiết đặt các tham số của các thao tác trong mô hình như sau: - DatabaseExampleSource: - 80 -  Database_url: jdbc:mysql://localhost:3306/datamining  Username: root  Password: root  Query (trường hợp này xây dựng mô hình dự báo cho chỉ tiêu Internet m5831 của đơn vị Hà Nội, với chu kỳ dự báo trước 3 tháng): select tb1.m5831, tb1.m5832, tb1.m5833, tb1.m5834, tb1.m5835, tb1.m5836, tb2.m5831 label from internet tb1, internet tb2 where tb1.tinhid='010' and tb2.tinhid='010' and ((tb2.thang=tb1.thang+3 and tb1.thang+3<=12 and tb1.nam=tb2.nam) or (tb2.thang=tb1.thang+3-12 and tb2.nam=tb1.nam+1 and tb1.thang+3>12)); - ParameterOptimization:  L: 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9  M: 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9 - PerformanceEvaluation:  absolute_error: true  relative_error: true - ExperimentLog:  Filename: D:/datamining/log/logm5841_010_3.log - ModelWriter:  model_file: D:/datamining/model/m5831_010_3.mod Sau khi huấn luyện xong, kết quả thu được như sau: 1 . absolute_error: 37614.91913497647 2 . relative_error: 0.041056307093463335 Theo kết quả trên, sai số tuyệt đối của mô hình được xây dựng đối với chỉ tiêu sản lượng Internet m5831 là 37615 (phút) và sai số tương đối là 0.041, tức là khoảng 4,1%, nhỏ hơn so với yêu cầu đầu bài đặt ra là 10%. Vậy mô hình đã xây dựng có thể chấp nhận được để đưa ra dự báo số liệu. - 81 - Để xây dựng mô hình dự báo cho các chỉ tiêu, đơn vị khác, ta cần sửa lại câu Query để lấy mã chỉ tiêu, mã đơn vị và chu kỳ dự báo cho phù hợp. 3.4.8. Dự báo số liệu Việc dự báo số liệu được thực hiện với sự trợ giúp của bộ công cụ YALE theo mô hình sau: Các tham số trong mô hình được thiết đặt như sau: - DatabaseExampleSource:  Database_url: jdbc:mysql://localhost:3306/datamining  Username: root  Password: root  Query (trường hợp này dự báo cho chỉ tiêu Internet m5831 của đơn vị Hà Nội, với chu kỳ dự báo trước 3 tháng): select tb1.m5831, tb1.m5832, tb1.m5833, tb1.m5834, tb1.m5835, tb1.m5836 from internet tb1 where tb1.tinhid='010' and tb1.thang='01' and tb1.nam='2008' - ModelLoader:  model_file: D:/datamining/model/m5831_010_3.mod - ExampleSetWriter:  example_set_file: D:/datamining/result/m5831_010_3.txt Sau khi chạy chương trình ta thu được kết quả - 82 - - Độ chính xác mô hình : 0.041056307093463335 - Chu kỳ huấn luyện : 3 thang - Chỉ tiêu huấn luyện : m5831 - Kết quả dự đoán : 522089 Số liệu gốc của chỉ tiêu sản lượng Internet m5831 của Hà Nội trong tháng 01 năm 2008 là 578401 phút, vậy sai số thực tế là: Sai số tuyệt đối = | 522089 – 578401| = 56312 Sai số = | 522089 – 578401| * 100 / 578401 = 9.7% Sai số thực tế là 9.7% nhỏ hơn yêu cầu đầu bài đặt ra là 10%, vậy kết quả dự báo là đạt yêu cầu. Trong trường hợp dự báo những chỉ tiêu khác, đơn vị khác, ta cần thay đổi lại câu Query lấy dữ liệu cho phù hợp và file model cho khớp với mô hình dự báo đã được xây dựng. 3.5. Kết quả thử nghiệm Môi trường thử nghiệm Phần cứng  Application server: PC Pentium IV 1,7GHz, 512 M RAM, HDD 40GB  Database server: PC Pentium IV 1,7 GHz, 512M RAM, HDD 40GB. Phần mềm  Hệ điều hành:Windows XP phiên bản SP2 với các bản sửa lỗi cập nhật.  Cơ sở dữ liệu: MySQL 4.0  Bộ công cụ khai phá dữ liệu YALE Nội dung thử nghiệm - Thử nghiệm dự báo các chỉ tiêu điện thoại cố định; - Thử nghiệm dự báo các chỉ tiêu điện thoại di động; - Thử nghiệm dự báo các chỉ tiêu mạng Internet; - Đánh giá độ chính xác của kết quả thử nghiệm. - Sai số trong các thử nghiệm được tính theo công thức: Giá trị tuyệt đối (Kết quả dự báo – Số liệu thực tế) Sai số = Số liệu thực tế - 83 - a. Thử nghiệm với số liệu điện thoại cố định - Kết quả dự báo sản lượng Điện thoại đường dài liên tỉnh (m420) trước 1 tháng (sử dụng số liệu tháng 7/2007 để dự báo số liệu tháng 8/2007): Tỉnh Số liệu thực tế Kết quả dự báo Sai số HA NOI 15,384,979 13121762 0.1471056 VINH PHUC 1,315,143 1268490 0.0354737 HOA BINH 639,245 557377 0.1280698 HA GIANG 261,118 276375 0.0584295 BAC CAN 206,732 197075 0.0467127 Bảng 2. Kết quả dự báo chỉ tiêu m420 tháng 8 từ số liệu tháng 7 - Kết quả dự báo sản lượng Điện thoại đường dài liên tỉnh (m420) trước 3 tháng (sử dụng số liệu tháng 7/2007 để dự báo số liệu tháng 10/2007): Tỉnh Số liệu thực tế Kết quả dự báo Sai số HA NOI 15,041,155 15609830 0.0378079 VINH PHUC 1,309,883 1241004 0.0525841 QUANG NINH 1,988,721 2245057 0.1288949 HA GIANG 277,321 311568 0.1234923 HA TAY 3,078,015 2980853 0.0315664 Bảng 3. Kết quả dự báo chỉ tiêu m420 tháng 10 từ số liệu tháng 7 - Kết quả dự báo sản lượng Điện thoại đường dài liên tỉnh (m420) trước 2 tháng (sử dụng số liệu tháng 7/2007 để dự báo số liệu tháng 9/2007): Tỉnh Số liệu thực tế Kết quả dự báo Sai số LAO CAI 491,861 518783 0.054735 LANG SON 559,596 522692 0.0659476 BAC GIANG 1,161,074 1253557 0.079653 HA GIANG 275,482 211459 0.2324036 THAI NGUYEN 992,718 943476 0.0496032 Bảng 4. Kết quả dự báo chỉ tiêu m420 tháng 9 từ số liệu tháng 7 - Kết quả dự báo sản lượng Điện thoại đường dài liên tỉnh (m410) trước 1 tháng (sử dụng số liệu tháng 7/2007 để dự báo số liệu tháng 8/2007): Tỉnh Số liệu thực tế Kết quả dự báo Sai số HA NOI 5,797,777 6579024 0.1347494 LAO CAI 176,153 178648 0.0141638 PHU THO 445,877 508942 0.1414404 HA GIANG 105,339 113189 0.0745213 HAI DUONG 721,755 725913 0.005761 Bảng 5. Kết quả dự báo chỉ tiêu m410 tháng 8 từ số liệu tháng 7 - 84 - - Kết quả dự báo sản lượng Điện thoại đường dài liên tỉnh (m410) trước 2 tháng (sử dụng số liệu tháng 7/2007 để dự báo số liệu tháng 9/2007): Tỉnh Số liệu thực tế Kết quả dự báo Sai số LAO CAI 172,327 185763 0.077968 LANG SON 215,018 230419 0.0716266 BAC GIANG 469,881 546045 0.1620921 CAO BANG 112,588 72690 0.3543717 THAI NGUYEN 363,779 403592 0.1094428 Bảng 6. Kết quả dự báo chỉ tiêu m410 tháng 9 từ tháng 7 - Kết quả dự báo sản lượng Điện thoại đường dài liên tỉnh (m410) trước 3 tháng (sử dụng số liệu tháng 7/2007 để dự báo số liệu tháng 10/2007): Tỉnh Số liệu thực tế Kết quả dự báo Sai số HA NOI 5,737,009 6743663 0.175466694 LAO CAI 172,327 181374 0.052499028 PHU THO 433,390 168394 0.611449272 HA GIANG 105,339 112319 0.066262258 HAI DUONG 713,899 695400 0.025912629 Bảng 7. Kết quả dự báo chỉ tiêu m410 tháng 10 từ tháng 7 - Kết quả dự báo sản lượng Điện thoại đường dài nội tỉnh (m425) trước 1 tháng (sử dụng số liệu tháng 7/2007 để dự báo số liệu tháng 8/2007): Tỉnh Số liệu thực tế Kết quả dự báo Sai số PHU THO 2,618,018 2416144 0.0771095 TUYEN QUANG 515,185 524822 0.0187059 YEN BAI 1,255,692 1119392 0.1085457 SON LA 1,152,466 1127618 0.0215607 HA TAY 2,736,078 2821454 0.0312038 Bảng 8. Kết quả dự báo chỉ tiêu m425 tháng 8 từ tháng 7 - Kết quả dự báo sản lượng Điện thoại đường dài nội tỉnh (m425) trước 2 tháng (sử dụng số liệu tháng 7/2007 để dự báo số liệu tháng 8/2007): Tỉnh Số liệu thực tế Kết quả dự báo Sai số PHU THO 2,426,512 2455260 0.0118475 TUYEN QUANG 500,660 548092 0.0947389 YEN BAI 1,143,073 1300942 0.1381093 SON LA 1,069,080 1162675 0.0875472 HA TAY 2,535,863 2841905 0.1206855 Bảng 9. Kết quả dự báo chỉ tiêu m425 tháng 9 từ tháng 7 - 85 - - Kết quả dự báo sản lượng Điện thoại đường dài nội tỉnh (m425) trước 3 tháng (sử dụng số liệu tháng 7/2007 để dự báo số liệu tháng 8/2007): Tỉnh Số liệu thực tế Kết quả dự báo Sai số PHU THO 2,453,173 2499278 0.018794 TUYEN QUANG 499,892 572831 0.1459095 YEN BAI 1,124,732 1129999 0.0046829 SON LA 1,104,919 1112641 0.0069887 HA TAY 2,558,109 2747608 0.0740778 Bảng 10. Kết quả dự báo chỉ tiêu m425 tháng 10 từ tháng 7 - Kết quả dự báo sản lượng Điện thoại đường dài nội tỉnh (m425) trước 4 tháng (sử dụng số liệu tháng 7/2007 để dự báo số liệu tháng 11/2007): Tỉnh Số liệu thực tế Kết quả dự báo Sai số PHU THO 2,415,412 2408182 0.0029933 HA GIANG 739,541 857315 0.1592528 VINH PHUC 1,853,063 1954871 0.0549404 LAO CAI 716,724 902910 0.2597736 LANG SON 890,061 1181485 0.3274203 Bảng 11. Kết quả dự báo chỉ tiêu m425 tháng 11 từ tháng 7 - Kết quả dự báo sản lượng Điện thoại đường dài nội tỉnh (m425) trước 5 tháng (sử dụng số liệu tháng 7/2007 để dự báo số liệu tháng 12/2007): Tỉnh Số liệu thực tế Kết quả dự báo Sai số PHU THO 2,513,767 2486823 0.0107186 HA GIANG 742,321 806,937 0.0870459 VINH PHUC 1,824,169 1941573 0.0643603 LAO CAI 750,370 920147 0.2262577 LANG SON 914,064 1207396 0.3209097 Bảng 12. Kết quả dự báo chỉ tiêu m425 tháng 12 từ tháng 7 Đánh giá kết quả - Đánh giá về độ chính xác: sau khi tổng hợp kết quả, độ chính xác trung bình của những lần dự báo trên như sau Chu kỳ Độ chính xác do hệ thống ước lượng Độ chính xác thực tế Dự báo trước 1 tháng 0.0844 93.04% Dự báo trước 2 tháng 0.0847 88.59% Dự báo trước 3 tháng 0.0967 89.62% Dự báo trước 4 tháng 0.0801 83.91% Dự báo trước 5 tháng 0.091 85.81% - 86 - Bảng 13. Độ chính xác trung bình theo chu kỳ Chỉ tiêu Độ chính xác do hệ thống ước lượng Độ chính xác thực tế Điện thoại đường dài liên tỉnh (m420) - số phút 0.093 91.51% Điện thoại đường dài liên tỉnh (m410) - số cuộc 0.0818 86.14% Điện thoại đường dài nội tỉnh (m425) 0.0837 93.59% Bảng 14. Độ chính xác trung bình theo chỉ tiêu - Đánh giá chung: o Với chu kỳ dự báo là 1 tháng, hệ thống dự báo cho độ chính xác khá tốt (93.04%) o Với chu kỳ dự báo xa hơn (2 tháng và 3 tháng), độ chính xác của hệ thống bị giảm đi: 88.59% cho chu kỳ 2 tháng và 89.62% cho chu kỳ 3 tháng. Đối với những chu kỳ xa hơn nữa (4 tháng và 5 tháng), độ chính xác của hệ thống giảm sâu hơn 83.91% cho chu kỳ 4 tháng và 85.81% cho chu kỳ 5 tháng, đồng thời độ ổn định của hệ thống cũng giảm, thể hiện qua việc độ chính xác phân bố không đều khi dự báo cho các đơn vị khác nhau. b. Thử nghiệm với dữ liệu mạng Internet - Mục tiêu là dự báo doanh thu tháng 10/2005 từ số liệu tháng 9/2005. - Tập dữ liệu dùng để huấn luyện mô hình sử dụng các chỉ tiêu sau: Stt Mã số Tên 1 5831 Truy nhập Internet 1260 2 5832 Truy nhập Internet 1268 3 5833 Truy nhập Internet 1269 4 5834 Truy nhập Internet 1267 - Kết quả dự báo như sau: STT Tên tỉnh Số liệu gốc KQ dự báo Sai số (%) 1 VINH PHUC 2,201,009 1,920,233 12.76 2 BAC CAN 232,242 218,371 5.97 3 LAO CAI 432,238 492,799 14.01 4 LANG SON 856,861 812,843 5.14 5 CAO BANG 380,732 397,289 4.35 6 TUYEN QUANG 184,562 126,723 31.34 7 YEN BAI 529,711 491,407 7.23 8 SON LA 511,268 381,642 25.35 9 QUANG NINH 1,484,738 1,504,460 1.33 10 HUNG YEN 800,654 869,151 8.56 - 87 - 11 NINH BINH 554,763 296,709 46.52 12 QUANG TRI 113,429 111,890 1.36 13 DA NANG 3,728,179 3,570,627 4.23 14 VUNG TAU 4,579,414 4,206,617 8.14 15 LONG AN 1,339,210 1,257,809 6.08 16 TRA VINH 2,366,711 2,584,598 9.21 17 CAN THO 2,312,776 2,497,010 7.97 18 KIEN GIANG 984,872 781,674 20.63 c. Thử nghiệm với dữ liệu mạng di động - Mục tiêu là dự báo doanh thu tháng 10/2005 từ số liệu tháng 9/2005 - Tập dữ liệu dùng để huấn luyện mô hình sử dụng các chỉ tiêu sau: Stt Mã số Tên 1 602 Điện thoại di động nội vùng 2 604 Điện thoại di động cận vùng 3 606 Điện thoại di động quốc tế 4 608 Điện thoại di động cách vùng - Kết quả dự báo như sau: STT Tên tỉnh Số liệu gốc KQ dự báo Sai số (%) 1 BAC CAN 508,039,169 510,695,509 0.52 2 BAC GIANG 1,086,907,436 1,125,339,897 3.54 3 BAC NINH 1,705,863,787 1,463,726,093 14.19 4 BINH PHUOC 1,099,713,765 1,161,228,984 5.59 5 CAO BANG 580,236,192 494,989,286 14.69 6 HA GIANG 966,031,510 1,014,016,656 4.97 7 HAI DUONG 1,711,405,674 1,417,889,774 17.15 8 HOA BINH 1,125,970,653 930,931,549 17.32 9 LAI CHAU 528,864,221 444,178,039 16.01 10 LAM DONG 1,705,469,174 1,815,195,236 6.43 11 LAO CAI 1,810,695,973 1,823,770,800 0.72 12 NINH BINH 1,614,052,078 1,413,569,994 12.42 13 NINH THUAN 1,504,169,432 1,858,152,940 23.53 14 PHU YEN 1,302,080,907 1,270,779,574 2.40 15 QUANG BINH 934,335,220 948,417,461 1.51 16 QUANG TRI 1,681,432,846 1,713,333,591 1.90 17 SON LA 1,055,662,325 869,255,073 17.66 18 TRA VINH 1,544,938,241 1,639,290,025 6.11 19 VINH LONG 986,814,753 1,041,746,985 5.57 20 YEN BAI 903,100,663 891,574,021 1.28 - Đánh giá chung: Các lần thử nghiệm đã cho kết quả khá tốt, thể hiện qua kết quả dự báo chỉ sai lệch khoảng trên dưới 10% so với kết quả thực tế tùy theo điều kiện dự báo. Mặt khác độ chính xác do chương trình ước lượng và sai số thực tế cũng chênh lệch nhau không nhiều (không quá 10%), điều này cho - 88 - thấy độ tin tưởng của chương trình là chấp nhận được và dựa vào các số liệu này, các chuyên viên có thể sử dụng kinh nghiệm của mình để đưa ra các kết quả dự báo chính xác. Bên cạnh đó, chương trình là một công cụ tốt giúp các chuyên viên có thể xử lý những lượng dữ liệu lớn khi cần dự báo số liệu SXKD, hỗ trợ cho việc dự báo hàng loạt nhiều chỉ tiêu, nhiều đơn vị, tiết kiệm thời gian, công sức cho chuyên viên trong việc dự báo số liệu phục vụ công tác điều hành SXKD của Tập đoàn. 3.6. Thiết kế Phần mềm dự báo số liệu SXKD cho VNPT 3.6.1. Sơ đồ phân rã chức năng Hệ thống được xây dựng bao gồm những chức năng sau: - Xem số liệu: giúp người sử dụng xem các số liệu dưới dạng trực quan hóa, xem các siêu dữ liệu của tập dữ liệu đó. Chức năng này gồm các chức năng con sau: - Xây dựng mô hình:  Xây dựng mô hình dự báo chu kỳ sau: xây dựng mô hình dự báo số liệu trong chu kỳ kế tiếp. Chức năng này gồm các chức năng con sau:  Xây dựng mô hình dự báo nhiều chu kỳ liên tiếp: xây dựng mô hình dự báo số liệu cho nhiều chu kỳ liên tiếp. Chức năng này gồm các chức năng con sau: - Dự báo số liệu mới:  Dự báo số liệu chu kỳ sau: dự báo số liệu trong chu kỳ kế tiếp. Chức năng này gồm các chức năng con sau:  Dự báo số liệu nhiều chu kỳ liên tiếp: dự báo số liệu cho nhiều chu kỳ liên tiếp. Chức năng này gồm các chức năng con sau: - Cập nhật tập huấn luyện: giúp người sử dụng cập nhật dữ liệu mới cho tập huấn luyện nhằm giúp mô hình dự báo chính xác hơn. Chức năng này gồm các chức năng con sau: - Cấu hình hệ thống: thiết đặt các cấu hình và tham số cho hệ thống. 3.6.2. Biểu đồ ngữ cảnh Tác nhân tham gia hệ thống chỉ có một đối tượng là Người dùng mà cụ thể ở đây là các chuyên viên phân tích, tổng hợp số liệu. Người dùng sẽ cung cấp số liệu - 89 - SXKD cho hệ thống, đưa ra các yêu cầu dự báo, các yêu cầu xây dựng mô hình và nhận kết quả dự báo được trả lại từ chương trình. Hệ thống Khai phá dữ liệuNgười dùng Số liệu SXKD mới Kết quả dự đoán Thiết lập cấu hình Yêu cầu xây dựng mô hình Yêu cầu xem số liệu Số liệu Đánh giá mô hình Yêu cầu dự đoán Hình 20. Biểu đồ ngữ cảnh Hệ thống Dự báo số liệu 3.6.3. Sơ đồ phân rã chức năng - 90 - 3.6.4. Sơ đồ quan hệ Hình 21. Sơ đồ quan hệ dữ liệu của Hệ thống Dự báo số liệu - 91 - 3.6.5. Thiết kế dữ liệu logic Bảng NHIEMVU: lưu thông tin về các nhiệm vụ của hệ thống Tên trường Kiểu dữ liệu Giá trị khởi tạo NhiemvuID Int(2) TenNhiemvu Varchar(255) MoTa Varchar(255) Bảng CHUKY: lưu thông tin về các loại chu kỳ hệ thống có thể dự báo Tên trường Kiểu dữ liệu Giá trị khởi tạo ChukyID Int(2) TenChuky Varchar(100) MoTa Varchar(255) Bảng GIAITHUAT: lưu thông tin về các giải thuật hệ thống sử dụng để dự báo số liệu Tên trường Kiểu dữ liệu Giá trị khởi tạo GiaithuatID Int(2) TenGiaithuat Varchar(255) MoTa Varchar(255) Bảng THAMSO: lưu thông tin về tham số của các giải thuật cũng như tham số của các mô hình xây dựng được Tên trường Kiểu dữ liệu Giá trị khởi tạo ThamsoID Int(5) TenThamso Varchar(255) Giatri Varchar(100) MoTa Varchar(255) MohinhID Int(5) Bảng KETQUA: lưu kết quả các số liệu mà hệ thống dự báo được Tên trường Kiểu dữ liệu Giá trị khởi tạo KetquaID Int(7) Giatri Varchar(100) NgayTao Datetime - 92 - ChitieuID Int(7) MohinhID Int(7) Bảng CHITIEU: lưu thông tin về các chỉ tiêu sử dụng để xây dựng mô hình Tên trường Kiểu dữ liệu Giá trị khởi tạo ChitieuID Int(7) TenChitieu Varchar(100) MaChitieu Varchar(10) NhiemvuID Int(2) Bảng TINH: lưu danh sách các tỉnh Tên trường Kiểu dữ liệu Giá trị khởi tạo TinhID Int(2) TenTinh Varchar(100) TenViettat Char(3) Bảng MOHINH: lưu thông tin về các mô hình hệ thống xây dựng nên để dự báo số liệu Tên trường Kiểu dữ liệu Giá trị khởi tạo MohinhID Int(5) TenMohinh Varchar(255) Lienket Varchar(255) MoTa Varchar(255) NgayTao Datetime ChitieuID Int(7) NhiemvuID Int(2) ChukyID Int(2) GiaithuatID Int(2) TinhID Int(2) Thang Int(2) Nam Int(4) Bảng INTERNET: lưu số liệu SXKD của các chỉ tiêu Internet Tên trường Kiểu dữ liệu Giá trị khởi tạo - 93 - ID Int(7) TinhID Int(2) m5831 Int(10) m5832 Int(10) m5833 Int(10) m5834 Int(10) m5835 Int(10) m5836 Int(10) Thang Int(2) Nam Int(4) Bảng DIDONG: lưu số liệu SXKD của các chỉ tiêu điện thoại di động Tên trường Kiểu dữ liệu Giá trị khởi tạo ID Int(7) TinhID Int(2) m601 Int(10) m602 Int(10) m603 Int(10) m604 Int(10) m605 Int(10) m606 Int(10) m607 Int(10) m608 Int(10) Thang Int(2) Nam Int(4) Bảng CODINH: lưu số liệu SXKD của các chỉ tiêu điện thoại cố định Tên trường Kiểu dữ liệu Giá trị khởi tạo ID Int(7) TinhID Int(2) m410 Int(10) m420 Int(10) m421 Int(10) m422 Int(10) m423 Int(10) - 94 - m425 Int(10) Thang Int(2) Nam Int(4) Bảng TACDONG_CODINH: lưu số liệu về các tác động của môi trường tới các chỉ tiêu điện thoại cố định Tên trường Kiểu dữ liệu Giá trị khởi tạo tadongid Int(7) tentacdong Varchar(200) nhanto Int(2) hanhdong Int(3) mucdo Int(3) codinhid Int(7) Bảng TACDONG_HOITU: lưu số liệu về các tác động của môi trường tới các chỉ tiêu mạng hội tụ Tên trường Kiểu dữ liệu Giá trị khởi tạo tadongid Int(7) tentacdong Varchar(200) nhanto Int(2) hanhdong Int(3) mucdo Int(3) hoituid Int(7) Bảng TACDONG_INTERNET: lưu số liệu về các tác động của môi trường tới các chỉ tiêu mạng Internet Tên trường Kiểu dữ liệu Giá trị khởi tạo tadongid Int(7) tentacdong Varchar(200) nhanto Int(2) hanhdong Int(3) mucdo Int(3) internetid Int(7) - 95 - Bảng TACDONG_DIDONG: lưu số liệu về các tác động của môi trường tới các chỉ tiêu điện thoại di động Tên trường Kiểu dữ liệu Giá trị khởi tạo tadongid Int(7) tentacdong Varchar(200) nhanto Int(2) hanhdong Int(3) mucdo Int(3) didongid Int(7) 3.6.6. Thiết kế chức năng xem số liệu Hình 22. Biểu đồ luồng dữ liệu cho chức năng xem số liệu - 96 - 3.6.7. Thiết kế chức năng xây dựng mô hình 2.2 Chọn chu kỳ 2.1 Chọn chỉ tiêu 2.4 Chọn đơn vị 2.3 Huấn luyện Người dùng Chọn chỉ tiêu Chọn chu kỳ Chỉ tiêu Chu kỳ Chu kfy Mô hình Đơn vị Tham số Chọn đơn vị tỉnh Tỉnh Chu kỳChỉ tiêu Tham số Mô hình Chỉ tiêu Hình 23. Biểu đồ luồng dữ liệu cho chức năng xây dựng mô hình 3.6.8. Thiết kế chức năng dự báo số liệu Hình 24. Biểu đồ luồng dữ liệu cho chức năng dự báo số liệu - 97 - 3.6.9. Thiết kế chức năng Cập nhật tập huấn luyện Hình 25. Biểu đồ luồng dữ liệu cho chức năng Cập nhật tập huấn luyện KẾT LUẬN CHƯƠNG 3 Trong chương 3, luận văn đã phát biểu bài toán “Dự báo kết quả hoạt động SXKD của VNPT”, thiết kế mạng nơron nhân tạo để giải quyết bài toán theo các bước: phân tích hoạt động SXKD của VNPT để lựa chọn dữ liệu đầu vào, tiền xử lý dữ liệu, Xác định tập huấn luyện, tập kiểm thử, Xác định mô hình mạng nơ ron, Huấn luyện mạng nơron và Dự báo số liệu. Sau đó, thông qua bộ công cụ khai phá dữ liệu YALE, người thực hiện đề tài đã ứng dụng mạng nơron nhân tạo để dự báo kết quả hoạt động SXKD cho VNPT với các chỉ tiêu về điện thoại di động, điện thoại cố định và mạng Internet. Quá trình thử nghiệm với số liệu thực tế của VNPT đã cho kết quả tốt với độ chính xác dự báo trung bình khoảng 10%. - 98 - KẾT LUẬN Trong nền kinh tế tri thức hiện nay, thông tin có vai trò quyết định, tuy nhiên những thông tin có giá trị nhất không phải là những thông tin thô mà là thông tin đã qua phân tích, tổng hợp. Do đó, nghiên cứu và xử lý thông tin đang ngày càng thể hiện rõ tầm quan trọng của mình và ngày càng được các doanh nghiệp trên khắp thế giới quan tâm, đầu tư phát triển. Tại Việt Nam, nhu cầu phân tích, xử lý thông tin và đặc biệt là khai phá, dự báo số liệu đã xuất hiện từ lâu nhưng việc đáp ứng nhu cầu này còn rất hạn chế, hiện chỉ có một số ít các doanh nghiệp lớn của Nhà nước đầu tư cho lĩnh vực này. Trong khi đó thực tiễn của tiến trình hội nhập kinh tế quốc tế ở nước ta thời gian qua cho thấy để hoạt động sản xuất kinh doanh của các doanh nghiệp đạt hiệu quả, để doanh nghiệp cạnh tranh thành công trên thị trường điều rất quan trọng là doanh nghiệp phải dự báo được khả năng sản xuất kinh doanh các sản phẩm của mình. Bởi vậy nhu cầu đẩy mạnh hoạt động khai phá và dự báo dữ liệu trong các doanh nghiệp ngày càng trở lên cần thiết và cấp bách. Trong bối cảnh ấy vấn đề nghiên cứu ứng dụng trong luận văn này là hướng đi đúng đắn và có ý nghĩa thực tiến. Luận văn này đã trình bầy một cách tổng quan về dự báo, chức năng của dự báo và những phương pháp dự báo định lượng chủ yếu hiện đang được ứng dụng trong doanh nghiệp. Luận văn cũng tập trung trình bầy một cách tóm tắt một số nội dung chủ yếu về mạng nơron, trình bầy phương pháp phân lớp và dự báo dữ liệu bằng mạng nơron. Trên cơ sở phân tích nhu cầu dự báo định lượng của Tập đoàn VNPT, luận văn đã đề xuất bài toán và thực hiện dự báo đối với một số chỉ tiêu về điện thoại cố định, điện thoại di động và mạng Internet bằng phương pháp mạng noron dựa trên bộ công cụ khai phá dữ liệu YALE và tập số liệu thực tế của Tập đoàn VNPT. Kết quả dự báo là rất khả quan. Kết quả dự báo có độ chính xác khá cao so với thực tiễn khi kỳ dự báo gần; khi kỳ dự báo xa hơn, độ chính xác bị giảm xuống nhưng không nhiều và không có sự khác biệt lớn với các dự báo nhiều kỳ thời gian. Kết quả dự báo cũng cho cho thấy phương pháp dự báo số liệu bằng mạng nơron nhân tạo có một số điểm ưu việt như: - 99 - - Mô hình có khả năng tự điều chỉnh tham số để thích nghi với những biến động của dữ liệu trong quá trình sử dụng. - Độ chính xác của kết quả dự báo chỉ phụ thuộc vào dữ liệu đầu vào, những biến động thực tế đều được thể hiện trên số liệu. Đề tài luận văn này vẫn tiếp tục được nghiên cứu và phát triển theo những hướng sau: - Hoàn chỉnh mô hình dự báo, xây dựng và hoàn thiện phần mềm dự báo số liệu SXKD cho VNPT nhằm tạo sự thuận tiện, dễ dàng hơn cho người dùng khi sử dụng hệ thống. - Mở rộng ứng dụng phương pháp dự báo của luận văn này sang một số lĩnh vực kinh tế - xã hội khác như dự báo các chỉ tiêu kinh tế - xã hội chủ yếu, dự báo giá và chỉ số chứng khoán, ... - 100 - TÀI LIỆU THAM KHẢO A - Sách tham khảo Tiếng Việt [1] Tạ Mạnh Cường (2006), Dự báo chuỗi dữ liệu phụ thuộc thời gian theo mùa vụ bằng mô hình Holt-Winters, Luận văn Ths, ĐH Công nghệ - ĐHQGHN. [2] Nguyễn Khắc Minh (2002), Các phương pháp phân tích và dự báo trong kinh tế. NXB Khoa học và kỹ thu, ật Hà Nội,. [3] Trần Văn Thái (2005), Phát hiện tri thức theo mùa từ cơ sở dữ liệu chuỗi thời gian, Luận văn Ths, ĐH Công nghệ - ĐHQGHN. [4] Đỗ Văn Thành (2007), Giải pháp dự báo ngắn hạn về tăng trưởng kinh tế Việt Nam. Tiếng Anh [5] C.C.Klimasauskas (1993), Applying neural network, in R.R. Trippi and E. Turban, eds., Neural Network in Finance and Investing: Using Artificial Intelligence to Improve Real World Performance, Chicago. [6] Christopher M. Bishop (1995), Neural Networks for Pattern Recognition. Clarendon Press, Oxford. [7] Danielle Graupe (2007), Principles of Artificial Neural Networks. World Scientific. [8] David Hand, Heikki Mannila, Padhraic Smyth (2001). Principles of Data Mining. The MIT Press. [9] G.J.Deboeck, Ed (1994), Trading on the Edge: Neural, Genetic and Fuzzy Systems for Chaotic Financial Markets. Wiley, NewYork. [10] Icebeling Kaastra, Milton Boyd (1995), Designing a neural network for forcasting finacial and economic time series. [11] J.O.Katz (April 1992), Developing neural network forcasters for trading, Technical Analysis of Stocks and Commodities. - 101 - [12] Jiawei Han and Michelle Kamber (2001), Data Mining: Concepts and Techniques. Morgan Kaufmann. [13] Joseph P.Bigus (1996), Data Mining Process with Neural Networks. McGraw-Hill. [14] Peter Cabena, Pablo Hadjinian, Rolf Stadler, Jaap Verhees, Alessandro Zanasi (1998), Discovering Data Mining, From Concept to Implementation. Prentice Hall Ptr. [15] T. Masters (1993), Pratical Neural Networks Recipes in C++, Academic Press, NewYork. B - Địa chỉ web [16] Tài liệu của phần mềm nguồn mở Weka: [17] Tài liệu của phần mềm nguồn mở Yale: dortmund.de/SOFTWARE/YALE/index.html [18] www.forecast.umkc.edu

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN-ÁP DỤNG CÁC KỸ THUẬT PHÂN LỚP DỮ LIỆU, HỒI QUY ĐỂ DỰ BÁO SỐ LIỆU SẢN XUẤT KINH DOANH CHO VNPT.pdf