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 - Hà Gia Sơ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 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]. ...
10 trang |
Chia sẻ: quangot475 | Lượt xem: 604 | Lượt tải: 0
Bạn đang xem 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 - Hà Gia Sơn, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trê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 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= X1X2 + 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 =
Xk1Xk2 + 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
Các file đính kèm theo tài liệu này:
- 12_hagiason_8437_2150924.pdf