intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Xác định trình tự hồi qui trong việc dự báo hệ thống dữ liệu đa chiều

Chia sẻ: Thi Thi | Ngày: | Loại File: PDF | Số trang:10

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

Bài báo này xây dựng một giải pháp để xác định trình tự hồi qui trong việc dự báo hệ thống dữ liệu đa chiều bằng phương pháp phân tích thành phần chính. Phần ứng dụng dựa vào dữ liệu trên trang Web của Tổng cục Thống kê. Kết quả cho thấy, việc sử dụng phương pháp phân tích thành phần chính đã đưa ra trình tự hồi qui chính xác, góp phần nâng cao hiệu quả của dự báo.

Chủ đề:
Lưu

Nội dung Text: Xác định trình tự hồi qui trong việc dự báo hệ thống dữ liệu đa chiều

Nghiên cứu khoa học công nghệ<br /> <br /> XÁC ĐỊNH TRÌNH TỰ HỒI QUI<br /> TRONG VIỆC DỰ BÁO HỆ THỐNG DỮ LIỆU ĐA CHIỀU<br /> Hà Gia Sơn*<br /> Tóm tắt: Bài báo này xây dựng một giải pháp để xác định trình tự hồi qui trong<br /> việc dự báo hệ thống dữ liệu đa chiều bằng phương pháp phân tích thành phần<br /> chính. Phần ứng dụng dựa vào dữ liệu trên trang Web của Tổng cục Thống kê. Kết<br /> quả cho thấy, việc sử dụng phương pháp phân tích thành phần chính đã đưa ra<br /> trình tự hồi qui chính xác, góp phần nâng cao hiệu quả của dự báo.<br /> Từ khóa: Dự báo, Chuỗi thời gian, Dữ liệu đa chiều, Phân tích thành phần chính.<br /> <br /> 1. ĐẶT VẤN ĐỀ<br /> “Dự báo là dự kiến, tiên đoán về những sự kiện, hiện tượng, trạng thái nào đó<br /> có thể hay nhất định sẽ xảy ra trong tương lai.” (từ điển Bách khoa). Ở nước<br /> ngoài, có nhiều công trình nghiên cứu về vấn đề này, đã có một hệ thống lý thuyết<br /> gồm nhiều phương pháp, qui trình cũng như nhiều mô hình để dự báo tương lai<br /> như tài liệu [10]. Tài liệu [8] đã phân tích và thăm dò các yếu tố của chuỗi thời<br /> gian, các mô hình của chuỗi thời gian, quy trình Box-Jenkins dành để dự báo. Tài<br /> liệu [9] nêu tổng quan về các phương pháp dự báo trong kinh doanh. Trong thời<br /> gian gần đây, ở trong nước, chúng ta đã quan tâm nhiều hơn tới lĩnh vực dự báo, đã<br /> có nhiều đề tài các cấp, với những mục đích và cách tiếp cận khác nhau về dự báo<br /> như các công trình [1-5], [7].<br /> Hiện tại, xuất hiện nhiều mô hình dự báo có hiệu quả cao, tuy nhiên, mọi sự vật<br /> và hiện tượng đều không xuất hiện hay biến đổi đơn độc mà còn chịu tác động của<br /> những sự việc, hiện tượng khác, chúng phụ thuộc và ảnh hưởng lẫn nhau. Tổng<br /> hợp các công trình nghiên cứu cho thấy, khi dự báo những bộ dữ liệu thu thập<br /> được tập hợp thành một bảng lớn (dữ liệu đa chiều), người ta thường dùng mô hình<br /> phân tích hồi quy tuyến tính để phân tích quan hệ giữa biến phụ thuộc Y với một<br /> hay nhiều biến độc lập X để tìm sự liên quan giữa các cột (biến) của bảng dữ liệu<br /> này. Tuy nhiên, trong thực tế, các biến X lại không độc lập mà phụ thuộc lẫn nhau,<br /> chính vì vậy, cần phải xác định chính xác trình tự đề hồi qui, hay cụ thể hơn, cần<br /> dự báo biến X nào trước, sau đó, lấy kết quả dự báo của biến này và các biến khác<br /> để hồi qui ra các biến X, Y tiếp theo.<br /> Trong bài viết, phần đầu là cơ sở lý thuyết chung và phương pháp phân tích<br /> thành phần chính, ở mục tiếp theo, tác giả đưa các giải thuật về ứng dụng và phát<br /> triển phương pháp phân tích thành phần chính để xác định trình tự hồi qui, ứng<br /> dụng dựa vào dữ liệu trên trang http://gso.gov.vn. Kết quả cho thấy, việc sử dụng<br /> phương pháp phân tích thành phần chính đã đưa ra trình tự hồi qui chính xác, nâng<br /> cao hiệu quả của dự báo.<br /> 2. NỘI DUNG CẦN GIẢI QUYẾT<br /> 2.1. Xây dựng lý thuyết<br /> 2.1.1. Giả thiết ban đầu<br /> Trong dự báo, số liệu trong quá khứ và hiện tại quyết định xu hướng vận động<br /> của các hiện tượng trong tương lai.<br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số 45, 10 - 2016 99<br /> Công nghệ thông tin & Cơ sở toán học cho tin học<br /> <br /> 2.1.2. Phương pháp thường sử dụng trong dự báo hệ thống dữ liệu đa chiều.<br /> Như đã nói ở trên, dữ liệu đa chiều là một bộ số liệu dạng bảng các giá trị bằng<br /> số cùng các thứ nguyên hoặc đơn vị đo của nó , đó là những yếu tố định lượng hay<br /> định tính của một hoặc nhiều biến ngẫu nhiên nào đó. Dự báo hệ thống dữ liệu đa<br /> chiều là việc xác định các giá trị của bảng này ở thời điểm tương lai. Việc dự báo<br /> này chia làm 02 giai đoạn:<br /> Giai đoạn 1: dự báo từng cột của bảng dự liệu này. Đề làm được việc này,<br /> Theo ([10]), người ta thường dùng các mô hình dự báo định lượng, nó sẽ khắc<br /> phục được tính chủ quan và cảm tính trong dự báo bằng cách sử dụng các công<br /> cụ toán học.<br /> Giai đoạn 2: Theo ([10]), người ta thuờng dùng mô hình hồi quy bội để tìm sự<br /> liên quan giữa các biến (các cột) trong bảng với nhau để xác định lại các giá trị dự<br /> báo, nghĩa là liên hệ biến phụ thuộc Y cho trước với nhiều biến độc lập X1, X2, ...,<br /> Xn. Mô hình có công thức tổng quát như sau:<br /> Y=  X1X2 + X3+…….nXn +n+1Yt (2.1)<br /> Nhược điểm của phương pháp này chính là việc coi các biến X1, X2, ..., Xn độc<br /> lập với nhau, tuy nhiên trong thực tế, chúng lại có sự liên quan với nhau, ví dụ Xk<br /> tác động vào Xi nhưng ta lại dự báo Xi trước mà không tính tới sự biến động (kết<br /> quả dự báo) của Xk . Vì vậy, để sử dụng tốt mô hình hồi qui trong dự báo, cần phải<br /> đưa ra được trình tự để hồi qui, nếu không sẽ dẫn tới việc kết quả dự báo sẽ rất<br /> thiếu chính xác.<br /> 2.1.3. Phương pháp phân tích thành phần chính<br /> Dùng kỹ thuật “Phân tích thành phần chính” để xác định, mục đích của kỹ thuật<br /> này là rút ra thông tin chủ yếu chưa trong bảng dữ liệu bằng cách xây dựng một<br /> biểu diễn đơn giản hơn, sao cho trong biểu diễn đó, đám mây số liệu thể hiện rõ<br /> nhất, mà thông tin không sai lạc. Theo [6], thuật toán này như sau:<br />  x1,1 x1, 2 ..........x1, p <br />  <br /> x 2,1 x 2, 2 ..........x 2, p<br /> Cho bảng số liệu: X<br /> n, p   <br /> <br /> ...............<br />  <br />  x n,1 x n, 2 ............x n, p <br /> <br /> Trong đó, xi,j là giá trị mà biến Xj; j = 1, p ; nhận trên cá thể i; i= 1, n . Để biết<br /> mối quan hệ giữa các biến, giữa các cá thể cần chuyển chung qua không gian con<br /> với số chiều ít hơn. Các bước tiến hành như sau:<br /> -Bước 1: Qui tâm bảng số liệu: Mỗi giá trị thứ i trên cá thể i của Xj đều<br /> được trừ cho số bình quân x j của biến Xj . Ta được ma trận qui tâm X = x i , j np .  <br /> -Bước 2: Tính ma trận phương sai- hiệp phương sai : M 0  1 X ' X (2.2)<br /> n<br /> <br /> <br /> <br /> 100 Hà Gia Sơn, “Xác định trình tự hồi qui trong việc dự báo hệ thống dữ liệu đa chiều.”<br /> Nghiên cứu khoa học công nghệ<br /> <br /> -Bước 3: Tìm các giá trị riêng: 1  2  3  ........ q  .......  p (q<<br /> p) bằng cách giải phương trình: M 0  I  0 (2.3)<br /> -Bước 4: Tìm trục chính bằng cách giải phương trình  M0  j Iuj  0 (2.4)<br /> <br /> uj = (u1j, u2j , .....upj )’ là véc tơ riêng (đơn vị) ứng với giá trị riêng  j ( j<br /> = 1, q < p). Trục chính thứ nhất và thứ hai tạo nên mặt phẳng chính thứ nhất …<br /> - Bước 5: Hình chiếu của cá thể i trên trục chính j là: zij = x’i ui (2.5)<br /> - Bước 6: Tìm thành phần chính: thứ j trong Rn ( j  1, q ) theo công thức:<br />  1 Nếu  j là nghiệm riêng của X’X<br />  j<br /> Xu j (2.6)<br /> <br /> vj  <br /> 1<br />  Xu j Nếu  j là nghiệm riêng của M0 <br /> 1<br /> X'X<br />  n j<br />  n<br /> <br /> -Bước 7: Tái lập các điểm – biến: hình chiếu của điểm biến Xj trên thành<br /> phần chính thứ k ( k = 1, q ) là X’j vk. Dưới dạng tường minh, ta có:<br /> X ' j v k  u j ,k k (2.7)<br /> 2.1.4.Ứng dụng phương pháp phân tích thành phần chính để xác định trình tự<br /> hồi qui<br /> Giả sử ta đã có tất cả các hình chiếu của các biến trên thành phần chính, khi đó,<br /> theo [6] (tr 103), nếu coi biến Xi là biến cần giải thích, và biến Xk là biến giải thích<br /> thì Xk tác động vào Xi khi và chỉ khi góc giữa 2 véc tơ Xk, Xi nhỏ hơn hoặc bằng<br /> 900 và X i > X k ( X i - độ dài của véc tơ Xi, và X k là độ dài của véc tơ Xk).<br /> Lúc này, ta đã biết được tọa độ của các véc tơ , nên có thể xác định được chúng<br /> theo công thức:<br /> X i  xi2  yi2 (2.8)<br /> ( xi, yi là tọa độ của Xi trên mặt phẳng tạo bởi 2 trục chính). Góc giữa 02 véc tơ<br /> Xk, Xi được xác định bởi công thức:<br /> xi xk  yi yk<br /> Cos ( X i , X k )  (2.9)<br /> x  yi2 . xk2  yk2<br /> 2<br /> i<br /> <br /> Vì thế, ý tưởng của thuật toán để xác định trình tự hồi qui là dùng phương pháp<br /> phân tích thành phần chính để đưa các biến (các cột) về 1 mặt phẳng của 02 thành<br /> phần chính, sau đó sắp xếp theo độ lớn của các biến, và xem xét các góc giữa 02<br /> biến để phân tích sự liên quan giữa chúng, khi đó, giả sử như biến Xi là biến cần<br /> giải thích, ta sẽ tìm được các biến Xk1, Xk2… Xkn giải thích cho biến Xi, sử dụng<br /> kết quả dự báo, phương pháp bình phương tối thiểu để giải phương trình: Xi = <br /> Xk1Xk2 + Xk3+…….nXkn +n+1Xi . Lập lại như vậy cho tới khi hết bảng<br /> dữ liệu.<br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số 45, 10 - 2016 101<br /> Công nghệ thông tin & Cơ sở toán học cho tin học<br /> <br /> 2.2. Ví dụ ứng dụng<br /> Từ dữ liệu của tổng cục thống kê tại địa chỉ http://gso.gov.vn, có bảng như sau:<br /> Bảng 1. Biến động của thu nhập quốc dân, dân số, vốn đầu tư của Việt Nam.<br /> Thu<br /> Thu nhập Dân số Vốn đầu tư Dân số Vốn đầu tư<br /> Năm Năm nhập<br /> (1) (2) (3) (1) (2) (3)<br /> 1995 228677 71996 72447 2005 897222 82392 343135<br /> 1996 269654 73157 87394 2006 1038755 83311 404712<br /> 1997 308600 74307 108370 2007 1211806 84219 532093<br /> 1998 352836 75456 117134 2008 1567964 85119 616735<br /> 1999 392693 76597 131171 2009 1731221 86025 708826<br /> 2000 435319 77631 151183 2010 2075578 86947 830278<br /> 2001 474855 78621 170496 2011 2660076 87860 924495<br /> 2002 527056 79538 200145 2012 3115227 88809 1010114<br /> 2003 603688 80467 239246 2013 3430668 89760 1094542<br /> 2004 701906 81436 290927 2014 3745515 90729 1220724<br /> (ĐVT của dân số: ngàn người, ĐVT của thu nhập và vốn đầu tư: tỷ đồng).<br /> Ta hãy xem xét xem 3 đại lượng này tác động vào nhau như thế nào. Từ nội<br /> dung 2.1.2 và 2.1.3 ta sẽ xây dựng các thuật toán sau:<br /> 2.2.1. Qui tâm bảng số liệu (bước 1 trong mục 2.1.2) - Thuật toán 1<br /> Ta xác định số bình quân x j của biến Xj, sau đó, xác định ma trận qui tâm bằng<br /> cách mỗi giá trị thứ i trên cá thể i của Xj đều được trừ cho số bình quân x j .<br /> Input: mảng dữ liệu mangdl gồm 03 cột (như Bảng 1 trên)<br /> Output: ma trận qui tâm matranX<br /> Xác định x1tb, x2tb, x3tb //x1tb, x2tb, x3tb là số bình quân của các cột 1,2,3<br /> Xác định matranX//matranX la ma tran qui tam<br /> 2.2.2. Tính ma trận phương sai- hiệp phương sai theo công thức (2.2) - Thuật toán 2<br /> Xác định ma trận quán tính bằng tích của ma trận qui tâm và mà trận chuyển vị<br /> của ma trận qui tâm. Tiếp tục xác định ma trận phương sai, hiệp phương sai bằng<br /> thương của ma trận quán tính với n (số phần tử).<br /> Input: ma trận qui tâm (matranX - đã xác định ở bước 1)<br /> Output: ma trận phương sai, hiệp phương sai (matranMxx)<br /> for i=1 to 3<br /> for j=1 to n matranXcv[i,j]=matranX[j,i] //matranXcv - ma tran chuyen vi<br /> Tìm ma trận quán tính<br /> //matranXX là Ma tran quan tinh , bang tich cua matranXcv va matranX<br /> Tìm ma trận matranMxx<br /> // matranMxx -Ma tran phuong sai, hiep phuong sai bang ma tran quan tinh chia<br /> cho n<br /> <br /> <br /> 102 Hà Gia Sơn, “Xác định trình tự hồi qui trong việc dự báo hệ thống dữ liệu đa chiều.”<br /> Nghiên cứu khoa học công nghệ<br /> <br /> 2.2.3. Tìm các giá trị riêng bằng cách giải phương trình (2.3) – Thuật toán 3<br /> Sử dụng thuật toán 1 và thuật toán 2, áp dụng bảng 1, ta sẽ tìm được ma trận<br /> phương sai, hiệp phương sai:<br /> 1227055586 090.96 5614397002 .62 4033680799 09.62 <br /> matranMxx   5614397002 .61 31072242.3 2 1935481159 .90 <br /> <br />  4033680799 09.62 1935481159 .90 1353730725 94.32 <br /> Từ đó, ta phải tìm giá trị riêng từ định thức :<br /> 1227055586 090.96 -  5614397002 .62 4033680799 09.62 <br />  5614397002 .61 31072242.3 2 -  1935481159 .90 0 (2.10)<br />  <br />  4033680799 09.62 1935481159 .90 1353730725 94.32 -  <br /> Khai triển (2.10), ta sẽ có 1 phương trình bậc 3:<br /> -3 + 1362459730927.615.2 -3.41154321560627E+21. +<br /> 8.41790339265994E+27 = 0<br /> Sử dụng phương pháp Cardano để tìm nghiệm phương trình này, ta sẽ có 3<br /> giá trị là : 1= 2469913.036 , 2=2509948729.001, 3=1359951164797.464<br /> Tiếp tục, sẽ dùng thuật toán sau để xác định trục chính.<br /> Input: ma trận phương sai, hiệp phương sai matranMxx ( đã có trong<br /> bước 2)<br /> Output: trục chính l1, l2<br /> Giải phương trình bậc 3 bằng phương pháp Cardano để xác định x1, x2, x3<br /> l1=x1;l2=x2; l3=x3; max=x1+x2;<br /> if max3 then<br /> breck;<br /> end<br /> for i=1 to n<br /> for j=1 to 3 matranX[i,j]=matranX[i,j]/(dl[j]*SQRT(n))<br /> for i=1 to 3<br /> <br /> <br /> 104 Hà Gia Sơn, “Xác định trình tự hồi qui trong việc dự báo hệ thống dữ liệu đa chiều.”<br /> Nghiên cứu khoa học công nghệ<br /> <br /> for j=1 to n matranY[i,j]= matranX[j,i]<br /> for i=1 to 3<br /> for j=1 to n begin<br /> matrankq[i,1]=matrankq[i,1]+xu1[j]*matranY[i,j];<br /> matrankq[i,2]=matrankq[i,2]+xu2[j]*matranY[i,j];<br /> <br /> matrankq[i,3]=SQRT(matrankq[i,1]^2+matrankq[i,2]^2);<br /> end<br /> 2.2.7. Xác định trình tự hồi qui-thuật toán 7<br /> Thuật toán tìm góc và sự phụ thuộc giữa các véc tơ xác định bởi (2.9) như sau:<br /> Input: ma trận kết quả (đã xác định bởi thuật toán 6)<br /> Output: Góc giữa các vectơ và kết quả tác động<br /> for i=1 to 3<br /> for k=i+1 to 3<br /> begin<br /> kos=(matrankq[i,1]*matrankq[k,1]+matrankq[i,2]*matrankq[k,2])<br /> /<br /> (matrankq[i,3]+matrankq[k,2])<br /> goc=ACOS(kos)*180/3.14;<br /> if matrankq[i,3]>matrankq[k,3] AND goc
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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