Có một số bạn email hỏi tôi có cách nào nội suy (interpolate) số liệu GDP quí (hoặc một chuỗi macro nào đó) thành số theo tháng không. Hầu hết các bạn có nhu cầu này đều muốn ước lượng (estimate) một mô hình kinh tế lượng (time series) nào đó nhưng chuỗi GDP quí quá ngắn nên muốn sử dụng chuỗi theo tháng để tăng số observation (điểm quan sát?). Đa số các chuyên gia kinh tế lượng sẽ cho rằng không nên làm như vậy ngay cả khi có số liệu GDP tháng. Có rất nhiều lý do để không nên chuyển từ mô hình quí sang tháng nhưng hai lý do chính là noise vs signal và structural rigidity.
Lý do thứ nhất thuần tuý là vấn đề thống kê và không chỉ giới hạn trong kinh tế/tài chính. Hầu hết các chuỗi số liệu time series có đặc tính chung là khi frequency tăng lên thì tỷ lệ noise/signal cũng tăng lên, do vậy information content[*] của số liệu giảm xuống. Vấn đề này càng nghiêm trọng đối với các chuỗi số liệu macro vì sai số đo đạc và tổng hợp (measurement & aggregation errors) lớn hơn nhiều số liệu tài chính hay các ngành khoa học khác. Để giảm noise người ta có thể sử dụng một số statistical filters, vd moving average hay một số smoothing techniques. Tuy nhiên những biện pháp này thường dẫn đến một số vấn đề phức tạp khác như làm thay đổi auto correlation structure của chuỗi số liệu hay làm mất một số observation ở đầu và/hoặc cuối chuỗi. Ngoài ra các giải pháp thuần tuý thống kê như vậy không làm tăng information content nên về bản chất không giúp gì cho việc ước lượng/kiểm định mô hình lý thuyết.
Lý do thứ hai thiên về bản chất kinh tế. Một hệ thống kinh tế có quán tính rất lớn nên trong một khoảng thời gian ngắn (vd tháng, tuần) các biến số macro không thể thay đổi nhiều dẫn đến việc sử dụng high frequency data không có ý nghĩa. Nhiều nhà kinh tế cho rằng với những mô hình sử dụng số liệu macro, annual frequency có lẽ là hợp lý nhất. Tuy nhiên vì các chuỗi số liệu năm thường ngắn nên họ phải chấp nhận sử dụng số liệu quí dù như vậy chưa phải tối ưu. Frequency ngắn hơn quí hầu như chỉ sử dụng cho số liệu tài chính hoặc môt số trường hợp hãn hữu khi mô hình kinh tế liên quan đến số liệu nominal (vd lạm phát, lãi suất, tỷ giá). Mô hình kinh tế phải phản ánh ở một mức độ nhất định thực tế decision making của các economic agents (policy maker, doanh nghiệp, người tiêu dùng) và sự tương tác của họ trong các social/economic institutions. Đa số các doanh nghiệp không thể thay đổi kế hoạch kinh doanh hàng tháng chứ đừng nói hàng tuần, policy maker cũng vậy. Người tiêu dùng có thể có decision making frequency ngắn hơn nhưng họ có nhiều constraint dài hạn như việc làm, gia đình.
Tóm lại nếu bạn cần ước lượng một mô hình macro đừng nghĩ rằng sử dụng số liệu tháng sẽ tốt hơn ngay cả khi cơ quan thống kê cung cấp loại số liệu này. Trong trường hợp những chuỗi số macro chỉ được thống kê theo quí, cố gắng biến đổi chúng thành số liệu tháng còn tệ hơn vì có thể bạn không thêm được information content mà thậm chí còn làm distort chuỗi số liệu gốc bởi các kỹ thuật interpolation. Nếu chẳng may bạn chỉ có thể kiếm được số liệu quí rất ngắn không đủ để ước lượng mô hình quí, đừng cố gắng biến những dữ liệu này thành tháng để có thêm observations. Thà phải chấp nhận nghiên cứu của mình đi vào ngõ cụt còn hơn dựa vào một giải pháp mà ngay từ bản chất đã sai. Nói như thế không có nghĩa là data interpolation vô dụng hoặc không có ý nghĩa. Trong một số trường hợp người ta vẫn cần phải biến các chuỗi số liệu có frequency thấp (vd năm, quí) thành chuỗi có frequency cao (tháng/tuần/ngày). Ở Mỹ có một công ty tư vấn chuyên tính và cung cấp số liệu GDP theo tháng cho khách hàng. Bài viết này giới thiệu với các bạn một số phương pháp interpolation cơ bản đã và đang được áp dụng cho số liệu kinh tế.
[*]: Tôi không biết dịch chữ "information content" như thế nào cho chính xác. Thuật ngữ này có nghĩa là khối lượng thông tin hữu ích cho nhu cầu nghiên cứu mà bạn có thể bóc tách được từ một chuỗi/tập hợp số liệu thô ban đầu. Lấy ví dụ bạn có thể do chiều dài một cái bàn hàng nghìn lần (large data) nhưng information content hầu như không tăng lên bao nhiêu so với nếu chỉ đo một vài lần (small data). Một ví dụ khác là 2 bình luận viên bóng đá có có số lượng câu bình luận như nhau (same size data sets) trong một trận đấu nhưng một người chỉ toàn nói những câu sáo rỗng thì information content rất thấp so với người kia phân tích được chiến thuật của từng đội.
1. Simple interpolation
Phương pháp interpolation đầu tiên và đơn giản nhất chuyển từ số liệu quí sang tháng là gán giá trị của quí trước cho tất cả các tháng trong quí hiện tại. Lấy ví dụ giá nhà trung bình của quí trước là $1000/m2 (giả sử giá nhà chỉ được thống kê hàng quí) thì giá trị nội suy cho mỗi tháng sau đó theo phương pháp này là $1000/m2. Nếu số liệu được cộng dồn theo thời gian (flow value) thì phải hiệu chỉnh cho độ dài của từng giai đoạn. Ví dụ nếu tổng số xe hơi được bán ra trong quí trước là 300 chiếc thì giá trị nội suy cho mỗi tháng trong quí này là 100 chiếc.
Bạn có thể cười cho rằng phương pháp này quá đơn giản và không chính xác nên chẳng ai sử dụng bao giờ. Trên thực tế với những trường hợp không cần độ chính xác cao hoặc khó sử dụng những phương pháp interpolation khác người ta vẫn chấp nhận cách thức này. Ví dụ chúng ta thường xuyên nói dân số VN là 90 triệu, thực ra con số đó là interpolation từ thống kê/ước lượng dân số gần nhất của VN. Nhiều con số thống kê như GDP per capita, employment/population ratio cũng ngầm sử dụng cách thức interpolation dân số này khi tính toán. Trong tài chính có thể kể những ví dụ như PE ratio, dividend yield, price/book ratio...
Một trong những khiếm khuyết quan trọng của cách intepolation đơn giản này là giá trị được interpolated ở các thời điểm ngay trước khi có số thống kê chính thức sẽ bị gián đoạn (non-continuous). Quay lại ví dụ giá nhà bên trên, giả sử quí trước giá nhà là $1000/m2 và quí tiếp theo giá tăng lên $1300/m2. Như vậy trong 3 tháng liên tục giá nhà là $1000/m2 rồi bất ngờ "jump" lên $1300/m2 rồi lại giữ nguyên trong 3 tháng tiếp theo. Điều này có thể gây ra một số khó khăn cho việc ước lượng mô hình và đặc biệt là sai số lớn trong dự báo. Phương pháp thứ hai giải quyết được vấn đề này.
2. Linear interpolation
Đây cũng là một phương pháp khá đơn giản, bạn chỉ cần kẻ một đường thẳng nối giá trị của 2 quí rồi nội suy giá trị của các tháng bên trong khoảng thời gian giữa 2 quí đó. Trong ví dụ giá nhà bên trên, giá nhà của 3 tháng tiếp theo sẽ là $1100, $1200, và $1300. Như vậy thay vì giả định giá nhà không đổi từ quí này sang quí khác chúng ta giả định tốc độ tăng giá không đổi (đạo hàm bậc nhất không đổi). Đây là phương pháp interpolation được sử dụng rất rộng rãi, nhiều phần mềm thống kê (vd Eviews) sử dụng như default option khi phải interpolate số liệu.
Mặc dù phương pháp này giải quyết được vấn đề "jump" ở các điểm nối nó vẫn còn nhược điểm là đạo hàm bậc nhất không liên tục ở các điểm này. Lấy ví dụ ở thời điểm t, t+1, t+2 chuỗi giá trị quí là 0, 1, 0 thì tốc độ thay đổi (đạo hàm bậc nhất) giữa t và t+1 bằng 1, trong khi giữa t+1 và t+2 bằng -1, nghĩa là giá trị này không liên tục (non-continuous) ở các điểm nối (đạo hàm bậc 2 bị jump). Điều này có thể ảnh hưởng đến một số mô hình tài chính (sử dụng lý thuyết continuous time) và cũng ảnh hưởng đến khả năng dự báo của mô hình. Phương pháp tiếp theo giải quyết được vấn đề này.
3. Polynomial splines
Trong phương pháp thứ hai bên trên một đường thẳng nối 2 điểm có thể coi là một polynomial bậc nhất (hàm bậc nhất là một đường thẳng). Nếu thay vì sử dụng bậc nhất chúng ta sử dụng các bậc cao hơn, phổ biến nhất là bậc ba, thì có thể ép các hàm bậc ba này có đạo hàm bậc nhất ở các điểm nối bằng nhau. Phương pháp này thường được biết đến với tên gọi "cubic spline", rất phổ biến trong cách ngành kỹ thuật. Đồ thị dưới đây cho thấy sự khác biệt giữa linear và cubic spline interpolation.
Cả ba phương pháp trên có thể xếp vào nhóm non-stochastic interpolation, tức là quá trình nội suy không có bất kỳ yếu tố ngẫu nhiên (random) nào ảnh hưởng. Một đặc điểm chung nữa của nhóm interpolation này là information content của chuỗi số liệu không tăng (ngoại trừ một số trường hợp đặc biệt) vì chúng ta không đem thêm thông tin gì mới vào mô hình. Phương pháp tiếp theo đi theo một hướng hoàn toàn khác.
4. Related variable regression
Để đưa thêm information content vào chuỗi số liệu được interpolate, vd GDP tháng biến đổi từ GDP quí, nhất thiết bạn phải cung cấp thêm một/vài biến số khác. Cách đơn giản nhất là sử dụng một mô hình regression bình thường cho chuỗi số liệu quí với các biến độc lập là chuỗi số liệu tháng đã được cộng dồn. Ví dụ bạn có số liệu số xe máy được bán ra hàng tháng, X_t, bạn có thể cộng từng 3 tháng lại để có số xe máy bán ra theo quí, X_q. Sau đó regress GDP quí (Y_q) theo X_q để xác định các hệ số alpha và beta: Y_q = alpha + beta*X_q + epsilon.
Với những hệ số của mô hình đã được ước lượng có thể dễ dàng tính ra Y_t dựa vào giá trị tháng của X_t. Tuy nhiên những giá trị Y_t này chưa phải là ước lượng GDP tháng mà bạn cần vì tổng của chúng sẽ khác với Y_q (bằng sai số epsilon). Bạn cần thêm một số giả định để phân bổ sai số epsilon cho từng Y_t trong một quí, vd chia đều epsilon cho mỗi tháng hay chia theo tỷ lệ variance của mỗi X_t. Phương pháp interpolation này dù đưa thêm information content vào chuỗi số liệu được nội suy nhưng có nhược điểm là các giá trị nội suy không phản ánh được dynamic (cấu trúc chuyển động) của các biến X_t trong từng quí. Vấn đề dynamic này được khắc phục bằng cách đưa vào mô hình một số giả định ARMA như trong phương pháp tiếp theo.
5. State-Space interpolation
Nếu chúng ta coi GDP quí (hay một biến vĩ mô nào đó) chỉ đơn thuần là tổng của các hoạt động kinh tế trong một quí thì chỉ số này có thể tính cho bất kỳ một khoảng thời gian ngắn hơn quí, vd tháng, tuần, thậm chí hàng ngày. Tất nhiên trên thực tế vì chi phí quá lớn và không cần thiết (như đã nói bên trên) nên các cơ quan thống kê chỉ tính GDP cho từng quí. Như vậy chúng ta có thể coi GDP quí là một số snapshot cho một chuỗi GDP có frequency cao hơn (quí, tuần, ngày) mà chúng ta không observe được (thuật ngữ chuyên môn gọi là latent variable). Cách hiểu này rất phù hợp với mô hình state-space được sử dụng rộng rãi trong các ngành kỹ thuật và gần đây đã được đưa vào kinh tế lượng.
Về căn bản mô hình state-space có 2 phương trình state và space. Phương trình thứ nhất biểu diễn quan hệ giữa latent variable, hay còn gọi là state variable, (trong trường hợp này là GDP tháng) với observed variable, còn gọi là space variable (GDP quí). Phương trình thứ hai biểu diễn những giả định về dynamic của latent variable, vd AR(p). Cả hai phương trình này có thể bao gồm một số random errors phản ánh tính chất ngẫu nhiên của hệ thống. Mô hình state-space phổ biến nhất có dạng linear, nghĩa là các phương trình đều là bậc nhất của các biến và error terms, và các error terms có phân bổ Gaussian. Mô hình state-space này thường được estimate bằng Kalman filter, một phương pháp iteration cập nhật thông tin sau mỗi bước.
Y_q = A*X_q + B*epsilon (space equation)
X_q = C*X_q-1 + D*theta (state equation), trong đó X_q là một vector của Y_t
Sau khi những hệ số A, B, C, D (và covariance matrix của epsilon và theta) được xác định chúng ta dễ dàng tính được X_q, nghĩa là các latent X_t (GDP tháng) dựa vào một giả định giá trị của X_0 (GDP tháng đầu tiên). Lưu ý phương pháp này đưa yếu tố dynamic vào nhưng loại bỏ các related variables, nghĩa là không thêm information content cho mô hình. Tất nhiên có thể khắc phục điều này dễ dàng bằng một mô hình state-space có exogenous variables.
6. Nowcasting
Nowcasting là thuật ngữ chỉ quá trình ước lượng giá trị của một biến số nào đó ở thời điểm hiện tại (forecast là ước lượng giá trị ở một thời điểm trong tương lai, backcast là một thời điểm trong quá khứ). Mặc dù về mặt lý thuyết nowcasting khác với interpolation nhưng trên thực tế nhiều khi người ta interpolate một chuỗi số liệu quí thành tháng chỉ vì mục đích muốn biết giá trị hiện tại của chuỗi số liệu quí là bao nhiêu mặc dù chưa đến cuối quí hoặc vì cơ quan thống kê chậm công bố số liệu quí. Sau đây là tóm tắt sơ lược 2 phương pháp phổ biến của kỹ thuật nowcasting, cả hai phương pháp này đều sử dụng các related variable nên đều đưa thêm information content vào mô hình.
6.1 MIDAS
MIDAS là viết tắt của Mixed Data Sampling, một kỹ thuật cho phép xây dựng và ước lượng một mô hình với các biến số có frequency khác nhau, vd mô hình bao gồm GDP theo quí và CPI theo tháng, stock price theo ngày. Về cơ bản MIDAS sử dụng distributed lags đê rút gọn các biến có high frequency thành một số nhỏ parameter rồi estimate song song với biến có low frequency. Lấy ví dụ một mô hình có GDP theo quí (Y_q) và CPI theo tháng (P_m) sẽ được viết như sau:
Y_q = alpha + gamma1(theta)*P_q(m=1) + gamma2(theta)*P_q(m=2) + gamma3(theta)*P_q(m=3) + epsilon
trong đó gamma là các hàm số phụ thuộc vào một vài parameter theta. Nếu biến P bên vế phải có daily frequency thì mô hình trên sẽ có khoảng 66 hàm gamma nhưng số paramter theta vẫn không đổi, do vậy bạn có thể mix rất nhiều frequency với nhau mà không làm tăng số lượng parameter phải estimate. Sau khi mô hình trên được ước lượng bạn có thể nowcast giá trị của Y ngay khi có giá trị của P. (Lưu ý: bạn có thể thay đổi index của chuỗi P, vd m=2, m=3, m=4, để các giá trị nowcast có thể tính được khi chưa hết quí).
6.2 MF-Factor VAR
MF viết tắt của mixed frequency, còn factor là thuật ngữ chỉ những biến số không tồn tại trên thực tế (latent) nhưng có ảnh hưởng đến các biến số khác đo đạc được. Ví dụ bạn có một bộ số liệu có 10 biến số có correlation rất cao với nhau bạn có thể sử dụng một số kỹ thuật như PCA để ước lượng một vài factor có ảnh hưởng chung đến 10 chuỗi số liệu đó. Điểm đặc biệt của phương pháp này là kết hơp các biến số có frequency khác nhau (nên gọi là MF) trong một hệ state-space như đã giải thích bên trên để tính ra một số factor chung. Phương pháp Kalman filter được sử dụng để ước lượng hệ state-space này và các chuỗi có low frequency sẽ được coi như có missing value (vd chuỗi GDP quí sẽ được coi là một chuỗi tháng trong đó cứ 3 tháng thì có 2 tháng là missing value). Sau khi các factor đã được ước lượng bạn có thể tính được giá trị của các biến đầu vào dựa vào các factor và factor loading (trọng số của mỗi factor ảnh hưởng vào biến đầu vào).
7. Reference
Bài viết này có mục đích giúp các bạn một cái nhìn tổng quát về các phương pháp interpolation, bạn nào muốn tìm hiểu kỹ hơn, nhất là muốn áp dụng cho số liệu thực tế nên tham khảo các paper dưới đây:
Aruoba, S., F. Diebold, and C. Scotti (2008): \Real-Time measurement of business conditions, Second version," PIER Working Paper, Archive No. 11, Penn Institute for Economic Research, Department of
Economics, University of Pennsylvania.
Banbura M, Giannone D, Modugno, M., Reichlin L. 2012. Now-casting and the real time data flow, CEPR WP 9112
Chow, G., and A. Lin (1971): \Best linear unbiased interpolation, distribution, and extrapolation of time series by related series," The Review of Economics and Statistics, 53(4), 372{375.
Claudia Foroni & Massimiliano Marcellino, 2013. "A survey of econometric methods for mixed frequency data," Working Paper 2013/06, Norges Bank.
Cuche, N., and M. Hess (2000): \Estimating monthly GDP in a general Kalman ¯lter framework: Evidence from Switzerland," Economic & Financial Modelling, 7, 153.
Ghysels, E., P. Santa-Clara, and R. Valkanov (2004): The MIDAS touch: MIxed DAta Sampling regression models," mimeo, Chapel Hill, N.C.
Harvey, A., and R. Pierse (1984): Estimating missing observations in economic time series," Journal of the American Statistical Association, 79(385), 125
Wohlrabe, K. (2009): "Forecasting with Mixed-frequency Time Series Models, Ph.D. dissertation, University Munich