Trong hệ thống thời gian thực của bạn là thời gian quan sát không đồng nhất và dữ liệu không cố định? Nếu bạn muốn một cái gì đó đơn giản và nhanh chóng, tôi khuyên bạn nên sử dụng các toán tử loại EMA không đồng nhất:
Toán tử trên chuỗi thời gian không đồng nhất
Họ cập nhật EMA ( ) với mỗi quan sát mới theo,value
giá trị+ = α( newData - giá trị ) ,α = 1 - điểm kinh nghiệm( - Δ tτ)
với một tham số làm mịn / điều chỉnh. Đó là một cách đơn giản để ước tính một kỳ vọng.τ
Ngoài ra người ta có thể tạo một ước tính trung bình trực tuyến đơn giản thông qua bản cập nhật
sgtrung bình += s gn ( newData - med )= ϵ( sg - med )
Trong thực tế, bạn muốn nhỏ (hoặc phân rã với nhiều quan sát hơn). Lý tưởng nhất là nên phụ thuộc vào mức độ sai lệch của các bản cập nhật; tức là nếu thực sự bằng trung vị thì phải đồng nhất trên . Sau đó, bạn có thể mở rộng cấu trúc này thành cấu trúc loại cây nhị phân cân bằng độ sâu để có được lượng tử cách đều nhau.ϵ med sg { - 1 , 1 } d 2 d + 1 - 1εϵmedsg{−1,1}d2d+1−1
Sự kết hợp của những điều trên sẽ cung cấp cho bạn một sự phân phối dữ liệu trực tuyến hợp lý. Cây rất khó để lấy đúng, tôi có triển khai cả hai trong C ++ nếu bạn quan tâm. Tôi sử dụng cả hai trong thực tế rất nhiều (dữ liệu đánh dấu thời gian thực tài chính) và chúng đã hoạt động tốt.