Xác định trình tự hồi qui trong việc dự báo hệ thống dữ liệu đa chiều
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
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.
Bạn đang xem tài liệu "Xác định trình tự hồi qui trong việc dự báo hệ thống dữ liệu đa chiều", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: 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ệ Tạp chí Nghiên cứu KH&CN quân sự, Số 45, 10 - 2016 99 XÁC ĐỊNH TRÌNH TỰ HỒI QUI TRONG VIỆC DỰ BÁO HỆ THỐNG DỮ LIỆU ĐA CHIỀU Hà Gia Sơn* 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 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. 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. 1. ĐẶT VẤN ĐỀ “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 đó có thể hay nhất định sẽ xảy ra trong tương lai.” (từ điển Bách khoa). Ở nước 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 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 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 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 liệu [9] nêu tổng quan về các phương pháp dự báo trong kinh doanh. Trong thời 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, đã 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 như các công trình [1-5], [7]. 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 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 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 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 đượ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 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 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 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, 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 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 để hồi qui ra các biến X, Y tiếp theo. Trong bài viết, phần đầu là cơ sở lý thuyết chung và phương pháp phân tích 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 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 dụng dựa vào dữ liệu trên trang 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, nâng cao hiệu quả của dự báo. 2. NỘI DUNG CẦN GIẢI QUYẾT 2.1. Xây dựng lý thuyết 2.1.1. Giả thiết ban đầu Trong dự báo, số liệu trong quá khứ và hiện tại quyết định xu hướng vận động của các hiện tượng trong tương lai. Công nghệ thông tin & Cơ sở toán học cho tin học 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.” 100 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. 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 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 đị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 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 này chia làm 02 giai đoạn: 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, Theo ([10]), người ta thường dùng các mô hình dự báo định lượng, nó sẽ khắc 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 cụ toán học. Giai đoạn 2: Theo ([10]), người ta thuờng dùng mô hình hồi quy bội để tìm sự 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ự 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, ..., Xn. Mô hình có công thức tổng quát như sau: Y= X1 X2 + X3+.nXn +n+1Yt (2.1) 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 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 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 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 đư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 thiếu chính xác. 2.1.3. Phương pháp phân tích thành phần chính 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 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 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õ nhất, mà thông tin không sai lạc. Theo [6], thuật toán này như sau: Cho bảng số liệu: pnnn p p pn xxx xxx xxx X ,2,1, ,22,21,2 ,12,11,1 , ............ ............... .......... .......... Trong đó, xi,j là giá trị mà biến Xj; j = p,1 ; nhận trên cá thể i; i= n,1 . Để biết 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 với số chiều ít hơn. Các bước tiến hành như sau: -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 được trừ cho số bình quân jx của biến Xj . Ta được ma trận qui tâm X = npjix , . -Bước 2: Tính ma trận phương sai- hiệp phương sai : XX n M ' 1 0 (2.2) Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 45, 10 - 2016 101 -Bước 3: Tìm các giá trị riêng: pq ...............321 (q< p) bằng cách giải phương trình: 00 IM (2.3) -Bước 4: Tìm trục chính bằng cách giải phương trình 00 jj uIM (2.4) uj = (u1j, u2j , .....upj )’ là véc tơ riêng (đơn vị) ứng với giá trị riêng j ( j = q,1 < p). Trục chính thứ nhất và thứ hai tạo nên mặt phẳng chính thứ nhất - 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) - Bước 6: Tìm thành phần chính: thứ j trong Rn ( qj ,1 ) theo công thức: j j j j j Xu n Xu v 1 1 (2.6) -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 phần chính thứ k ( k = q,1 ) là X’j vk. Dưới dạng tường minh, ta có: kkjkj uvX ,' (2.7) 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ự hồi qui 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 đó, 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 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 900 và iX > kX ( iX - độ dài của véc tơ Xi, và kX là độ dài của véc tơ Xk). 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 theo công thức: 22 iii yxX (2.8) ( 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ơ Xk, Xi được xác định bởi công thức: 2222 . ),( kkii kiki ki yxyx yyxx XXCos (2.9) 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 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 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 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 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 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 = Xk1 Xk2 + Xk3+.nXkn +n+1Xi . Lập lại như vậy cho tới khi hết bảng dữ liệu. Nếu j là nghiệm riêng của X’X Nếu j là nghiệm riêng của XX n M ' 1 0 Công nghệ thông tin & Cơ sở toán học cho tin học 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.” 102 2.2. Ví dụ ứng dụng Từ dữ liệu của tổng cục thống kê tại địa chỉ có bảng như sau: 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. Năm Thu nhập Dân số Vốn đầu tư Năm Thu nhập Dân số Vốn đầu tư (1) (2) (3) (1) (2) (3) 1995 228677 71996 72447 2005 897222 82392 343135 1996 269654 73157 87394 2006 1038755 83311 404712 1997 308600 74307 108370 2007 1211806 84219 532093 1998 352836 75456 117134 2008 1567964 85119 616735 1999 392693 76597 131171 2009 1731221 86025 708826 2000 435319 77631 151183 2010 2075578 86947 830278 2001 474855 78621 170496 2011 2660076 87860 924495 2002 527056 79538 200145 2012 3115227 88809 1010114 2003 603688 80467 239246 2013 3430668 89760 1094542 2004 701906 81436 290927 2014 3745515 90729 1220724 (ĐVT của dân số: ngàn người, ĐVT của thu nhập và vốn đầu tư: tỷ đồng). 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 dung 2.1.2 và 2.1.3 ta sẽ xây dựng các thuật toán sau: 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 Ta xác định số bình quân jx của biến Xj, sau đó, xác định ma trận qui tâm bằng 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 jx . Input: mảng dữ liệu mangdl gồm 03 cột (như Bảng 1 trên) Output: ma trận qui tâm matranX Xác định x1tb, x2tb, x3tb //x1tb, x2tb, x3tb là số bình quân của các cột 1,2,3 Xác định matranX//matranX la ma tran qui tam 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 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ị 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 thương của ma trận quán tính với n (số phần tử). Input: ma trận qui tâm (matranX - đã xác định ở bước 1) Output: ma trận phương sai, hiệp phương sai (matranMxx) for i=1 to 3 for j=1 to n matranXcv[i,j]=matranX[j,i] //matranXcv - ma tran chuyen vi Tìm ma trận quán tính //matranXX là Ma tran quan tinh , bang tich cua matranXcv va matranX Tìm ma trận matranMxx // matranMxx -Ma tran phuong sai, hiep phuong sai bang ma tran quan tinh chia cho n Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 45, 10 - 2016 103 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 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 phương sai, hiệp phương sai: 94.321353730725 .901935481159 09.624033680799 .901935481159 231072242.3 .615614397002 09.624033680799 .625614397002 090.961227055586 matranMxx Từ đó, ta phải tìm giá trị riêng từ định thức : 0 -94.321353730725 .901935481159 09.624033680799 .901935481159 - 231072242.3 .615614397002 09.624033680799 .625614397002 - 090.961227055586 (2.10) Khai triển (2.10), ta sẽ có 1 phương trình bậc 3: -3 + 1362459730927.615.2 -3.41154321560627E+21. + 8.41790339265994E+27 = 0 Sử dụng phương pháp Cardano để tìm nghiệm phương trình này, ta sẽ có 3 giá trị là : 1= 2469913.036 , 2=2509948729.001, 3=1359951164797.464 Tiếp tục, sẽ dùng thuật toán sau để xác định trục chính. Input: ma trận phương sai, hiệp phương sai matranMxx ( đã có trong bước 2) Output: trục chính l1, l2 Giải phương trình bậc 3 bằng phương pháp Cardano để xác định x1, x2, x3 l1=x1;l2=x2; l3=x3; max=x1+x2; if max<x2+x3 begin max=x2+x3 ; l1=x2; l2=x3 end; if max<x1+x3 begin l1=x2; l2=x3 end Sử dụng thuật toán trên ta sẽ tìm được 1=2509948729.001, 2=1359951164797.464, 3= 2469913.036 tỷ lệ đóng góp quán tính lớn nhất lên tới 99,99%. 2.2.4. Tìm các vec tơ riêng - Thuật toán 4 Thay các giá trị 1, 2 đã tìm được bằng thuật toán 3 vào công thức (2.10), lần lượt giải các hệ phương trình : 0 0 0 -94.321353730725 .901935481159 09.624033680799 .901935481159 - 231072242.3 .615614397002 09.624033680799 .625614397002 - 090.961227055586 31 21 11 u u u Input: ma trận phương sai, hiệp phương sai matranMxx ( đã có trong bước 2), 1, 2 , 3 ( đã có trong bước 3) Output: mảng vecter chứa tọa độ các vectơ riêng xdtrucchinh(l2) ;mangvecter[1,1]=k ; mangvecter[2,1]=u21;mangvecter[3,1]=u31 ; xdtrucchinh(l1) ;mangvecter[1,2]=k ;mangvecter[2,2]=u21 ;mangvecter[3,2]=u3 1 ; xdtrucchinh(l3) ;mangvecter[1,3]=k ;mangvecter[2,3]=u21 ; mangvecter[3,3]=u31 ; procedure xdtrucchinh( lamda:) Công nghệ thông tin & Cơ sở toán học cho tin học 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.” 104 for i=1 to 3 for j=1 to 3 if i=j then matrantg[i,j]=matranMxx[i,j]-lamda else matrantg[i,j]=matranMxx[i,j] u21=-matrantg[1,1]/matrantg[1,2]; u31=(matrantg[3,2]*matrantg[1,1])/(matrantg[2,1]*matrantg[3,3]) ; k=1/SQRT(1+u21^2+u31^2) ; u21=k*u21 ; u31=k*u31 return 2.2.5. Tái lập các điểm cá thể và tìm các thành phần chính - Thuật toán 5 Hình chiếu của cá thể i trên trục chính j là zij = x’i ui , công thức (2.5), và (2.6) Input: ma trận qui tâm matranX – đã xác định ở bước 1, mảng vecter chứa tọa độ các vectơ riêng mangvecter- đã xác định ở bước 4 Output: xu1, xu2 là mảng chứa tọa độ của các cá thể trên 2 trục chính for i=1 to n for j=1 to 3 begin xu1[i]=xu1[i]+MatranX[i,j]*mangvecter[j,1]/SQRT(n*l2) xu2[i]=xu2[i]+MatranX[i,j]*mangvecter[j,2]/SQRT(n*l1) end; 2.2.6. Tái lập các điểm biến - Thuật toán 6 Chia mọi giá trị ma trận qui tâm matranX cho n jX (trong đó, jX là độ lệch chuẩn của cột j) sẽ được ma trận mới, sau đó xác định ma trận chuyển vị của ma trận này (gọi là matranY), hình chiếu của các biến trên trục 1 sẽ bằng tích của matranY với ma trận xu1 đã xác định ở thuật toán 5, đây chính là ma trận kết quả (matrankq), làm tương tự với hình chiếu các biến trên trục 2, ta sẽ được tọa độ của 3 biến thu nhập, dân số và vốn đầu tư, tính độ dài của 3 vectơ này theo công thức (2.8). Thuật toán như sau: Input: matranX, mangdl (đã xác định ở thuật toán 1), xu1, xu2 (xác định ở thuật toán 5) Output: matrankq chứa tọa độ của các biến trên 2 trục chính i=1;j=1; xtb=0; do while true begin begin xtb=xtb+matranX[i,j]; i=i+1; if i=n+1 begin tb[j]=xtb/n; xtb=0; i=1; j=j+1 end; if j>3 break end; i=1; j=1; s=0; do while true begin s=s+(matranX[i,j]-tb[j])^2; i=i+1; if i=n+1 then begin s=s/n; dl[j]=SQRT(s); s=0; i=1; j=j+1; end; if j>3 then breck; end for i=1 to n for j=1 to 3 matranX[i,j]=matranX[i,j]/(dl[j]*SQRT(n)) for i=1 to 3 Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 45, 10 - 2016 105 for j=1 to n matranY[i,j]= matranX[j,i] for i=1 to 3 for j=1 to n begin matrankq[i,1]=matrankq[i,1]+xu1[j]*matranY[i,j]; matrankq[i,2]=matrankq[i,2]+xu2[j]*matranY[i,j]; matrankq[i,3]=SQRT(matrankq[i,1]^2+matrankq[i,2]^2); end 2.2.7. Xác định trình tự hồi qui-thuật toán 7 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: Input: ma trận kết quả (đã xác định bởi thuật toán 6) Output: Góc giữa các vectơ và kết quả tác động for i=1 to 3 for k=i+1 to 3 begin kos=(matrankq[i,1]*matrankq[k,1]+matrankq[i,2]*matrankq[k,2]) / (matrankq[i,3]+matrankq[k,2]) goc=ACOS(kos)*180/3.14; if matrankq[i,3]>matrankq[k,3] AND goc<=90 then print ("Cot ",k," tac dong vao cot",i); end; Kết quả tính toán của bảng 1 như sau: Tên biến Các kết quả tính toán So sánh giữa các góc. Tọa độ x Tọa độ y Độ lớn Thu nhập Dân số Vốn đầu tư Thu nhập 0.044929 0.10607 0.11519 - 86.97308 86.65440 Dân số 0.041701 0.08186 0.09187 86.97308 - 87.02170 Vốn đầu tư 0.044685 0.10230 0.11163 86.65440 87.02170 - Nhìn vào bảng này, ta thấy vectơ Thu nhập có độ lớn cao nhất, các góc so với véc tơ Dân số, véc tơ Vốn đầu tư đểu nhỏ hơn 900, vì vậy, Thu nhập quốc gia phụ thuộc vào Dân số và Vốn đầu tư. Lý luận tương tự, Vốn đầu tư sẽ phụ thuộc vào Dân số. Trình tự của hồi qui, thì việc đầu tiên, sẽ hồi qui Vốn đầu tư theo Dân số, sau đó, mới hồi qui tiếp Thu nhập theo Dân số và Vốn đầu tư. 2.3. Phát triển thuật toán phân tích thành phần chính Xét tiếp bảng sau (là sự mở rộng của bảng 1, trong đó, Vốn đầu tư= VDTNN+VDTTN+VDTkhac): Bảng 2. Biến động của thu nhập quốc dân (TNQD), dân số (Danso), vốn đầu tư nước ngoài (VDTNN), vốn đầu tư trong nước (VDTTN), vốn đầu tư khác (VDTK) của Việt Nam. Năm TNQG Danso VDTNN VDTTN VDTKhac Năm TNQG Danso VDTNN VDTTN VDTKhac (1) (2) (3) (4) (5) (1) (2) (3) (4) (5) 1995 228.677 71.995,5 30.447 20.000 22.000 2005 897.222 82.392,1 161.635 130.398 51.102 1996 269.654 73.156,7 42.894 21.800 22.700 2006 1.038.755 83.311,2 185.102 154.006 65.604 Công nghệ thông tin & Cơ sở toán học cho tin học 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.” 106 1997 308.600 74.306,9 53.570 24.500 30.300 2007 1.211.806 84.218,5 197.989 204.705 129.399 1998 352.836 75.456,3 65.034 27.800 24.300 2008 1.567.964 85.118,7 209.031 217.034 190.670 1999 392.693 76.596,7 76.958 31.542 22.671 2009 1.731.221 86.025,0 287.534 240.109 181.183 2000 435.319 77.630,9 89.417 34.594 27.172 2010 2.075.578 86.947,4 316.285 299.487 214.506 2001 474.855 78.620,5 101.973 38.512 30.011 2011 2.660.076 87.860,4 341.555 356.049 226.891 2002 527.056 79.537,7 114.738 50.612 34.795 2012 3.115.227 88.809,3 406.514 385.027 218.573 2003 603.688 80.467,4 126.558 74.388 38.300 2013 3.430.668 89.759,5 441.924 412.506 240.112 2004 701.906 81.436,4 139.831 109.754 41.342 2014 3.745.515 90.728,9 486.804 468.513 265.407 Nhược điểm của phương pháp này nằm ở thuật toán 3, nếu bảng dữ liệu có n cột, sẽ dẫn tới việc giải phương trình đa thức n bậc (như trường hợp bảng 2-5 bậc). Ta sẽ qui về việc so sánh 2 vectơ xem chúng có phụ thuộc nhau hay không, các véc tơ khác làm tương tự. Khó khăn ở đây là các mặt phẳng chính khác nhau, nên độ lớn của các vectơ khác nhau, dẫn tới không thể so sánh được. Để giải quyết điều này, ta sẽ sử dụng 1 vectơ (ví dụ cột đầu tiên) làm đơn vị và qui đổi sang các véc tơ khác. Sau đó, dùng 1 mảng các bản ghi để nhập các thông số đã tính được (gồm các trường: cot-thứ tự của cột dữ liệu, cotpt-các cột tác động lên cột dữ liệu nay, dodai- độ dài của véc tơ so với véc tơ 1, stt- trình tự hồi qui). Thuật toán như sau: Input : bảng dữ liệu 2 -mangdl Output: mảng kết quả ketqua[5] for i1=1 to 5 for k1=2 to 5 if i1<k1 then begin x1tb=0; x2tb=0; for i=1 to n begin x1tb=x1tb+mangdl[i,i1]; x2tb=x2tb+mangdl[i,k1]; end; x1tb=x1tb/n; x2tb=x2tb/n; for i=1 to n for j=1 to 2 begin matranX[i,1]=mangdl[i,i1]-x1tb; matranX[i,2]=mangdl[i,k1]-x2tb; end; //Áp dụng các thuật toán 2,3,4,5,6 ở mục 2.2 trên Thuật toán 2; Thuật toán 3; Thuật toán 4; Thuật toán 5; Thuật toán 6; if i1=1 then begin dodaid =matrankq[2,3]/matrankq[1,3]; ketqua[i1].cot=k1; ketqua[i1].dodai=dodaid; end else begin kos=(matrankq[1,1]*matrankq[2,1]+matrankq[1,2]*matrankq[2,2])/(sqrt(matran kq[1,1]^2+ matrankq[1,2]^2)+sqrt(matrankq[2,1]^2+matrankq[2,2]^2)); goc=acos(kos)*180/3.14; if (gocmatrankq[2,3]) then Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 45, 10 - 2016 107 Ketqua[i1]. cotpt =cotpt+str(k1) else Ketqua[k1]. cotpt =cotpt+str(i1) end; Sắp xếp mảng ketqua tăng dần theo dodai For i=1 to 5 ketqua[i].stt=i; Sử dụng thuật toán này, áp dụng vào bảng 2, ta có kết quả sau: cot dodai cotpt stt 5 0,918866376 2 1 4 0,951728567 2,5 2 3 0,971769101 2,4,5 3 2 0,999999999 4 1 1,000000000 2,3,4,5 5 3. KẾT LUẬN Trong nghiên cứu thực tế, quy trình phổ biến được các nhà phân tích chấp nhận là các biến độc lập với nhau. Tuy nhiên, thực tế chúng lại có sự phụ thuộc, tác động lên nhau. Bài báo này đã tổng hợp được các tài liệu để có cái nhìn tổng quan về dự báo, các phương pháp thường dùng trong dự báo, đưa ra giải pháp xây dựng một giải thuật áp dụng phương pháp phân tích thành phần chính để đưa ra trình tự hồi qui, xác định chính xác được quan hệ phụ thuộc giữa các biến, thông qua đó sẽ nâng cao chất lượng dự báo. Bài báo này là một hướng nghiên cứu mở, có thể tiếp tục phát triển các giải thuật phối hợp các mô hình bằng phương pháp khác nhau để nâng cao hiệu quả dự báo. Lời cảm ơn: Tác giả xin chân thành cám ơn tập thể cán bộ, nhân viên Viện CNTT, và đặc biệt là 02 TS Ngô Trọng Mại và Tôn Thiện Chiến đã giúp đỡ tận tình về mặt ý tưởng cũng như khi thực hiện chi tiết bài báo. TÀI LIỆU THAM KHẢO [1]. Đỗ Quang Giám, Vũ Thị Hân, “Xây dựng mô hình Arima cho dự báo khách du lịch quốc tế đến Việt nam”, Tạp chí Khoa học và Phát triển: Tập 10, số2: 364 - 370, Trường ĐH Nông Nghiệp Hà Nội, 2012. [2]. Vũ Thị Gương, “Kỹ thuật khai phá dữ liệu chuỗi thời gian áp dụng trong dự báo chứng khoán”, Luận án Thạc sĩ khoa học CNTT, Học viện Bưu chính Viễn Thông, Hà Nội, 2012. [3]. Nguyễn Trung Hòa, “Một số thuật toán mô phỏng và phân tích chuỗi thời gian”, Luận án Tiến sỹ Toán ứng dụng, trường ĐHBK Hà Nội, Hà Nội, 2007. [4]. Nguyễn Khắc Hiếu, "Mô hình ARIMA và dự báo lạm phát 6 tháng cuối năm 2014", Tạp chí Kinh Tế và Dự Báo số 16, tháng 8-2014. [5]. Phạm Văn Khánh, “Phân tích thống kê dự báo và mô phỏng một số chuỗi thời gian ”, Luận án Tiến sỹ Toán ứng dụng, ĐH Quốc gia Hà Nội, Hà Nội, 2008. [6]. Tô Cẩm Tú, Nguyễn Huy Hoàng, “Phân tích số liệu nhiều chiều”, Nhà xuất bản Khoa học và Kỹ thuật. [7]. Võ Văn Tài, “Dự báo sản lượng lúa Việt Nam bằng các mô hình toán học”, Tạp chí Khoa học 2012:23b 125-134. Dựa vào bảng kết quả, ta thấy cột 5 (VDTkhac) phụ thuộc vào cột 2 (Danso), tương tự như vậy Thu nhập quốc dân (cột 1) phụ thuộc vào 2,3,4,5 - tất cả các cột. Vậy khi hồi qui, ta sẽ làm cột 5 trước, sau đó sẽ đến cột 4,3,1 còn cột 2 (Danso) không phải hồi qui, đó chính là trình tự hồi qui nêu trong cột STT. Công nghệ thông tin & Cơ sở toán học cho tin học 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.” 108 [8]. Michael Falk, Frank Marohn, “A First Course on Time Series Analysis - Examples with SAS”, by Chair of Statistics, University of Wurzburg, 2012. [9]. Michael K. Evans, “Practical Bususiness Forecasting”, Blackwell Publishers Ltd, a Blackwell Publishing company. Bodkkowmin, Cornwall, 2002. [10]. N. Gujarati, “Basic Econometrics”, Fourth Edition - The McGraw−Hill Companies, 2004. ABSTRACT DETERMINING THE ORDER OF RECURSION IN FORECASTING THE MULTI-DIMENTIONAL DATABASE SYSTEM This paper presents an algorithm to determine the order of recursion in forecasting the multi-dimentional database system. The algorithm applies the analysis method with principle parts. The application of the algorithm uses data in the Website of General Statistics Office (//gso.gov.vn) .The method brings in an exact order of recursion, and improves the effect of forecast problem. Key words: Forecast, Time series, Multidimentional data, Principe parts analysis. Nhận bài ngày 03 tháng 7 năm 2016 Hoàn thiện ngày 19 tháng 10 năm 2016 Chấp nhận đăng ngày 26 tháng 10 năm 2016 Địa chỉ: Trường Đại học Công nghiệp Việt-Hung. *Email : hagiason@gmail.com
File đính kèm:
- xac_dinh_trinh_tu_hoi_qui_trong_viec_du_bao_he_thong_du_lieu.pdf