September 23, 2013

Data interpolation

Lê Hồng Giang

Data interpolation


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ấnchuyê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.


(còn tiếp)

No comments:

Post a Comment