Thứ Sáu, 17 tháng 5, 2013

(7) Kỹ thuật xây dựng, sử dụng mô hình kinh tế lượng (phần 7)

Bài giảng của tôi về kỹ thuật mô hình hoá:


MỘT SỐ NỘI DUNG CƠ BẢN TRONG XÂY DỰNG CÁC MÔ HÌNH KINH TẾ LƯỢNG PHỤC VỤ CÔNG TÁC PHÂN TÍCH VÀ DỰ BÁO KINH TẾ VĨ MÔ


III. QUY TRÌNH XÂY DỰNG MỘT MÔ HÌNH KINH TẾ LƯỢNG (tiếp theo):

5) Giải mô hình (tiếp theo)
            e) Lợi ích của việc xác định tập hợp các biến của khối quan hệ 2 chiều:
            + Nếu tập hợp này là rỗng, mô hình sẽ là mô hình đệ quy, tức là có thể giải mô hình thông qua giải lần lượt từng phương trình. Vì các kết quả tính toán ở bước trước không bị ảnh hưởng trong quá trình giải các phương trình sau nên không cần lặp lại quá trình giải từ đầu để xác định điểm hội tụ như trong trường hợp mô hình không đệ quy.
            Trong trường hợp này, lời giải là nghiệm chính xác của mô hình.
            Tuy nhiên, để biết được tập hợp này có rỗng hay không, cần sắp xếp lại các phương trình theo đúng thứ tự cần thiết.
            + Việc sắp xếp lại các phương trình theo các khối trên cho phép tạo ra 1 danh sách phương trình theo lô gíc để quá trình giải mô hình đạt tốc độ nhanh nhất và dễ hội tụ nhất.
            Trường hợp mô hình đệ quy rất hiếm. Khi phân rã mô hình thành nhiều khối với kích thước nhỏ, trong đó có những khối dễ giải, đặc biệt là khối mở đầu đệ quy, thì kích thước thực của mô hình sẽ giảm đi đáng kể, đồng thời quá trình giải chỉ phải tập trung vào một số phương trình cụ thể. Do đó nếu xuất hiện khó khăn khi giải thì cũng dễ dàng xử lý hơn. Kinh nghiệm thực tế cho thấy chi phí giải thường giảm tỷ lệ với giảm số phương trình trong khối quan hệ 2 chiều.
            + Việc sắp xếp lại các phương trình theo thứ tự lô gíc còn giúp phát hiện ra những sai sót trong quá trình xây dựng và ước lượng mô hình. Ví dụ đã nhầm lẫn khi coi một biến có tham gia vào khối quan hệ 2 chiều là biến được xác định theo cách đệ quy. Trong mô hnìh Keynes, đầu tư là biến thuộc khối quan hệ 2 chiều nên qua sắp xếp lại, nếu thấy biến đầu tư nằm trong khối xác định đệ quy thì cần sửa chữa lại mô hình.
            f) Phương pháp sắp xếp lại các phương trình:
            Trong ví dụ của tài liệu này và qua nghiên cứu ma trận của mô hình A nêu trên, chúng ta chưa thấy đâu là khối mở đầu, đâu là khối kết thúc... Do đó, cần tiến hành sắp xếp lại các phương trình của mô hình.
            Việc nghiên cứu các tính chất của mô hình có ý nghĩa quan trọng đối với quá trình sắp xếp lại các phương trình của mô hình. Một số phần mềm máy tính có thể tự động thực hiện các nghiên cứu này và tự động tổ chức lại mô hình theo một thuật toán nào đó. Tuy nhiên, do có nhiều cách tổ chức lại mô hình nên người ta vẫn có thể tự nghiên cứu để cải tiến quá trình này theo ý mình để đẩy nhanh tốc độ giải mô hình.
            Hai công đoạn quan trọng trong quá trình sắp xếp lại mô hình là:
            (1) Phải tìm được tất cả các phương trình của khối mở đầu và khối kết thúc; sau đó sắp xếp theo đúng thứ tự của nó trong từng khối.
            (2) Phân chia số phương trình còn lại thành khối tim và khối các vòng xoáy; cố gắng sắp xếp chúng trong mỗi khối theo một trật tự hợp lý nhất, tức là có cho phép mô hình hội tụ nhanh nhất có thể.
            Công đoạn thứ nhất hoàn toàn tự nhiên và có thể thực hiện tương đối dễ dàng đối với những mô hình không quá lớn; nhất là khi đã sử dụng một số thuật toán sắp xếp đơn giản. Trong quá trình sắp xếp, có một số phương trình có thể được đặt tuỳ ý như phương trình xác định một biến nội sinh chỉ phụ thuộc duy nhất vào các biến ngoại sinh và biến nội sinh này chỉ xuất hiện trong các khối từ 2 trở đi. Một số phương trình xác định các biến độc lập nhau và đều phụ thuộc vào các biến nội sinh trước chúng và các biến ngoại sinh thì cũng có thể đổi chỗ cho nhau... Tuy nhiên, về bản chất, thường chỉ có duy nhất 1 trật tự sắp xếp các phương trình của khối 1 và 4.
            Ngược lại, công đoạn thứ hai rất phức tạp và không rõ ràng. Cách làm chung là cố gắng giảm tới mức tối đa số các biến của 2 khối này, nhất là các biến tạo thành các vòng xoáy. Từ đây dẫn tới phải lựa chọn một trong 2 cách:
            + Chỉ tìm một tập hợp các biến tối thiểu của các vòng xoáy; các biến này được gọi là biến xoáy (thuật toán Nepomiaschy và Ravelli). Khi đó, sẽ không đưa vào nhiều biến xoáy khác. Ví dụ trong mô hình Keynes, người ta tìm các biến thuộc vòng xoáy đầu tư - tăng trưởng; trong mô hình tân cổ điển, người ta tìm vòng xoáy giá - lương - tiền...
            + Tìm tất cả các biến trong khối tim và xoáy, trên cơ sở đó sắp xếp các phương trình theo trật tự hợp lý nhất có thể, từ đó tạo thành một ma trận đường chéo chính nhỏ nhất có thể (thuật toán Gilli và Rossier).
            Tuy nhiên, như sau này sẽ chứng minh, nếu sử dụng thuật tóan Gauss-Seidel thì không nhất thiết cứ phải cực tiểu hoá số biến xoáy thì mới có thể đạt tốc độ hội tụ nhanh.
            Các thuật toán sắp xếp lại các phương trình của một mô hình tương đối phức tạp, do đó chúng ta sẽ không nghiên cứu ở đây. Mặt khác, với hệ phần mềm EVIEWS, chúng ta sẽ giải mô hình bằng thuật toán Gauss-Seidel với thuật toán đã được chương trình hoá để sắp xếp một cách tự động.
Ví dụ thực tế về sắp xếp lại các phương trình của một mô hình:
Trở lại mô hình của chúng ta:
(i)        INTER = f1 (PROD)
            (ii)       CONSO = f2 (PROD)
            (iii)     INVES = f3 (DPROD)
(iv)      EXPOR = f4 (DEMX)
(v)       IMPOR = f5 (DEMI)
            (vi)      DEMI = INTER + CONSO + INVES + ETAT + DEMD
            (vii)     PROD = DEMI + EXPOR - IMPOR
Do đây là mô hình rất đơn giản nên không cần sử dụng thuật toán phức tạp cũng có thể nhận thấy ngay một số đặc điểm:
- Khối mở đầu chỉ gồm 1 phương trình xuất khẩu vì xuất khẩu chỉ phụ thuộc vào một biến ngoại sinh là DEMX. Do đó phương trình EXPOR phải được đưa lên đầu, trở thành phương trình (1).
- Ngược lại khối kết thúc rất không rõ ràng.
- Khó có thể loại bỏ biến PROD vì nó là biến trung tâm, nối hầu hết các biến của mô hình, tạo thành dây truyền mô tả cơ chế nhân tử trong mô hình (sản xuất - đầu tư). Do đó nó phải nằm trong khối tim hoặc khối xoáy.
- Nếu xác định như vậy thì thứ tự các phương trình i, ii và iii chấp nhận được, chúng sẽ trở thành các phương trình thứ (2), (3) và (4) sau phương trình xuất khẩu.
- Có thể chuyển phương trình xác định biến DEMI lên trên phương trình xác định biến IMPOR vì tất cả các biến trong phương trình xác định DEMI đều năm trong các phương trình có thứ tự trước thứ tự phương trình xác định biến IMPOR, trong khi biến IMPOR lại phụ thuộc vào biến DEMI.
Với nhận xét này, phương trình xác định biến DEMI sẽ là phương trình thứ (5); phương trình xác định biến IMPOR là phương trình thứ (6). Dĩ nhiên, phương trình xác định biến PROD sẽ là phương trình thứ (7).
Qua phân tích trên, có thể sắp xếp lại trật tự các phương trình trong mô hình như sau:
(1)       EXPOR = f4 (DEMX)
(2)       INTER = f1 (PROD)
            (3)       CONSO = f2 (PROD)
            (4)       INVES = f3 (DPROD)
            (5)       DEMI = INTER + CONSO + INVES + ETAT + DEMD
(6)       IMPOR = f5 (DEMI)
            (7)       PROD = DEMI + EXPOR - IMPOR
Ma trận của mô hình sẽ là:

EXPOR
INTER
CONSO
INVES
DEMI
IMPOR
PROD
EXPOR
1
0
0
0
0
0
0
INTER
0
1
0
0
0
0
1
CONSO
0
0
1
0
0
0
1
INVES
0
0
0
1
0
0
1
DEMI
0
1
1
1
1
0
0
IMPOR
0
0
0
0
1
1
0
PROD
1
0
0
0
1
1
1

            Theo ma trận trên, mô hình có khối mở đầu gồm 1 phương trình xuất khẩu, một khối tim gồm 6 phương trình, nhưng chỉ có 1 biến xoáy duy nhất là biến PROD (vì có các hệ số 1 nằm bên trên đường chéo của ma trận. Ngoài ra, mô hình không có khối kết thúc.
Lưu ý là việc sắp xếp lại các phương trình thường không phải là duy nhất. Nếu trong mô hình trên, chúng ta xếp phương trình (5) và (6) vào ngay sau phương trình (1) thì biến DEMI sẽ trở thành biến xoáy của mô hình, cụ thể là :
(1)       EXPOR = f4 (DEMX)
(2)       IMPOR = f5 (DEMI)
            (3)       PROD = DEMI + EXPOR - IMPOR
(4)       INTER = f1 (PROD)
            (5)       CONSO = f2 (PROD)
            (6)       INVES = f3 (DPROD)
            (7)       DEMI = INTER + CONSO + INVES + ETAT + DEMD
Ma trận của mô hình sẽ là:

EXPOR
IMPOR
PROD
INTER
CONSO
INVES
DEMI
EXPOR
1
0
0
0
0
0
0
IMPOR
0
1
0
0
0
0
1
PROD
1
1
1
0
0
0
1
INTER
0
0
1
1
0
0
0
CONSO
0
0
1
0
1
0
0
INVES
0
0
1
0
0
1
0
DEMI
0
0
0
1
1
1
1
Ma trận cho thấy mô hình có khối mở đầu là phương trình xác định xuất khẩu. Tiếp đến là khối tim của mô hình gồm 6 phương trình. Chỉ có 1 biến tạo thành vòng xoáy là biến DEMI.
e) So sánh tính chất hội tụ theo các thuật toán khác nhau
Trong mục này, chúng ta sẽ xem xét và so sánh các tính chất hội tụ của các thuật toán giải mô hình nêu trên, bắt đầu từ thuật toán được sử dụng nhiều nhất là thuật toán Gauss - Seidel.
Thuật toán Gauss - Seidel:
Phân tích các khối và các biến nêu trên cho thấy khi sử dụng thuật toán Gauss - Seidel, chỉ có các biến xoáy thông qua các giá trị xuất phát của chúng mới ảnh hưởng đến kết quả của bước lặp đang diễn ra. Bằng cách tách những biến này ra khỏi tập hợp các biến y và gộp chúng thành 1 nhóm biến riêng gọi là yb (nhóm còn lại là yc), thì về mặt lý thuyết, có thể người ta có thể thay thế lẫn nhau giữa các phương trình và đưa mô hình thành một mô hình đơn giản hơn như sau:
                                   y  =   g (yb , x , â)
Ví dụ mô hình nêu trên của chúng ta có thể được giải thành mô hình sau:
(1)       EXPOR = f4 (DEMX)
(2)       INTER = f1 (PROD)
            (3)       CONSO = f2 (PROD)
            (4)       INVES = f3 (DPROD)
            (5)       DEMI = f1(PROD) + f2(PROD) + f3(PROD) + ETAT + DEMD
(6)       IMPOR = f5 (f1(PROD) + f2(PROD) + f3(PROD) + ETAT + DEMD)
            (7)       PROD = f1(PROD) + f2(PROD) + f3(PROD) + ETAT + DEMD +
f4(DEMX) - f5(f1(PROD) + f2(PROD) + f3(PROD) + ETAT+DEMD)
khi sử dụng biến PROD làm biến thuộc tập hợp yb. Để ngắn gọn, có thể viết thành:
(1)       EXPOR = g1 (DEMX)
(2)       INTER =   g2 (PROD)
            (3)       CONSO =  g3 (PROD)
            (4)       INVES  =  g4 (DPROD)
            (5)       DEMI  =   g5 (PROD, ETAT, DEMD)
(6)       IMPOR = g6 (PROD, ETAT, DEMD)
            (7)       PROD   = g7(PROD, ETAT, DEMD, DEMX)
Trong trường hợp khi sử dụng biến DEMI làm biến thuộc tập hợp yb; ta có mô hình tương đương như sau (đề nghị sinh viên tự làm).
Những ví dụ trên cho thấy dù mô hình rất đơn giản, nhưng việc giải nó về dạng y = g (yb , x , â) thường rất phức tạp, nhất là khi chưa rõ dạng các phương trình của hệ g. Tuy nhiên, phương pháp này vẫn được sử dụng khá phổ biến trong các nghiên cứu lý thuyết kinh tế.
Trong thực tế, sau khi đưa được mô hình gốc về dạng mô hình y = g (yb , x , â) với những công thức toán dài dằng dặc, người ta phải định nghĩa lại các biến và quan hệ (tức là tạo ra các biến trung gian) để rút gọn một số phương trình.
 Lưu ý là quá trình thay thế liên tiếp các biến vào các phương trình khác để giả theo nhóm biến yb vẫn chưa cho lời giải của mô hình vì các vòng xoáy và biến xoáy vẫn chưa được giải. Do vậy, đây mới chỉ là quá trình đơn giản hoá mô hình. Tuy nhiên, quá trình này cũng cho thấy để xem xét khả năng hội tụ của mô hình, chỉ cần phân tích, xử lý mô hình rút gọn:
            y = g (yb , x , â)  =      g (yb)
            Do vậy, cũng chỉ cần xem xét khả năng hội tụ của các biến yb. Nếu các biến này hội tụ, các biến khác cũng sẽ hội tụ vì chúng được tính toán dẫn suất từ các biến này theo một công thức duy nhất.
Quan sát trên cho phép chúng ta minh họa sự hội tụ của thuật toán Gauss - Seidel như sau:
Bước 1: tuyến tính hoá mô hình xung quanh lời giải (tức là tuyến tính hoá tại một điểm xung quanh lời giải):




Nếu sử dụng xấp xỉ này làm sai số khi giải, thì véc tơ sai số của nghiệm tại mỗi bước lặp sẽ bằng véc tơ sai số trong bước trước nhân với Jacobien. Như vậy, quá trình hội tụ là tuyến tính.


Bước hai: kiểm tra quá trình hội tụ. Điều kiện cần và luôn luôn đủ để thuật toán hội tụ là khi ma trận Jacobien có số mũ tiến ra vô cùng (¥) thì giá trị của nó phải tiến về không (0). Tuy nhiên, cũng có thể đưa ra một điều kiện tương đương là tất cả các giá trị riêng của ma trận phải nhỏ hơn 1.
Trong ví dụ của chúng ta, mô hình sẽ hội tụ nếu điều kiện dưới đây được đảm bảo:
êDg(PROD) / DPROD ê <  1
Từ đây, người ta thấy rằng số biến xoáy càng nhiều thì xác suất hội tụ của thuật toán càng thấp nếu các hệ số trong mô hình và các điểm xuất phát được lựa chọn một cách hoàn toàn ngẫu nhiên. Tuy nhiên, may mắn là sự khớp nhau về kinh tế trong mô hình luôn đòi hỏi phải đảm bảo gắn tính chất lô gíc kinh tế với quá trình hội tụ toán học, trước hết là đảm bảo tính cân bằng trong hành vi các các tác nhân khác nhau. Vì vậy, các mô hình kinh tế đều có khả năng hội tụ rất cao so với các mô hình được xây dựng một cách tự do.
Chúng ta có thể minh hoạ quá trình trên bằng một mô hình với 2 phương trình sau:
(i)        CONSO  =  a PROD
(ii)      PROD   = CONSO  +  ETAT
với  0 < a  < 1.
Giải bằng thuật toán Gauss- Seidel sẽ thấy mô hình luôn luôn hội tụ vì mô hình chỉ có một biến xoáy duy nhất là PROD đồng thời biến xoáy này lại thoả mãn điều kiện trên, tức là:
PRODk - PROD* = a (PRODk-1 - PROD*)
và  êa ê < 1
Thực tế, thay phương trình (i) vào phương trình (ii), chúng ta có:
PROD  = a PROD + ETAT    hay:     PROD (1-a) = ETAT
Do đó lời giải của mô hình sẽ là:
                       PROD = ETAT / (1-a)
và                    CONSO = a / (1-a) * ETAT
Tuy nhiên, cũng với 2 phương trình trên song chúng ta để quan hệ nhân quả ngược lại thì tình hình sẽ khác. Mô hình mới như sau:
(i)        CONSO  =  PROD  -   ETAT
(ii)      PROD   = CONSO  /  a
với  0 < a  < 1.
Trong trường hợp này mô hình sẽ phân kỳ vì:
PRODk - PROD*  =  (1/a) (PRODk-1 - PROD*)
và  ê1/a ê > 1
Tuy nhiên, việc mô hình sau phân kỳ hoàn toàn phù hợp với lô gíc vì người ta đã thay lô gíc kinh tế của một mô hình hội tụ (lô gíc nhân tử trong mô hình Keynes) bằng lô gíc của một mô hình không hội tụ. Cụ thể trong mô hình đầu, tiêu dùng tỷ lệ cố định với sản xuất trong khi sản xuất đáp ứng yêu cầu tiêu dùng với tỷ lệ như vậy và đáp ứng thêm phần cầu ngoại sinh (tiêu dùng chính phủ). Do đó, sẽ có sự cân đối giữa cung và cầu.
Tuy nhiên, trong mô hình thứ hai, cơ chế xử lý các hành vi lại là:
- Các hộ gia đình tiêu dùng phần sản xuất còn lại sau khi đã đảm bảo thoả mãn các nhu cầu ngoại sinh;
- Các doanh nghiệp cố gắng giữ mức cung ổn định và cao hơn so với cầu nội sinh.
Ngược lại, trong mô hình sau...

Nếu một mô hình không hội tụ về mặt kinh tế thì nó cũng sẽ không hội tụ về mặt toán học. Trong mô hình trên, nếu mô hình có lời giải, toàn bộ sai số ban đầu (đối với biến PROD) sẽ được đưa vào phương trình tiếp theo (đối với biến CONSO), sau đó lại được đưa vào biến ban đầu (PROD) nhưng tiếp tục được khuyếch đại lên... Quá trình đó cú tiếp diễn trong toàn bộ quy trình lặp để giải mô hình. Sự không ổn định sẽ xuất hiện qua nhân tử chi tiêu chính phủ (ETAT).
Về mặt toán học, đối với mô hình đầu, ở bước lặp thứ n, sai số tích luỹ là:
DPRODn = (1 + a + a2 + ... + an) DETAT  =  (1 - an-1)/(1-a) DETAT
            Dĩ nhiên vì (1 - an-1)/(1-a) < 1 nên mô hình trên hội tụ vì sai số tiến dần tới 0. Đối với mô hình sau, sai số tích luỹ là:
DPRODn = (1 + 1/a + 1/a2 + ... + 1/an) DETAT  =
     =  (1 - (1/a)n-1) / (1-1/a) DETAT
            Vì  (1 - (1/a)n-1) / (1-1/a) > 1 nên mô hình này không hội tụ.
Kỹ thuật đẩy nhanh tốc độ hội tụ trong thuật toán Gauss-Seidel:
Một trong những kỹ thuật khá hiệu quả để đẩy nhanh quá trình hội tụ là đưa vào các biến giãn. Kỹ thuật này được phát hiện khi người ta nhận thấy:
Nếu y là lời giải của mô hình y = f(y) thì y cũng là lời giải của mô hình:
                       y = D f(y)  +  (I-D) y
trong đó D là một ma trận đường chéo có kích thước tương ứng với số biến nội sinh, I là ma trận đơn vị.
Tương tự đối với mô hình rút gọn g: Nếu yb là lời giải của mô hình yb = gb(yb) thì yb cũng là lời giải của mô hình:
                       yb = D gb(yb)  +  (I-D) yb
Bằng cách thay cho việc giải mô hình gốc, chúng ta sẽ giải mô hình tương đương với các ma trận D và I. Áp dụng thuật toán Gauss-Seidel với mô hình yb = D gb(yb)  +  (I-D) yb , tại bước lặp k, chúng ta có:




Kinh nghiệm sử dụng các thuật toán:
Kinh nghiệm của các nhà mô hình hoá cho thấy thuật toán Gauss-Seidel thường gặp khó khăn khi phải giải những mô hình có nhiều mối quan hệ nhân quả chồng chéo giữa các biến.
Ngược lại, thuật toán Newton thường không gặp khó khăn đối với loại mô hình này. Do vậy, người ta thường sử dụng thuật toán Newton đối với các mô hình có vẻ hội tụ sẽ khó khăn. Nhiều nhà mô hình hoá ít kinh nghiệm cũng chọn thuật toán này để giữ vững niềm tin là mô hình đã xây dựng là tốt và hoàn toàn có khả năng hội tụ. Tuy nhiên, điểm yếu của thuật toán này là nó thường kém xử lý các mô hình có một vài quan hệ không ổn định, nhất là khi các Jacobien không ổn định.
Về tốc độ giải, đến nay vẫn chưa khảng định được thuật toán nào cho kết quả nhanh hơn. Theo kinh nghiệm của các nhà mô hình hoá Pháp, phương pháp Newton thường cần ít bước lặp hơn, nhưng thời gian thực hiện mỗi bước lặp lại cao hơn. Thực tế, trong mỗi bước của thuật toán này, không chỉ phải dùng các tính toán như mỗi bước lặp của thuật toán Gauss-Seidel mà còn phải tính các Jacobien và nghịch đảo ma trận; trong khi những tính toán này cần rất nhiều thời gian.
Trên thực tế, người ta thấy số bước lặp để mô hình hội tụ đối với tất cả các thuật toán đều tăng lên không nhanh so với độ tăng của kích thước mô hình. Tuy nhiên, số biến xoáy lại có những ảnh hưởng quan trọng. Chính vì vậy, người ta có xu hướng dùng thuật toán Newton để giải các mô hình nhỏ vì thuật toán này không chú trọng tới quan hệ giữa các biến. Dưới đây là bảng mô tả số bước lặp khi giải một số phiên bản của mô hình DMS của Pháp theo 2 phương pháp Gauss-Seidel và Newton thực hiện năm 1988:


Bảng: So sánh tốc độ hội tụ của các thuật toán

Micro DMS
Mini DMS
DMS
Số phương trình
30
200
3000
Số biến xoáy
2
16
72
Số bước lặp Gauss-Seidel
20
35
50
Số bước lặp Newton
3
4
5
    Quy thời gian theo Gauss-Seidel
10
68
365
(tiêu chuẩn hội tụ là sai số dưới 0,0002).
Bảng trên cho thấy thuật toán Newton chỉ hữu ích so với các thuật toán khác khi giải các mô hình nhỏ. Tuy nhiên, cần lưu ý tác dụng khác của nó là:
- Thuật toán Newton thường đảm bảo bài toán có lời giải, trong khi nhiều thuật toán khác không đảm bảo khả năng hội tụ. Đây là một tác dụng rất quan trọng.
- Nếu cần tìm một lời giải chính xác hơn, bên cạnh việc thay đổi tiêu chuẩn hội tụ chặt chẽ hơn, cần chọn thuật toán Newton. Đặc biệt, thuật toán này rất hữu ích khi cần so sánh kết quả mô phỏng này với kết quả mô phỏng khác (variantes)...
(g) Kinh nghiệm xử lý các vấn đề phát sinh trong quá trình giải mô hình
Nói chung, nghiên cứu để đưa một mô hình từ chỗ không giải được trở thành một mô hình giải được là vấn  đề rất phức tạp, cần có kỹ năng sâu. Dưới đây, xin trình bày một số kinh nghiệm thực tế để cố gắng làm cho mô hình hội tụ, tức là giải được.
Trước tiên, bao giờ cũng phải kiểm tra để chắc chắn không có lỗi trong xây dựng mô hình và chuẩn bị số liệu đầu vào. Tiếp đó, có thể xử lý một số vấn đề phát sinh khi giải các mô hình như sau:
            1. Nếu mô hình hội tụ: Tốt, dừng quá trình giải.
            2. Nếu số bước lặp tối đa đã đạt được, nhưng mô hình chưa hội tụ:
            2.1) Nếu chưa có biến nào hội tụ:
            - Nếu đang sử dụng thuật toán Gauss-Seidel, cần kiểm tra xem có dao động quả lắc giữa hai giá trị gần nhau không. Nhiều khi do tiêu chuẩn hội tụ quá cao nên máy tính không tìm ra lời giải vì trong các bước lặp tiếp sau, máy tính đều tìm được kết quả mới với sai số vẫn dao động xung quanh nghiệm chính xác song chưa thể chấp nhận vì vẫn chưa đáp ứng được tiêu chuẩn sai số. Lưu ý là bản thân máy tính cũng có sai số vì trong máy tính, số 0 không tồn tại mà phải dùng một số nhỏ nào đó làm số 0, ví dụ như 0,00001.
            Trong trường hợp này, cần phải mở rộng tiêu chuẩn hội tụ.
Nếu đã mở rộng tiêu chuẩn hội tụ mà vẫn chưa được sự hội tụ thì:
            + Xem lại trật tự kinh tế và thứ tự các phương trình trong mô hình xem có đúng theo lô gíc không, hoặc đã phân chia đúng theo 4 khối nêu trên ? Nếu cần thì sắp xếp lại thứ tự các phương trình trong mô hình.
            + Nới lỏng các điều kiện cho khối chứa những quan hệ qua lại quá phức tạp, nhất là những phương trình có chứa nhiều biến xoáy. Ngoài ra, có thể đưa thêm một số biến nới lỏng. Một trong những cách làm có thể là chuyển một số biến xoáy thành biến trễ.
            - Nếu đang sử dụng thuật toán Newton: Kiểm tra lại tất cả các giá trị của điểm xuất phát có hợp lý không; nếu không thì cố gắng tìm một điểm xuất phát khác (có thể tìm theo kiểu mò mẫm).
            2.2) Nếu đã có một số biến hội tụ, một số biến thì chưa:
            - Kiểm tra xem tiêu chuẩn hội tụ có phù hợp với các biến không hội tụ không (ví dụ thâm hụt thương mại như trên) ? Kiểm tra cả về tiêu chuẩn lẫn công thức tính tiêu chuẩn đó. Đối với các chỉ tiêu về thâm hụt hoặc tỷ lệ tăng trưởng, không nên đưa ra những tiêu chuẩn quá cao. Ngoài ra, nên chọn tiêu chuẩn là sự khác nhau về giá trị tuyệt đối chứ không nên chọn giá trị tương đối.
Lưu ý là trong thực tế, chỉ cần làm sao để khối không đệ quy hội tụ là đủ.
            - Nếu đã thực hiện các điều chỉnh trên mà mô hình vẫn không đạt được hội tụ, hãy sử dụng các cách xử lý nêu trong trường hợp chưa có biến nào hội tụ (mục 2.1).
            3) Khi xuất hiện các giá trị bất thường, không phù hợp (ví dụ giá trị âm trong hàm logarit, ví dụ khi chia cho số 0):
            3.1) Nếu đây chỉ là tình huống ngẫu nhiên, chỉ tình cờ xuất hiện trong một bước lặp và sẽ không xuất hiện trong các bước tiếp theo, có thể tránh tình huống này bằng một trong các cách sau:
- Thay đổi điểm xuất phát;
            - Đưa vào một số quy định, ràng buộc nhằm ngăn ngừa hiện tượng này. Ví dụ thay hàm log(x) bằng log(max(a,x)), trong đó a là số dương. Khi chọn hằng số a, cần chú ý sao cho khi hội tụ, x phải lớn hơn a.
3.2) Mô hình gặp một loạt các giá trị bất thường, kéo dài thành hệ thống. Khi đó phải xem lại các công thức trong mô hình.
            - Nếu đang sử dụng thuật toán Gauss-Seidel, cần thay đổi thứ tự các phương trình hoặc sử dụng các biến nới lỏng, cụ thể là:
            Kiểm tra lại xem thứ tự các phương trình có tuân theo trật tự lô gíc của quá trình kinh tế mà mô hình mô tả không. Nếu thấy không có vấn đề gì thì có thể thay thuật toán Gauss-Seidel bằng thuật toán Ritz-Jordan vì thuật toán Ritz-Jordan chỉ dùng đến các giá trị của bước lặp trước, do đó cho phép loại bỏ những chồng chéo đồng thời cho phép tập trung vào các quá trình phân kỳ để xử lý tốt hơn.
            Cách làm này đặc biệt có lợi nếu các giá trị bất thường xuất hiện nhanh khi giải. Thông thường đây là hậu quả của vấn đề chọn công thức, ví dụ chọn lựa các điểm xuất phát của các biến hoặc các hệ số không tốt. Thuật toán Ritz-Jordan có thể định vị rõ và rất nhanh các phương trình có biểu hiện bất thường.
- Nếu đang sử dụng thuật toán Newton: Kiểm tra tính hợp lý của các giá trị xuất phát và thay đổi chúng để có những điểm xuất phát phù hợp hơn.
3.3) Mô hình không giải được
Trong trường hợp này, cần kiểm tra lại tính hợp lý của các giả thuyết đề ra khi xây dựng mô hình, trên cơ sở đó sửa chữa mô hình. Một số thủ thuật có thể sử dụng là:
- Sửa chữa một số phương trình trong mô hình, ví dụ thay các hàm logarit bằng hàm giá trị tuyệt đối thông thường;
- Thay đổi một số hệ số (vì có thể có một số hệ số làm phát sinh các giá trị bất thường và làm cho mô hình không hội tụ);
- Sửa chữa các phương trình kế toán để đảm bảo sự cân bằng và khớp nhau về quan điểm kinh tế của toàn hệ thống.
Nói chung còn khá nhiều vấn đề liên quan đến sự hội tụ của mô hình mà cần phải trải qua làm thực tế mới nắm được.
(h) Một số kỹ thuật tinh vi hơn
Trong mọi trường hợp, dù thay đổi, điều chỉnh mô hình kiểu gì thì cũng không được vi phạm tính hợp thức lý thuyết của mô hình, tức là không phải cứ sửa chữa để giải được mô hình là đủ, mà quan trọng nhất là phải phân tích, sửa chữa những khiếm khuyết của mô hình, những sự không khớp nhau của mô hình... để vừa thu được lời giải, vừa có mô hình tốt hơn.
Những gợi ý trên đây chỉ mang tính tham khảo. Về bản chất, quá trình nghiên cứu để đạt được sự hội tụ là khoanh những điểm bất thường xuất hiện trong quá trình giải để tìm cách xử lý. Tuy nhiên, những nguyên tắc trên thường là quá gộp nên rất khó xử lý những trường hợp cụ thể. Do vậy, ngoài một số kỹ thuật mang tính nguyên tắc nêu trên, còn có một số kỹ thuật tinh vi hơn, gắn liền với bản chất của những vấn đề gặp phải. Dưới đây là một số kỹ thuật tinh vi đó:
- Xác định điểm xảy ra tình huống bất thường: Nếu gặp phải trường hợp logarit của một số âm, cần tìm hiểu xem hiện tượng này xuất phát từ phương trình, biểu thức nào.
Trong mô hình ví dụ ở tài liệu này, giả sử logarit của số âm xuất hiện trong phương trình thứ 5:
(5)   Log (IMPOR)  =  a Log (DEMI)  +   b
trong đó DEMI có giá trị âm. Khi đó áp dụng kinh nghiệm nêu trong mục (3.1).
            - Nếu không phát hiện được nguyên nhân trực tiếp từ biến nào thì phải liệt kê giá trị của tất cả các biến liên quan. Ngoài xem xét trực tiếp biến có vấn đề làm cho mô hình không hội tụ, cần xem xét tất cả các biến xác định biến đó vì sai lầm có thể bắt nguồn từ điểm đâu đó rất xa phía trước của phương trình đang xem xét. Ví dụ khi xuất hiện trường hợp số người thất nghiệp âm; nguyên nhân có thể do dự báo cầu quá cao, làm cho dự báo việc làm cũng quá cao; hậu quả là không đủ lao động đáp ứng nhu cầu và xuất hiện trường hợp số người thất nghiệp âm)... Do vậy, phải xem lại hàm cầu sản xuất và hàm cung việc làm.
            Kinh nghiệm cho thấy phải rà soát lại sơ đồ nhân quả trong mô hình theo chiều ngược lại để tìm nguyên nhân không giải được mô hình. Điều này cũng có nghĩa là phải thực hiện một số bước lặp.
            Ví dụ trong mô hình của chúng ta, nếu DEMI = -62.000 ; đồng thời:
            INTER            =  58.000
            CONSO          =  -233.00
            INVES =  39.000
            ETAT              =  40.000
            DEMX            =  34.000
thì có thể thấy ngay là sai lầm đến từ xác định biến CONSO vì biến này là một thành phần xác định DEMI nhưng nó lại có giá trị âm rất lớn.
            - Liệt kê tất cả giá trị liên tiếp của biến đó và nếu cần thì của các biến liên quan trong trường hợp không hội tụ mô tả trong mục (2).
            Việc liệt kê thường cho phép xác định được những phần tử có thể làm cho mô hình không hội tụ. Ví dụ CONSO có các giá trị liên tiếp là:
            110.000           ;           80.000 ;           140.000           ;           60.000 ;
            180.000           ;           ...
            Quá trình giải tìm giá trị của CONSO là phân kỳ vì hệ số dãn bằng -2.
            Tuy nhiên, nếu đưa thêm nhân tố dãn là 1/(1-(-2))=1/3=0,333 thì mô hình sẽ hội tụ ngay lập tức với lời giải là CONSO = 100.000
            - Ngoại sinh hoá một số biến (áp dụng trong mọi trường hợp khó khăn):
            Bằng cách gán cho 1 biến một giá trị nào đó, người ta có thể đo được mức đóng góp của nó vào quá trình hội tụ và quan sát xem sự biến mất của nó trong danh sách các biến nội sinh của mô hình đã làm mô hình hội tụ theo cách nào.
            Tuy nhiên, cũng như phương pháp trên, phương pháp này cũng có những hạn chế nhất định: Việc ngoại sinh hóa một biến sẽ loại bỏ tất cả các ảnh hưởng liên quan và thông qua biến đó, đồng thời sẽ không còn vấn đề phân tích phương trình xác định biến đó; do đó khi nội sinh hoá trở lại biến đó, sẽ lại phát sinh nhiều vấn đề nan giải.
            Ví dụ trong mô hình của chúng ta, nếu trong quá trình giải mà xuất hiện trường hợp biến DEMI có giá trị âm, người ta cố định DEMI bằng giá trị quan sát của nó (DEMI trở thành biến ngoại sinh); sau đó chạy lại mô hình để xem các biến khác thay đổi như thế nào, có biến nào thay DEMI mang giá trị âm không ?... từ đó dò tìm nguyên nhân làm cho DEMI âm.
- Thay đổi thời kỳ mô phỏng (áp dụng trong mọi trường hợp khó khăn):
Trong trường hợp này, cần nghiên cứu xem vấn đề xảy ra là chung hay chỉ trong một số giai đoạn. Để làm được điều đó, cần tiến hành mô phỏng trong các thời kỳ khác nhau để phân tích đặc điểm của hiện tượng trong từng giai đoạn đặc thù và rút ra những thông tin hữu ích liên quan đến các vấn đề nảy sinh nhằm đề ra cách xử lý. Cách kiểm tra này rất hữu ích khi xẩy ra hiện tượng tăng trưởng kinh tế quá chậm, lạm phát quá cao, sử dụng quá nhiều lao động...
- Thay đổi các hệ số:
Bằng cách thay đổi một số hệ số được coi là chiến lược, người ta có thểthiết lập được mối quan hệ giữa các hệ số này và mức độ phức tạp của vấn đề cần xử lý. Các hệ số chiến lược có thể là hệ số chiếm vị trí quan trọng trong mô hình và làm cho mô hình không hội tụ; hoặc chúng xuất hiện cùng với sai số quá lớn đang phải xử lý (khi mô hình không hội tụ và sai số đã được xác định).
Tuy nhiên phương pháp này cũng chưa cho phép xác định rõ nguồn gốc của vấn đề vì nguồn gốc thường nằm ở khá xa phía trên. Vấn đề khác là phân tích những thông tin thu được như thế nào ? nếu không cố định trước hệ số theo giá trị đảm bảo mô hình hội tụ.
Ví dụ trong mô hình của chúng ta, nếu trong quá trình giải mà xuất hiện giá trị âm của DEMI, người ta có thể giảm hệ số a trong phương trình (5): Log(IMPOR) = a Log(DEMI) + b. Khi đó, phần nhập khẩu trong tổng cầu sẽ giảm đi, từ đó cho phép tăng DEMI bằng cách tăng các hoạt động sản xuất kinh doanh trong nước.
Tuy nhiên, nếu cho a một giá trị thấp chưa đạt yêu cầu hoặc một giá trị không thể chấp nhận được thì có thể tình trạng DEMI âm sẽ vẫn tồn tại và việc sử dụng kỹ thuật này sẽ không mang lại thông tin hữu ích để từ đó cải tiến mô hình và làm cho mô hình hội tụ.
- Tính toán các giá trị riêng (g/y) khi sử dụng thuật toán Gauss-Seidel (áp dụng trong mọi trường hợp khó khăn):
Các giá trị riêng tạo ra đặc điểm của quá trình hội tụ, do đó việc tính toán chúng có thể làm lộ ra những chỗ là nguyên nhân của hiện tượng không hội tụ, ví dụ cường độ và số quá trình phân kỳ, sự tồn tại của một số chu trình quẩn...
Việc tiếp theo là khai thác thông tin này như thế nào để cải tiến quá trình giải mô hình ? Trên thực tế, có thể thực hiện bằng cách loại bỏ dần các ảnh hưởng của khối, biến xoáy tương ứng với các giá trị riêng để giảm bớt độ phức tạp của các chu trình. Cách làm này cũng giống với đề xuất của Deleau và Malgrange khi phân tích tính chất động của các mô hình. Trong trường hợp tốt nhất, người ta sẽ tìm thấy một sự kết hợp giữa từng quá trình phân kỳ và một biến xoáy được xác định cụ thể. Khi đó, hướng xử lý để mô hình hội tụ sẽ rõ ràng hơn.
Tóm lại, như chúng ta đã hình dung, việc tìm lời giải của một mô hình kinh tế lượng tương đối phức tạp không phải là vấn đề đơn giản, nhất là khi tồn tại những quan hệ chồng chéo xuất phát từ những biến xoáy trong mô hình. Do vậy, thường phải sử dụng nhiều thuật toán và kỹ thuật khác nhau đồng thời phải nghiên cứu kỹ cơ cấu lô gíc của mô hình.
Điểm cuối cùng cần nhấn mạnh là người lập và giải mô hình phải nắm và hiểu rất rõ mô hình của mình, đặc biệt là khi kích thước của mô hình tăng lên.

1 nhận xét:

  1. Tôi thường được blog kinh tế, tài chính, tình cờ bấm đường link sang đây gặp bài này hay quá, tôi viết email nhờ anh cho xin bản gốc được không ?

    Trả lờiXóa