Như đã đề cập ở chương 2 và chương 3, trong quy trình khám phá tri thức công đoạn tiền xử lý dữ liệu là một bước rất quan trọng, làm nền tảng cho các giải thuật khai phá dữ liệu. Tuy nhiên thông thường trước khi thực hiện công đoạn này, người ta thường chuyển đổi dữ liệu cho phù hợp với tính chất và đặc điểm cần khai phá. Đối với các đối tượng biến đổi theo thời gian thì yêu cầu là phải tính đến khía cạnh thời gian khi thực hiện khai phá, có nghĩa là cần phả chuyển các dữ liệu ban đầu về các “tiết diện” thời gian khác nhau để kết hợp phân tích, mà thực chất là chuyển chúng về dưới dạng cấu trúc khoảng thời gian (Interval). Để làm điều đó ta phải dựa vào tính chất của đối tượng biến đổi. Cụ thể đối với chỉ số chứng khoán thì giá Open phản ánh giá khởi điểm của phiên giao dịch, giá Close phản ánh giá trị kết thúc một phiên giao dịch, giá Hight phản ánh giá trị lớn nhất trong phiên giao dịch, còn giá Low phản ánh giá trị nhỏ nhất. Khi đó chẳng hạn tao muốn chuyển đổi dữ liệu từ dạng 1 ngày (dữ liệu thô ban đầu) sang dữ liệu của Interval 5 ngày ta sẽ phải thực hiện như sau:
Giả sử ta có tập giá trị của 5 ngày giao dịch đầu tiên lần lượt là Day1 : (Open1, Hight1, Low1, Close1).
Day2: (Open2, Hight2, Low2,Close2). Day3: (Open3, Hight3, Low3 ,Close3). Day4: (Open4, Hight4, Low4, Close4). Day5: (Open5, Hight5, Low5, Close5).
Thì khi đó bộ giá trị đầu tiên ứng với Interval 5 ngày sẽ là :
(Open1, Max(Hight1, Hight2, Hight3, Hight4, Hight5), Min(Low1, Low2, Low3, Low4, Low5), Close5).
Chú ý: Nếu ngày thứ nhất không có giao dịch thì giá trị Open của Interval sẽ được lấy sang giá trị Open của ngày thứ hai, còn nếu ngày thứ 5 không có giao dịch thì giá trị Close của Interval sẽ được lấy sang giá trị Close của ngày thứ 4. Cứ như vậy với việc chuyển các mốc Interval ta sẽ chuyển dữ liệu ban đầu về dữ liệu ứng với các khoảng thời gian khác nhau.
Thực chất của quá trình tiền xử lý dữ liệu chính là lọc dữ liệu nhằm nhận được các dữ liệu “sạch” với càng ít các nhiễu hay tạp chất càng tốt. Giả sử dữ liệu thô araw( )n bao gồm tín hiệu của xu
( ) ( ) ( )n a n en araw = + (4.2)
Thủ thuật làm sạch thực chất là tìm ra a∧( )n là sấp xỉ gần đúng của a( )n . Để làm được điều đó chúng ta phải phân biệt được a( )n và e( )n . Tín hiệu nhiễu nó có tính chất ngẫu nhiên, và hàng ngày chịu tác động của rất nhiều các yếu tố từ các nguồn khác nhau. Ngược lại tín hiệu dài hạn thì ổn định và chịu tác động của rất ít các yếu tố. Nếu áp dụng khai triển Fourier (biểu diễn tín hiệu thành một dãy các sóng hình sin), chúng ta sẽ nhận thấy rằng, tín hiệu dài hạn a( )n được xây dựng chủ yếu từ
các sóng có tần số thấp (thay đổi chậm theo thời gian), trong khi đó tín hiệu nhiễu lại được xây dựng từ sóng có tần số cao (thay đổi nhanh theo thời gian) . Do vậy thông thường để làm sạch dữ liệu người ta thường sử dụng thủ thuật lọc tần số thấp (Low Pass Filter - LPF). Có rất nhiều phương pháp lọc tần số thấp trong lĩnh vực thời gian và tần số, như: phương pháp trung bình trượt đơn giản, trung bình trượt có trọng số … Đại đa số các nhà phân tích hiện nay lựa chọn phương pháp làm trơn hàm mũ mà thực chất là việc tìm trung bình trượt hàm mũ EMA (Exponential Moving Average) với công thức hồi quy như sau:
( )t X( ) (t 1 ) Y(t t)
Y =α• + −α • −∆ (4.3)
Với, α ∈[ ]0;1 được gọi là hằng số làm trơn (hay trọng số),Y( )t là giá trị cần làm trơn tại thời điểm t, Y(t−∆t)là giá trị đã làm trơn ở thời điểm (t−∆t), X( )t là dữ liệu thô tại thời điểm t.
Về mặt tính toán, phương pháp này yêu cầu số lượng tính toán ít góp phần làm tăng tốc độ trong quá trình phân tích dữ liệu. Còn về mặt phân tích khi biểu diễn trên đố thị thì đường trung bình trượt số mũ bám theo xu hướng biến đổi trơn hơn các phương pháp khác, đồng thời số điểm nhảy và điểm trễ cũng ít hơn [7], điều đó rất thuật tiện cho việc phân tích hệ đồ thị biến đổi của đối tượng quan sát.
Để chọn hệ số α cho quá trình lọc dữ liệu, người ta dựa vào đặc điểm của mối liên hệ của đối tượng quan sát giữa các chu kỳ kế tiếp nhau (khoảng thời gian liền kề nhau). Do các đối tượng biến đổi theo thời gian thường có tính chất là: sự biến đổi của các chu kỳ trước có ảnh hưởng nhất định lên các chu kỳ tiếp theo, do đó các nhà phân tích dữ liệu thường sử dụng các giá trị của dãy số Fibonacci để thiết lập hệ số α .
Trong bài toán chúng ta sẽ chọn = 1,T∈{8,13,55}
T
α . ở đây sở dĩ ta chọn tập hợp 3 giá trị bởi vì khi phân tích xu hướng biến đổi của các đối tượng biến đổi theo thời gian chúng ta cần phải kết hợp thành phần tĩnh (giá trị α nhỏ - T =55) của xu hướng khi đó đường dữ liệu sau lọc sẽ phản ánh xu hướng dài hạn, và thành phần động (giá trị α lớn - T =( )8,13 ) khi đó đường dữ liệu sau lọc bám
theo đường dữ liệu thô dưới dạng đường cong trơn. Và ta có thể chuyển về công thức lọc dữ liệu cụ thể như sau: ( )t 1 ( ) 1EMA(t- t) EMA = + − ∆ T T t Close T (4.4)
Ở đây: Close(t)là giá đóng tại thời điểm t, EMA( )t là giá trị trung bình trượt số mũ tại thời điểm t, EMA(t-∆t) là giá trị trung bình trượt số mũ tại thời điểm t−∆t.
Khi áp dụng phương pháp này vào thì trường FOREX, ta nhận được kết quả như hình 4.1:
Hình 4.1: Trung bình trượt hàm mũ
Trên hình 4.1, thể hiện đường trung bình trượt giá đóng của cặp chỉ số tiền tệ EUR-USD với khoảng thời gian 15 phút, đường mầu đen là đường trung bình trượt hàm mũ với chu kỳ T =55, còn đường mầu xanh và màu đỏ là đường với chu kỳ T =( )8,13 . Đối với thị trường FOREX các phiên giao dịch được thực hiện theo đơn vị thời gian là phút, do đó khi phân tích dữ liệu của thị trường này các khoảng thời gian đưa vào phân tích cần tuân theo quy tắc: các khoảng thời gian cần cách nhâu một số lần nào đó, vì vậy chúng ta sẽ chọn ∆t∈{1,'5,'15,'1h,4h,1day}.