intTypePromotion=1
ADSENSE

Xử lý dữ liệu thiếu trong nghiên cứu phụ tải bằng support vector regression (SVR)

Chia sẻ: Nguyễn Văn H | Ngày: | Loại File: PDF | Số trang:6

73
lượt xem
1
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài báo đề xuất một phương pháp xử lý dữ liệu thiếu bằng cách xây dựng các mô hình hồi quy tối ưu hóa các thông số tự động thông qua quá trình huấn luyện học máy support vector regression (SVR), từ đó ước lượng lại các dữ liệu đã mất hoặc không ghi nhận được trong quá trình đo đếm. Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Xử lý dữ liệu thiếu trong nghiên cứu phụ tải bằng support vector regression (SVR)

28<br /> <br /> Nguyễn Tuấn Dũng, Nguyễn Thanh Phương<br /> <br /> XỬ LÝ DỮ LIỆU THIẾU TRONG NGHIÊN CỨU PHỤ TẢI BẰNG SUPPORT<br /> VECTOR REGRESSION (SVR)<br /> DEALING WITH MISSING DATA FOR THE POWER LOAD STUDIES USING SUPPORT<br /> VECTOR REGRESSION (SVR)<br /> Nguyễn Tuấn Dũng1, Nguyễn Thanh Phương2<br /> 1<br /> Tổng Công ty Điện lực TP. Hồ Chí Minh; dungnt@hcmpc.com.vn<br /> 2<br /> Trường Đại học Công nghệ TP. Hồ Chí Minh; nt.phuong@hutech.edu.vn<br /> Tóm tắt - Trong những năm gần đây, việc nghiên cứu và ứng dụng<br /> các kỹ thuật khai thác dữ liệu gặp phải nhiều khó khăn, thách thức<br /> lớn, trong đó có vấn đề giá trị thiếu, tức là có những giá trị thuộc tính<br /> của dữ liệu bị thiếu. Có nhiều nguyên nhân khác nhau dẫn tới hiện<br /> tượng này: thiết bị thu thập dữ liệu bị hỏng, sự thay đổi thiết kế thí<br /> nghiệm, sự từ chối cung cấp dữ liệu nhằm bảo vệ tính riêng tư, sự<br /> sơ suất khi nhập dữ liệu, các sự cố xảy ra trong quá trình truyền dữ<br /> liệu,... [1]. Trong đó, việc thiếu dữ liệu phục vụ công tác nghiên cứu,<br /> dự báo phụ tải điện là một trong những vấn đề nan giải đối với ngành<br /> điện. Hiện các công ty điện lực đang thực hiện việc này bằng cách<br /> nội suy từ các giá trị đo đếm của các ngày trước, giờ trước một cách<br /> thủ công, không chuẩn xác làm ảnh hưởng không nhỏ đến kết quả<br /> phân tích, xử lý dữ liệu trong quá trình nghiên cứu phụ tải. Bài báo<br /> đề xuất một phương pháp xử lý dữ liệu thiếu bằng cách xây dựng<br /> các mô hình hồi quy tối ưu hóa các thông số tự động thông qua quá<br /> trình huấn luyện học máy Support Vector Regression (SVR), từ đó<br /> ước lượng lại các dữ liệu đã mất hoặc không ghi nhận được trong<br /> quá trình đo đếm.<br /> <br /> Abstract - In recent years, the research and the application of data<br /> mining techniques have encountered many difficulties and<br /> challenges, including the missing value problem i.e. the attribute<br /> values of the data are missing . There are many different causes<br /> of this phenomenon: damaged data collection equipment, the<br /> change of design of experiments, the refusal to provide the data in<br /> order to protect privacy, the mistake when importing data, the<br /> incident occurrence during the data transmission... [1]. In<br /> particular, the lack of data is one of the problems for the power<br /> sector. The power companies are doing this manually, causing<br /> influence on results analysis. This paper proposes a method of<br /> handling missing data by building the regression model to optimize<br /> parameters automatically through Support Vector Regression<br /> (SVR), machine learning training which estimates the lost data or<br /> unrecorded data during the measurement.<br /> <br /> Từ khóa - thiếu dữ liệu; ước lượng; số liệu đo đếm; phụ tải điện;<br /> SVM; SVR<br /> <br /> Key words - missing data; estimation; measurement data; power<br /> load; SVM; SVR<br /> <br /> 1. Đặt vấn đề<br /> 1.1. Dữ liệu thiếu trong quá trình khai thác cơ sở dữ liệu<br /> (CSDL)<br /> Tất cả các nhà nghiên cứu đều đã phải đối mặt với các<br /> vấn đề về dữ liệu định lượng bị mất (thiếu giá trị) tại một<br /> số điểm trong công việc của họ, làm thế nào để xử lý các<br /> các giá trị thuộc tính thiếu là một nhiệm vụ quan trọng hàng<br /> đầu của quá trình khái thác từ các CSDL. Việc loại bỏ tất<br /> cả các bộ dữ liệu có chứa giá trị thuộc tính thiếu sẽ làm mất<br /> thông tin, đánh mất các đặc trưng ban đầu của CSDL.<br /> Phương pháp xem xét tình trạng nguyên thủy (dữ liệu gốc),<br /> sử dụng dữ liệu sẵn có để có thể gán các giá trị thiếu sẽ là<br /> cách làm tốt nhất. Tuy nhiên, để xác định giá trị thực của<br /> dữ liệu thiếu là công việc rất khó khăn.<br /> Cho đến nay, có nhiều phương pháp xử lý giá trị thiếu<br /> đã được đề xuất và áp dụng [1, 2]. Các phương pháp này<br /> cho phép xử lý trực tiếp các giá trị thiếu, tuy nhiên chúng<br /> cũng có thể mang những thông tin nhiễu vào tập dữ liệu<br /> đang xét. Việc xử lý các giá trị thiếu cần phải được cân<br /> nhắc và thực hiện một cách thận trọng, nếu các nhà nghiên<br /> cứu sử dụng phương pháp xử lý dữ liệu bị mất mà không<br /> cẩn thận xem xét các giả định cần thiết của phương pháp<br /> đó, họ có nguy cơ có kết quả sai lệch và gây hiểu nhầm [2].<br /> Cho đến nay, việc xử lý giá trị thiếu trong các CSDL vẫn<br /> là đề tài thu hút sự quan tâm của nhiều nhà nghiên cứu và<br /> ứng dụng.<br /> Một nhiệm vụ vô cùng quan trọng khi xây dựng một<br /> phương pháp xử lý giá trị thiếu là phải hiểu được cơ chế<br /> <br /> sinh ra các giá trị thiếu trong CSDL cần khai phá. Nắm bắt<br /> được cơ chế sinh ra giá trị thiếu trong một tình huống cụ<br /> thể sẽ giúp xây dựng được một phương pháp xử lý thích<br /> hợp và hiệu quả. Theo các nhà thống kê toán học, sự xuất<br /> hiện các giá trị thiếu trong một CSDL có thể phân thành ba<br /> trường hợp theo tính ngẫu nhiên như [1, 2]:<br /> - Trường hợp 1: Thiếu hoàn toàn ngẫu nhiên (Missing<br /> Completely At Random – MCAR). Đây là mức độ ngẫu<br /> nhiên cao nhất. Trường hợp này xảy ra khi xác suất một<br /> giá trị của thuộc tính bị thiếu không phụ thuộc vào các<br /> giá trị đã biết cũng như bản thân giá trị bị thiếu.<br /> <br /> - Trường hợp 2: Thiếu ngẫu nhiên (Missing At<br /> Random – MAR). Đó là khi xác suất xuất hiện một giá<br /> trị thiếu tại một thuộc tính có thể phụ thuộc vào các giá<br /> trị đã biết, nhưng không phụ thuộc vào bản thân giá trị<br /> bị thiếu.<br /> -<br /> <br /> Trường hợp 3: Thiếu không ngẫu nhiên (Not<br /> Missing At Random – NMAR): khi xác suất xuất hiện<br /> một giá trị thiếu tại một thuộc tính phụ thuộc vào giá trị<br /> của thuộc tính đó.<br /> <br /> 1.2. Dữ liệu thiếu trong nghiên cứu phụ tải điện<br /> Nghiên cứu phụ tải là hoạt động phân tích biểu đồ phụ<br /> tải hệ thống điện nhằm chia thành biểu đồ của các thành<br /> phần phụ tải, phân nhóm phụ tải, các khách hàng sử dụng<br /> điện cuối cùng và các công nghệ sử dụng điện, để đưa ra<br /> các thông tin quan trọng như: Công suất và thời gian xuất<br /> hiện phụ tải đỉnh; Xu hướng tăng trưởng của phụ tải đỉnh<br /> <br /> ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 3(112).2017-Quyển 1<br /> <br /> và hệ số phụ tải; Chênh lệch phụ tải cao/thấp điểm của hệ<br /> thống; Lập kế hoạch, thiết kế và triển khai các chương trình<br /> DSM; Nâng cao độ chính xác của dự báo phụ tải ngắn<br /> hạn;....<br /> Đây là một hoạt động chuyên sâu về phân tích số liệu,<br /> trong đó dữ liệu được thu thập thường là rất lớn, thông qua<br /> các hình thức thu thập tự động hoặc thủ công. Do đó dữ<br /> liệu bị lỗi là rất khó tránh khỏi, bởi có rất nhiều nguyên<br /> nhân như: sự cố đường truyền, sự cố thiết bị đo đếm, sự cố<br /> thiết bị lưu trữ hay do việc xử lý dữ liệu thủ công không<br /> đúng phương pháp,...<br /> Dữ liệu đo đếm của phụ tải là số liệu công suất, điện năng<br /> tiêu thụ của phụ tải theo chu kỳ đo quy định (30 phút hoặc<br /> 60 phút), thông số vận hành, biểu đồ phụ tải (load profile).<br /> Các Tổng công ty điện lực có trách nhiệm thực hiện cài đặt<br /> công tơ để truyền dữ liệu tự động về kho dữ liệu.<br /> Trong quá trình vận hành, thu thập dữ liệu đã xuất hiện<br /> nhiều sự cố làm gián đoạn việc ghi nhận các dữ liệu đo đếm<br /> như: sự cố truyền dẫn tín hiệu từ công tơ đo đếm về kho dữ<br /> liệu làm mất gói dữ liệu truyền về; lỗi tại thiết bị đo đếm;<br /> lỗi do mất nguồn điện; lỗi do cài đặt thiết bị đo đếm không<br /> đúng; lỗi do xử lý dữ liệu bằng phương pháp thủ công; hoặc<br /> do việc thu thập dữ liệu bằng thủ công,... dẫn đến dữ liệu<br /> ghi nhận được không phù hợp như: dữ liệu có có giá trị<br /> bằng 0 (Fasse Zero); trùng lặp dữ liệu<br /> (Inconsistent/Duplicate); thiếu chuỗi dữ liệu (Missing<br /> Data); dữ liệu thiếu chính xác, không logic cao quá hoặc<br /> thấp bất thường (Too High/Too Low).<br /> <br /> Hình 1. Các lỗi thường gặp trong ghi nhận dữ liệu<br /> <br /> 2. Các phương pháp nghiên cứu xử lý dữ liệu thiếu<br /> Cho đến nay vẫn chưa có một phương pháp nào chuyên<br /> dụng được khuyên sử dụng riêng cho việc xử lý dữ liệu<br /> thiếu trong các ứng dụng khai thác dữ liệu. Đặc biệt, là làm<br /> thế nào để có thể xử lý giá trị thiếu trong một CSDL dữ liệu<br /> khổng lồ. Một số phương pháp xử lý dữ liệu thiếu đã được<br /> nghiên cứu [3, 4, 5].<br /> 2.1. Phương pháp loại bỏ: nếu xảy ra trường hợp thiếu dữ<br /> liệu cho một biến bất kỳ nào đó, giải pháp đơn giản là loại<br /> bỏ thuộc tính bị thiếu của dữ liệu ra khỏi qua quá trình phân<br /> tích đánh giá của chuỗi dữ liệu. Phương pháp này chỉ được<br /> áp dụng khi dữ liệu bị mất là hoàn toàn ngẫu nhiên<br /> (MCAR), vốn rất hiếm khi xảy ra trong thực tế.<br /> Phương pháp loại bỏ các bộ dữ liệu có chứa giá trị thiếu<br /> có ưu điểm là đơn giản, ít tốn thời gian hơn bất kỳ phương<br /> pháp nào khác. Nhưng nó lại có có hai điểm hạn chế quan<br /> trọng: i) thứ nhất là nếu chúng ta áp dụng vào trong thực tế<br /> có thể gây mất mát nhiều dữ liệu; ii) thứ hai là nếu phân bố<br /> dữ liệu thiếu trong tập dữ liệu không thuộc trường hợp<br /> (MCAR) thì việc loại bỏ tất cả các bộ dữ liệu có giá trị thiếu<br /> sẽ làm sai lệch nghiêm trọng kết quả.<br /> <br /> 29<br /> <br /> 2.2. Phương pháp gán ghép: Phương pháp này thay thế<br /> các giá trị bị thiếu bằng một giá trị dự đoán được xem là<br /> hợp lý, và sau đó thực hiện các phân tích cho chuỗi dữ liệu<br /> đã được bổ sung.<br /> - Gán ghép trung bình: Tính giá trị trung bình dữ liệu<br /> của X bằng cách sử dụng các giá trị không bị mất và sử<br /> dụng nó để gán ghép cho giá trị thiếu của X.<br /> 2.3. Phương pháp hồi qui tuyến tính<br /> Khi hai thuộc tính định lượng nào đó có mối quan hệ<br /> tuyến tính với nhau, chúng ta có thể xây dựng một phương<br /> trình hồi quy tuyến tính, trong đó thuộc tính có giá trị thiếu<br /> là biến phụ thuộc, biến còn lại là biến độc lập, và sử dụng<br /> phương trình hồi quy cho việc dự đoán các giá trị thiếu của<br /> biến phụ thuộc thông qua các giá trị đã biết của biến độc<br /> lập.<br /> Phương pháp hồi quy tuyến tính thường gặp phải hai<br /> vấn đề: i) thứ nhất, mô hình quan hệ giữa các thuộc tính có<br /> phải tuyến tính không. Nếu mối quan hệ này là không tuyến<br /> tính, các giá trị thiếu ước lượng được có thể bị sai lệch lớn<br /> so với các giá trị thực; ii) thứ hai, thường thì trong cùng<br /> một bộ dữ liệu, các thuộc tính có quan hệ chặt với thuộc<br /> tính có giá trị thiếu cũng có giá trị thiếu.<br /> 2.4. Phương pháp xử lý dữ liệu thiếu trong nghiên cứu<br /> phụ tải điện<br /> Một số phương pháp ước lượng số liệu đo đếm của các<br /> phụ tải điện bị lỗi trong quá trình thu thập dữ liệu của các<br /> Công ty điện lực thường được sử dụng như [12]:<br /> - Nội suy tuyến tính: nội suy từ đường đặc tính xu thế<br /> tiêu thụ điện;<br /> - Ngày tương đồng: sử dụng dữ liệu ngày tương đồng<br /> của tuần hiện tại hoặc tuần trước;<br /> - Tự động ước lượng: sử dụng trong trường hợp dữ<br /> liệu bị thiếu không quá bảy (07) ngày;<br /> - Kiểm tra trực quan đồ thị: để biết được dữ liệu bị<br /> sai và quyết định về dữ liệu được ước lượng;<br /> - Hiệu chỉnh ước lượng số liệu thủ công: được sử<br /> dụng khi dữ liệu bị thiếu nhiều hơn bảy (07) ngày;<br /> - Hiệu chỉnh ước lượng giá trị trung bình các tuần của<br /> ngày tham chiếu: dựa vào dữ liệu của bốn (04) tuần gần<br /> nhất;<br /> Tuy nhiên, các cách làm này đều thực hiện một cách<br /> thủ công và phụ thuộc rất nhiều vào năng lực kinh nghiệm<br /> của chuyên gia thực hiện ước lượng.<br /> Dữ liệu đo đếm của phụ tải gồm: số liệu công suất<br /> (Pmax), điện năng tiêu thụ (Atổng) và nhiệt độ (t0) có mối<br /> quan hệ ràng buộc với nhau. Qua quan sát các dữ liệu<br /> thống kê chúng ta thấy được mối quan hệ tuyến tính giữa<br /> chúng, chẳng hạn như: những ngày nhiệt độ tăng cao thì<br /> điện năng sẽ được tiêu thụ nhiều hơn do người dân sử<br /> dụng nhiều thiết bị làm mát như máy điều hòa, quạt<br /> máy,... dẫn đến công suất Pmax sẽ tăng cao đột biến và<br /> sản lượng điện thương phẩm Atổng cũng vì thế tăng lên<br /> theo. Ngược lại, những ngày thời tiết có nhiệt thấp (trời<br /> mát hay có mưa) thì công suất Pmax và sản lượng điện<br /> thương phẩm Atổng sẽ không tăng cao mà hạ xuống thấp,<br /> đó là do nhu cầu sử dụng điện để giải nhiệt của người dân<br /> <br /> 30<br /> <br /> Nguyễn Tuấn Dũng, Nguyễn Thanh Phương<br /> <br /> không còn nữa. Với phân tích trên, ta thấy mối quan hệ<br /> ràng buộc của ba thành phần số liệu công suất (Pmax),<br /> điện năng tiêu thụ (Atổng) và nhiệt độ (t0). Như vậy, việc<br /> sử dụng phương trình hồi quy cho việc dự đoán các giá trị<br /> thiếu trong quá trình nghiên cứu phụ tải điện là hoàn toàn<br /> phù hợp.<br /> Bài báo đã đề xuất một phương pháp xử lý dữ liệu thiếu<br /> bằng cách xây dựng các mô hình hồi quy tối ưu hóa các<br /> thông số tự động thông qua quá trình huấn luyện học máy<br /> Support Vector Regression (SVR), từ đó ước lượng lại các<br /> dữ liệu đã mất hoặc không ghi nhận được trong quá trình<br /> đo đếm.<br /> 2.4.1. Phương pháp học máy Support Vector Machine<br /> (SVM)<br /> Support Vector Machine (SVM) là phương pháp mạnh<br /> và chính xác nhất trong số các thuật toán nổi bật ở lĩnh vực<br /> khai thác dữ liệu. SVM bao gồm hai nội dung chính là:<br /> support vector classifier (SVC), bộ phân lớp dựa theo<br /> vector hỗ trợ, và support vector regression (SVR), bộ hồi<br /> quy dựa theo vector hỗ trợ. Được phát triển đầu tiên bởi<br /> Vapnik vào những năm 1990 [6], SVM có nền tảng lý<br /> thuyết được xây dựng trên nền móng lý thuyết xác suất<br /> thống kê. Trong những thập niên qua, SVM đã phát triển<br /> nhanh chóng cả về lý thuyết lẫn thực nghiệm.<br /> 2.4.2. Bộ hồi quy dựa theo vector hỗ trợ – Support vector<br /> regression (SVR)<br /> Ý tưởng cơ bản của SVR là ánh xạ không gian đầu vào<br /> sang một không gian đặc trưng nhiều chiều mà ở đó, ta có<br /> thể áp dụng được hồi quy tuyến tính (mà nếu ta áp dụng<br /> trực tiếp hồi quy tuyến tính thì không hiệu quả).<br /> Đặc điểm của SVR là cho ta một giải pháp thưa (sparse<br /> solution); nghĩa là để xây dựng được hàm hồi quy, ta không<br /> cần phải sử dụng hết tất cả các điểm dữ liệu trong bộ huấn<br /> luyện. Những điểm có đóng góp vào việc xây dựng hàm<br /> hồi quy được gọi là những Support Vector. Việc phân lớp<br /> cho một điểm dữ liệu mới sẽ chỉ phụ thuộc vào các support<br /> vector.<br /> <br /> N<br /> <br /> 1<br /> λ 2<br /> {yn − t n }2 + w với λ là hằng số chuẩn hóa<br /> 2 n=1<br /> 2<br /> <br /> ∑<br /> <br /> Để có được một giải pháp thưa, ta sẽ thay hàm lỗi trên<br /> bằng hàm lỗi ε-insensitive. Đặc điểm của hàm lỗi này là<br /> nếu trị tuyệt đối của sự sai khác giữa giá trị dự đoán y(x)<br /> và giá trị đích nhỏ hơn ε (với ε> 0) thì nó coi như độ lỗi<br /> bằng 0.<br /> Như vậy bây giờ, ta phải tối thiểu hóa hàm lỗi chuẩn<br /> hóa sau:<br /> N<br /> <br /> ∑E (y(x ) − t )<br /> <br /> C<br /> <br /> ε<br /> <br /> n<br /> <br /> n<br /> <br /> n=1<br /> <br /> 2<br /> <br /> +<br /> <br /> 1 2<br /> w<br /> 2<br /> <br /> Với y ( x n ) = w T Φ ( x n ) + b , C là hằng số chuẩn hóa<br /> 2<br /> <br /> giống như λ nhưng được nhân với hàm lỗi thay vì w .<br /> Để cho phép một số điểm nằm ngoài ống ε, ta sẽ đưa<br /> thêm các biến lỏng (slack variable) vào. Đối với mỗi điểm<br /> <br /> ˆ ≥ 0 , trong<br /> dữ liệu x n , ta cần hai biến lỏng ξ n ≥ 0 và ξ<br /> n<br /> đó ξ n > 0 ứng với điểm mà t n > y( x n ) + ε (nằm ngoài và<br /> ˆ ≥ 0 ứng với điểm mà t < y( x ) − ε<br /> phía trên ống) và ξ<br /> n<br /> n<br /> n<br /> (nằm ngoài và phía dưới ống).<br /> <br /> Hình 3. Minh họa cho các biến lỏng ξ n<br /> <br /> Điều kiện để một điểm đích nằm trong ống là:<br /> y n − ε ≤ t n ≤ y n + ε với yn = y(xn). Với việc sử dụng các<br /> biến lỏng, ta cho phép các các điểm đích nằm ngoài ống<br /> (ứng với các biến lỏng > 0) và như thế thì điều kiện bây giờ<br /> sẽ là:<br /> <br /> t n ≤ yn + ε + ξn<br /> t ≥ y − ε − ξˆ<br /> n<br /> <br /> Hình 2. Biến đổi không gian dữ liệu sang không gian đặc trưng<br /> (thủ thuật Kernel)<br /> <br /> Hàm hồi quy cần tìm có dạng:<br /> y = f (x ) = w T Φ (x ) + b<br /> <br /> Trong đó: w ∈ R m là véc-tơ trọng số; T là kí hiệu<br /> chuyển vị; b∈ R là hằng số; x∈Rn là véc-tơ đầu vào;<br /> Φ ( x ) ∈ R m là véc-tơ đặc trưng; Φ làm hàm ánh xạ từ<br /> không gian đầu vào sang không gian đặc trưng [6, 7, 8].<br /> Như vậy, mục tiêu của việc huấn luyện SVR là tìm<br /> được w và b.<br /> Cho tập huấn luyện {(x1, t1), (x2, t2), …, (xN, tN)}<br /> ⊂ R n × R . Với bài toán hồi quy đơn giản, để tìm w và b<br /> ta phải tối thiểu hóa hàm lỗi chuẩn hóa:<br /> <br /> n<br /> <br /> n<br /> <br /> Như vậy, ta có hàm lỗi cho SVR:<br /> N<br /> 1<br /> 2<br /> C ∑ ( ξ n + ξˆ n +<br /> w )<br /> 2<br /> n =1<br /> Mục tiêu của ta là tối thiểu hóa hàm lỗi này với các ràng<br /> buộc:<br /> • ξ ≥ 0, ξˆ ≥ 0<br /> n<br /> <br /> n<br /> <br /> • t n ≤ yn + ε + ξn<br /> • t ≥ y − ε − ξˆ<br /> n<br /> <br /> n<br /> <br /> n<br /> <br /> Dùng hàm Lagrange và điều kiện Karush-KuhnTucker, ta có bài toán tối ưu hóa tương đương:<br /> N<br /> <br /> −<br /> <br /> N<br /> <br /> N<br /> <br /> N<br /> <br /> 1<br /> (a n − aˆ n )(a m − aˆ m )k(xn , x m ) − ε (a n − aˆ n ) + (a n − aˆ n )t n<br /> 2 n=1 m=1<br /> n =1<br /> n =1<br /> <br /> ∑∑<br /> <br /> ∑<br /> <br /> ∑<br /> <br /> ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 3(112).2017-Quyển 1<br /> <br /> Với k là hàm nhân: k ( x , x ' ) = Φ ( x ) Φ ( x ' ) . Bất kỳ một<br /> hàm nào thỏa điều kiện Mercer thì đều có thể được dùng<br /> làm hàm nhân. Hàm nhân được sử dụng phổ biến nhất là<br /> T<br /> <br /> 2<br /> <br /> hàm Gaussian: k ( x i , x j ) = exp( − γ x i − x j )<br /> Cực đại hóa với các ràng buộc:<br /> <br /> • 0 ≤ an ≤ C<br /> • 0 ≤ aˆ n ≤ C<br /> N<br /> <br /> •<br /> <br /> ∑ (a<br /> <br /> n<br /> <br /> − aˆ n ) = 0<br /> <br /> n =1<br /> <br /> Từ đây, ta có hàm hồi quy của SVR:<br /> N<br /> <br /> y(x) =<br /> <br /> ∑(a<br /> <br /> n<br /> <br /> − aˆ n )k(x, x n ) + b<br /> <br /> n =1<br /> <br /> Như vậy, với SVR sử dụng hàm lỗi ε-insensitive và<br /> hàm nhân Gaussian ta có ba tham số cần tìm: hệ số chuẩn<br /> hóa C, tham số γ của hàm nhân Gaussian và độ rộng của<br /> ống ε [9]. Cả ba tham số này đều ảnh hưởng đến độ chính<br /> xác dự đoán của mô hình và cần phải chọn lựa kỹ càng.<br /> Nếu C quá lớn thì sẽ ưu tiên vào phần độ lỗi huấn luyện,<br /> dẫn đến mô hình phức tạp, dễ bị quá khớp. Còn nếu C quá<br /> nhỏ thì lại ưu tiên vào phần độ phức tạp mô hình, dẫn đến<br /> mô hình quá đơn giản, giảm độ chính xác dự đoán. Ý nghĩa<br /> của ε cũng tương tự C. Nếu ε quá lớn thì có ít vectơ hỗ trợ,<br /> làm cho mô hình quá đơn giản. Ngược lại, nếu ε quá nhỏ<br /> thì có nhiều vectơ hỗ trợ, dẫn đến mô hình phức tạp, dễ bị<br /> quá khớp. Tham số γ phản ánh mối tương quan giữa các<br /> vectơ hỗ trợ nên cũng ảnh hưởng đến độ chính xác dự đoán<br /> của mô hình.<br /> <br /> 3. Kết quả nghiên cứu<br /> 3.1. Dữ liệu đầu vào<br /> Dữ liệu đo đếm của phụ tải sử dụng trong việc xây dựng<br /> thuật toán gồm: số liệu công suất (Pmax), điện năng tiêu<br /> thụ (Atổng) và nhiệt độ (t0) theo từng giờ, từng ngày trong<br /> tháng của các phụ tải tại Tổng công ty Điện lực TP.HCM.<br /> Xét một chuỗi dữ liệu đo đếm trong khoảng thời gian từ<br /> ngày 01/01/2014 đến 28/02/2016.<br /> Trong đó có một số dữ liệu điện năng tiêu thụ (Atổng) bị thiếu<br /> do gián đoạn đo đếm (ngày 12/02 – 14/02/2015) và lỗi giá trị 0<br /> (ngày 10/01 – 13/01/2015) cần phải hiệu chỉnh.<br /> 60<br /> <br /> 3,500<br /> 3,000<br /> 2,500<br /> 2,000<br /> 1,500<br /> 1,000<br /> ,500<br /> -<br /> <br /> 50<br /> 40<br /> 30<br /> 20<br /> 10<br /> 0<br /> 1/1/15<br /> <br /> 8/1/15<br /> <br /> 15/1/15 22/1/15 29/1/15<br /> <br /> Pmax(MW)<br /> <br /> 5/2/15<br /> <br /> Atổng (triệu kWh)<br /> <br /> 12/2/15 19/2/15 26/2/15<br /> Nhiệt độ (C)<br /> <br /> Hình 4. Chuỗi dữ liệu công suất, sản lượng, nhiệt độ bị lỗi<br /> <br /> 3.2. Xây dựng mô hình hồi quy cho việc dự đoán các giá<br /> trị thiếu<br /> Đặc điểm của SVR là cho ta một giải pháp thưa (sparse<br /> solution); nghĩa là để xây dựng được hàm hồi quy, ta không<br /> cần phải sử dụng hết tất cả các điểm dữ liệu trong bộ huấn<br /> luyện, những điểm có đóng góp vào việc xây dựng hàm<br /> <br /> 31<br /> <br /> hồi quy được gọi là những Support Vector (việc phân lớp<br /> cho một điểm dữ liệu mới sẽ chỉ phụ thuộc vào các<br /> support vector). Dựa trên mối quan hệ tuyến tính của ba<br /> thành phần số liệu công suất (Pmax), điện năng tiêu thụ<br /> (Atổng) và nhiệt độ (t0), bài báo đề xuất giải thuật xây<br /> dựng mô hình hồi quy dự đoán các giá trị thiếu cho chuỗi<br /> dữ liệu điện năng tiêu thụ (Atổng), trên cơ sở ràng buộc của<br /> bộ dữ liệu huấn luyện là thành phần số liệu công suất<br /> (Pmax) và nhiệt độ (t0).<br /> Yêu cầu đặt ra là thực hiện việc xử lý các dữ liệu điện<br /> năng tiêu thụ bị lỗi trong quá trình đo đếm theo từng giờ<br /> trong ngày hoặc tổng điện năng tiêu thụ tổng từng ngày<br /> theo tháng. Trong đó, dựa trên mối quan hệ ràng buộc giữa<br /> sản lượng điện năng tiêu thụ với công suất và nhiệt độ tại<br /> thời điểm đo để xây dựng đường cong hồi quy bằng giải<br /> thuật huấn luyện SVR (Support Vector Regression), từ đó<br /> ước lượng các giá trị dữ liệu đã bị lỗi. Lưu đồ giải thuật<br /> như sau:<br /> Đầu vào<br /> - Dữ liệu thống kê<br /> điện năng tiêu thụ<br /> theo giờ hoặc theo<br /> ngày từ 01/2011 –<br /> 02/2016 (bao gồm<br /> các dữ liệu bị lỗi);<br /> - Dữ liệu ràng buộc<br /> huấn luyện SVR:<br /> công suất và nhiệt độ<br /> tại thời điểm đo<br /> tương ứng điện năng<br /> tiêu thụ ở trên (từ<br /> 01/2011 – 02/2016).<br /> <br /> Huấn luyện<br /> SVR<br /> - Hệ số chuẩn<br /> hóa C;<br /> - Tham số γ<br /> của hàm nhân<br /> Gaussian;<br /> - Và độ rộng<br /> của ống ε.<br /> <br /> Kết quả ước lượng<br /> - Mô hình hóa dữ<br /> liệu điện năng tiêu<br /> thụ thông qua huấn<br /> luyện SVR;<br /> - Kiểm tra sai số<br /> của mô hình hồi quy<br /> SVR;<br /> - Ước lượng các<br /> giá trị lỗi của dữ liệu<br /> bằng mô hình hồi<br /> quy đã xây dựng.<br /> <br /> Hình 5. Lưu đồ giải thuật xử lý dữ liệu thiếu<br /> <br /> 3.3. Kết quả xử lý dữ liệu thiếu<br /> 3.3.1. Phương pháp thông thường: sử dụng giá trị trung<br /> bình trong cùng thời gian cho 4 tuần trước đó của dữ liệu<br /> đang xét, ta có kết quả:<br /> Ngày<br /> <br /> Athay thế<br /> <br /> 10/01/2015<br /> <br /> 55,70646<br /> <br /> 11/01/2015<br /> <br /> 47,10225<br /> <br /> 12/01/2015<br /> <br /> 55,8149<br /> <br /> 13/01/2015<br /> <br /> 55,89409<br /> <br /> 12/02/2015<br /> <br /> 54,20898<br /> <br /> 13/02/2015<br /> <br /> 53,90467<br /> <br /> 14/02/2015<br /> <br /> 38,22495<br /> <br /> Khi sử dụng phương pháp này sẽ xảy ra một vấn đề đó<br /> là: sẽ có trường hợp dữ liệu của 4 tuần trước đó bị rớt vào<br /> vùng dữ liệu bị thiếu. Chẳng hạn như xét việc tính toán cho<br /> dữ liệu thay thế ngày 12/02/2016, ta có:<br /> Athay thế (14/02) = (A 31/01 + A 24/01 + A 17/01 + A 10/01) / 4<br /> Tuy nhiên, giá trị A 10/01 lại là dữ liệu bị thiếu mà ta đang<br /> xét, do đó kết quả tính toán chắc chắn sẽ không chính xác do<br /> giá trị A 10/01 lúc này bằng 0. Đồng thời, xét ngày tương tự<br /> của năm trước thì A 14/02/2014 có giá trị lớn hơn nhiều so với<br /> giá trị thay thế ta vừa tính toán (49,698 > 38,22495). Như<br /> vậy, có thể kết luận phương pháp sử dụng giá trị trung bình<br /> trong cùng thời gian cho 4 tuần trước đó của dữ liệu đang xét<br /> là chưa thực sự phù hợp trong trường hợp này.<br /> <br /> 32<br /> <br /> Nguyễn Tuấn Dũng, Nguyễn Thanh Phương<br /> <br /> 3.3.2. Phương pháp xây dựng đường cong hồi quy bằng<br /> giải thuật SVR (Support Vector Regression)<br /> Ta xét dữ liệu đo đếm từ tháng 01/2014 đến tháng<br /> 02/2016, ta thấy có 04 số liệu điện năng (ngày 10 ÷<br /> 13/01/2015) bị lỗi ghi nhận bằng 0 – không đo đếm được<br /> và 03 số liệu điện năng (ngày 12 ÷ 14/02/2015) bị lỗi ghi<br /> nhận bằng rỗng – không lưu trữ được.<br /> 3500.0<br /> <br /> 60<br /> <br /> 3000.0<br /> <br /> 50<br /> <br /> 2500.0<br /> <br /> 40<br /> <br /> 2000.0<br /> <br /> 30<br /> <br /> 1500.0<br /> <br /> 20<br /> <br /> 1000.0<br /> <br /> 10<br /> <br /> 500.0<br /> .0<br /> 1/1/15<br /> <br /> 0<br /> 8/1/15<br /> <br /> 15/1/15<br /> <br /> Pmax(MW)<br /> <br /> 22/1/15<br /> <br /> 29/1/15<br /> <br /> 5/2/15<br /> <br /> 12/2/15<br /> <br /> Atổng (triệu kWh)<br /> <br /> 19/2/15<br /> <br /> 26/2/15<br /> <br /> Nhiệt độ (C)<br /> <br /> 09/03/2016<br /> <br /> 62,32063<br /> <br /> 64,2593<br /> <br /> 3,11%<br /> <br /> 10/03/2016<br /> <br /> 63,39735<br /> <br /> 64,16269<br /> <br /> 1,21%<br /> <br /> 11/03/2016<br /> <br /> 63,12125<br /> <br /> 64,07474<br /> <br /> 1,51%<br /> <br /> 12/03/2016<br /> <br /> 62,35666<br /> <br /> 62,39124<br /> <br /> 0,06%<br /> <br /> 13/03/2016<br /> <br /> 53,77441<br /> <br /> 51,49986<br /> <br /> -4,23%<br /> <br /> 14/03/2016<br /> <br /> 61,7763<br /> <br /> 65,688<br /> <br /> 6,33%<br /> <br /> 15/03/2016<br /> <br /> 64,74031<br /> <br /> 65,17506<br /> <br /> 0,67%<br /> <br /> 16/03/2016<br /> <br /> 63,42579<br /> <br /> 64,12583<br /> <br /> 1,10%<br /> <br /> 17/03/2016<br /> <br /> 64,34212<br /> <br /> 62,28785<br /> <br /> -3,19%<br /> <br /> 18/03/2016<br /> <br /> 64,15241<br /> <br /> 63,88593<br /> <br /> -0,42%<br /> <br /> 19/03/2016<br /> <br /> 61,46202<br /> <br /> 61,64864<br /> <br /> 0,30%<br /> <br /> 20/03/2016<br /> <br /> 53,37634<br /> <br /> 51,17158<br /> <br /> -4,13%<br /> <br /> 21/03/2016<br /> <br /> 64,27811<br /> <br /> 65,7975<br /> <br /> 2,36%<br /> <br /> Hình 6. Dữ liệu công suất, sản lượng, nhiệt độ bị lỗi<br /> <br /> 22/03/2016<br /> <br /> 66,06186<br /> <br /> 65,64465<br /> <br /> -0,63%<br /> <br /> Xây dựng bộ huấn luyện SVR sử dụng hàm lỗi εinsensitive và hàm nhân Gaussian ta có ba tham số cần tìm:<br /> hệ số chuẩn hóa C, tham số γ của hàm nhân Gaussian và độ<br /> rộng của ống ε [9, 10]. Dùng ngôn ngữ lập trình Matlab<br /> version R2015 [11] để xây dựng chương trình ước lượng,<br /> với x1, x2 là 02 vector dữ liệu công suất và nhiệt độ ghi<br /> nhận theo ngày từ 01/01/2014 đến ngày 29/02/2016; Y là<br /> vector dữ liệu điện năng tiêu thụ ghi nhận theo ngày từ<br /> 01/01/2014 đến ngày 29/02/2016 (có chứa các số liệu bị<br /> lỗi) cần được mô hình hóa.<br /> ™ Xét mô hình RegressionSVM:<br /> PredictorNames: {'x1' 'x2'}<br /> ResponseName: 'Y'<br /> Alpha: [490x1 double]<br /> Bias: 49.3329<br /> KernelParameters: [1x1 struct]<br /> Mu: [2.8438 33.4579]<br /> Sigma: [0.4550 1.7019]<br /> NumObservations: 819<br /> BoxConstraints: [819x1 double]<br /> IsSupportVector: [819x1 logical]<br /> Solver: 'SMO'<br /> <br /> 23/03/2016<br /> <br /> 66,52639<br /> <br /> 66,61304<br /> <br /> 0,13%<br /> <br /> 24/03/2016<br /> <br /> 65,63116<br /> <br /> 64,15241<br /> <br /> -2,25%<br /> <br /> 25/03/2016<br /> <br /> 65,06465<br /> <br /> 66,22301<br /> <br /> 1,78%<br /> <br /> 26/03/2016<br /> <br /> 63,36537<br /> <br /> 62,74231<br /> <br /> -0,98%<br /> <br /> 27/03/2016<br /> <br /> 53,32942<br /> <br /> 52,63901<br /> <br /> -1,29%<br /> <br /> 28/03/2016<br /> <br /> 62,88254<br /> <br /> 66,04152<br /> <br /> 5,02%<br /> <br /> 29/03/2016<br /> <br /> 64,24489<br /> <br /> 65,20307<br /> <br /> 1,49%<br /> <br /> Sai số phần trăm tuyệt đối trung bình (MAPE)<br /> <br /> MAPE = 100 *<br /> <br /> 1<br /> n<br /> <br /> ∑<br /> <br /> A t − ASVR<br /> t<br /> At<br /> <br /> = 1,8%<br /> <br /> Như vậy, cho thấy độ tin cậy của mô hình hồi quy là rất<br /> cao, mô hình có thể được sử dụng để ước lượng các số liệu<br /> bị lỗi nêu trên.<br /> ™ Kết quả ước lượng số liệu bị lỗi:<br /> <br /> • Kiểm tra sai số mô hình: để đánh giá mô hình hồi<br /> quy SRV vừa xây dựng, ta có thể đánh giá sai số giữa dữ<br /> liệu có được từ mô hình với dữ liệu gốc từ ngày 01/02/2016<br /> đến ngày 29/02/2016, cụ thể:<br /> Ngày<br /> <br /> Atổng<br /> <br /> ASVR<br /> <br /> Sai số<br /> <br /> 01/03/2016<br /> <br /> 61,32886<br /> <br /> 61,71895<br /> <br /> 0,64%<br /> <br /> 02/03/2016<br /> <br /> 62,03021<br /> <br /> 62,48851<br /> <br /> 0,74%<br /> <br /> 40<br /> <br /> 03/03/2016<br /> <br /> 62,96553<br /> <br /> 62,84238<br /> <br /> -0,20%<br /> <br /> 20<br /> <br /> 04/03/2016<br /> <br /> 63,33033<br /> <br /> 63,32996<br /> <br /> 0,00%<br /> <br /> 05/03/2016<br /> <br /> 60,54942<br /> <br /> 60,80431<br /> <br /> 0,42%<br /> <br /> 06/03/2016<br /> <br /> 51,51996<br /> <br /> 51,34442<br /> <br /> -0,34%<br /> <br /> 07/03/2016<br /> <br /> 61,3009<br /> <br /> 64,28201<br /> <br /> 4,86%<br /> <br /> 08/03/2016<br /> <br /> 62,66953<br /> <br /> 65,29363<br /> <br /> 4,19%<br /> <br /> Ngày<br /> <br /> Aước lượng<br /> <br /> 10/01/2015<br /> <br /> 53,49000<br /> <br /> 11/01/2015<br /> <br /> 44,31028<br /> <br /> 12/01/2015<br /> <br /> 54,99426<br /> <br /> 13/01/2015<br /> <br /> 55,34134<br /> <br /> 12/02/2015<br /> <br /> 49,28852<br /> <br /> 13/02/2015<br /> <br /> 51,21877<br /> <br /> 14/02/2015<br /> <br /> 45,88848<br /> <br /> 60<br /> <br /> 0<br /> <br /> Aước lượng<br /> <br /> Atổng<br /> <br /> Hình 7. Kết quả ước lượng các số liệu bị lỗi<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2