Dự đoán dựa theo hàm phi tuyến

Một phần của tài liệu Một số kỹ thuật dự báo vị trí và truy vấn các đối tượng chuyển động trong cơ sở dữ liệu không gian thời gian (Trang 38)

c. Tính riêng tư

2.1.2.Dự đoán dựa theo hàm phi tuyến

Trong thực tế, chuyển động của các đối tượng thường là phi tuyến. Trong mô hình phi tuyến, chuyển động của đối tượng được biểu diễn bởi các hàm toán học phức tạp hơn vì vậy độ chính xác dự đoán sẽ cao hơn mô hình tuyến tính. Tuy nhiên, việc thường áp dụng mô hình tuyến tính cho chuyển động trong thực tế được lý giải theo hai cách: (i) thứ nhất là để tránh sự phức tạp của mô hình chuyển động phi tuyến, đồng thời cho phép phân tích một số vấn đề của bài toán không gian-thời gian mà nếu không áp dụng thì sẽ trở thành rất khó giải quyết, (ii) thứ hai là sử dụng phân đoạn tuyến tính thông minh (piece-wise line segments) có thể xấp xỉ bất kỳ chuyển động phi tuyến nào thành tuyến tính. Tuy nhiên khi sử dụng phương pháp phân đoạn tuyến tính thông minh này sẽ dẫn đến dự đoán sai trong rất nhiều trường hợp. Hình 2.1

37

dưới đây mô tả sự bất cập của dự đoán tuyến tính khi dùng phương pháp phân đoạn tuyến tính thông minh.

Hình 2.1. Dự đoán sai của mô hình tuyến tính

Trong hình này, đường cong đen đậm biểu diễn đường di chuyển thực tế của đối tượng O với 6 thời điểm cập nhật vị trí (các điểm đen), bắt đầu từ vị trí o(0). Xem xét truy vấn tại thời điểm 1 dự đoán vị trí của O tại 4 thời điểm sau đó, với phương pháp dự đoán theo hàm tuyến tính lần lượt là 4 điểm trắng trên đường thẳng thứ nhất (tính toán theo vị trí o(0) và o(1)). Tương tự với truy vấn tại thời điểm 2 (tính toán theo vị trí o(1) và o(2)). Vì vậy có thể thấy rằng, cho dù phân đoạn tuyến tính thông minh có thể xấp xỉ đường cong bởi các đường thẳng những không thể áp dụng hiệu quả trong truy vấn dự đoán vị trí, đặc biệt là ở tương lai xa. Hơn nữa, cũng cần lưu ý rằng các đối tượng cần phải cập nhật lại sau mỗi thời điểm nhất định để phản hồi lại việc thay đổi hướng đi liên tục.

Thuật ngữ kiểu chuyển động hay mẫu hình di chuyển được sử dụng để biểu thị các dạng chung của hàm chuyển động (ví dụ: kiểu tuyến tính, kiểu bậc hai, kiểu tròn) mà không phụ thuộc vào các tham số cụ thể của nó (xem thêm phần 2.2.3). Ví dụ như hai đối tượng chuyển động kiểu tuyến tính theo cùng một mẫu hình cho dù hướng hay vận tốc của nó khác nhau. Những nỗ lực để giải quyết vấn đề trên là để áp dụng cho những kiểu chuyển động phức tạp hơn. Chẳng hạn có thể biểu diễn chuyển động của đối tượng dưới dạng phương

38

trình bậc hai o(t)=o(to)+vo(t−to)+½ao(t−to)2, trong đó vo và ao lần lượt là véc tơ vận tốc và gia tốc của đối tượng O. Phương trình này có tính ứng dụng cao hơn nhưng vẫn không thể biểu diễn được chuyển động cong như ví dụ ở hình 2.1. Và cho dù có tồn tại một hàm mô tả đường cong riêng biệt nào đó, vẫn không thể biểu diễn được các đối tượng khác trong hệ thống do chúng chuyển động theo những mô hình hoàn toàn khác nhau. Nói chung, nỗ lực xây dựng một hàm chuyển động tổng quát cho tất cả các loại chuyển động là phi thực tế. Gọi O là đối tượng có kiểu chuyển động chưa xác định. Giả sử đã có h vị trí thực tế gần đây nhất của O, mục tiêu của chúng ta là xác định hàm chuyển động của O mà đường biểu diễn của nó đi qua chính xác tất cả các vị trí này và đồng thời có thể dự đoán quỹ đạo tiếp theo trong tương lai của O bằng cách sử dụng các chuyển động mẫu đã biết (chuyển động thẳng với vận tốc cố định, chuyển động có gia tốc (nhanh/chậm dần đều), chuyển động cong…).

Hàm chuyển động đệ quy và ma trận chuyển động

Dù quỹ đạo chuyển động của các đối tượng là rất khác nhau, nhưng vị trí của chúng vẫn có thể dự đoán từ những vị trí trước đó trong quá khứ. Điều này có thể thấy rõ ràng nhất trong chuyển động thẳng với vận tốc không đổi v. Vị trí o(t) của đối tượng O có thể xác định như sau:

oo(t) = oo(t−1) + [oo(t−1)−oo(t−2)] = 2oo(t−1)−oo(t−2) (2-2)

Lưu ý là oo(t−1)−oo(t−2) xác định chính xác vận tốc v. Có thể thấy rằng với số lượng lớn các kiểu chuyển động, vị trí oo(t) có thể biểu diễn bởi một hàm tuyến tính của các vị trí trước đó oo(t−1), oo(t−2),… Xem xét tiếp hai kiểu chuyển động mẫu đã biết khác là chuyển động có gia tốc và chuyển động tròn.

Chuyển động có gia tốc

Xem xét chuyển động có gia tốc biểu diễn bởi hàm số sau: o(t) = o(to) + vo(t−to) + ½ ao(t−to)2

39

vo là véc tơ vận tốc tại thời điểm to và ao là gia tốc. Hàm chuyển động này có thể dễ dàng viết lại theo dạng sau:

o(t)=c0 + c1*t + c2 * t2

trong đó: c0, c1, c2 là các véc tơ hằng số 1(chiều) với n là số chiều của không gian dữ liệu.

Áp dụng tại thời điểm (t-1) ta có:

o(t-1)=c0 + c1* (t-1) + c2 * (t-1)2

Lấy hiệu trên cả hai vế của hai biểu thức trên ta loại được c0 và có: o(t) - o(t−1) = c1+2c2 * t – c2

Tương tự, tiếp tục với o(t-1) và o(t-2), ta loại được c1 và có: [o(t) - o(t-1)] - [o(t-1) - o(t-2)] = 2c2

Hằng số c2 có thể loại bỏ bằng cách tương tự như trên, dẫn đến:

o(t) = 3o(t-1) - 3o(t-2) + o(t-3) (2-3)

Nhìn chung, có thể dễ dàng xác định rằng bất kỳ hàm chuyển động dạng đa thức D nào cũng có thể chuyển đổi về dạng tuyến tính lặp sau D+1 bước lấy hiệu như trên.

Chuyển động tròn đều

Xét đối tượng O chuyển động đều trên đường tròn có tâm (c1, c2) và bán kính r với vận tốc góc w. Các tọa độ o(t).x1 và o(t).x2 tại thời điểm t được xác định bởi:

o(t).x1 = c1+ r * cos(ω*t) o(t).x2 = c2 + r * sin(ω *t)

Biến đổi tương tự như ở chuyển động có gia tốc ở trên ta có: o(t) = 1 + cos ( ) −sin ( )

40

Dựa trên những kết quả của biểu thức (2-2), (2-3) và (2-4) này có thể rút ra hàm chuyển động đệ quy như sau: (adsbygoogle = window.adsbygoogle || []).push({});

o(t) = C1* o(t−1) + C2 * o(t−2) + … + Cf * o(t−f) (2-5)

trong đó Ci (1 ≤ if) là ma trận hằng số n×n chiều và f là tham số hệ thống (retrospect). Biểu thức (2-5) hiệu quả hơn nhiều so với các hàm chuyển động thông thường vì nó biểu diễn một lượng lớn các kiểu chuyển động đơn giản và phức tạp (nhờ sự khác nhau của Ci), bao gồm cả chuyển động đa thức, chuyển động cong hình tròn, ê líp hay bầu dục… Rõ ràng, khả năng biểu diễn của biểu thức này càng tăng khi f tăng. Với f bằng 5 có thể mô hình hóa tương đối chính xác hầu hết các loại chuyển động trong thực tế [41].

Biểu thức (2-5) trên có thể tổng quát thành dạng hàm chuyển động đệ quy RMF (Recursive Motion Function). Sử dụng RMF là phương pháp dự đoán khá chính xác. Phương pháp này biểu diễn vị trí l của đối tượng tại thời điểm

t (ký hiệu lt) dưới dạng biểu thức toán học như sau:

= ∗

(2-6)

trong đó ci là ma trận hệ số và f là số tối thiểu các vị trí gần nhất để tính được các phần tử của tất cả ci.

Xét một đối tượng O trong không gian n chiều. Tại thời điểm ti và ti+1 (0 <

i < q), với q là thời điểm truy vấn, vị trí của O được biểu diễn lần lượt bởi các véc tơ PiPi+1 sau:

! = "#, , #,%, … , #,'(

và ! = "#) ) , , #) ,%, … , #) ,'(

Véc tơ dịch chuyển của đối tượng O từ thời điểm ti đến ti+1, ký hiệu δ !,

41

δ

! = "δ , ,δ ,%, … ,δ ,'( = ! − !) (2-7)

Do đó muốn tính !) ta cần xác định véc tơ dịch chuyển δ !.

Dù có nhiều điểm nổi bật nhưng RMF vẫn có những hạn chế. Trước hết RMF chỉ hiệu quả trong việc truy vấn dự đoán vị trí ở tương lai gần. Với truy vấn ở những thời điểm xa hiện tại độ chính xác giảm đi nhanh chóng. Thứ hai ngay cả trong tương lai gần phương pháp này cũng khó dự đoán chính xác được những trường hợp thay đổi hướng một cách đột ngột (rẽ, quay đầu…). Tuy nhiên, với lớp bài toán quản lý thông tin đối tượng chuyển động, độ chính xác không cần quá cao và nghiêng về tăng tốc độ tính toán để phản hồi cho người sử dụng hay ra quyết định nhanh chóng. Có một số kỹ thuật dự đoán theo hàm chuyển động đệ quy hay được sử dụng như SMA và EWMA. Chúng sử dụng các vị trí trong quá khứ của đối tượng để xác định véc tơ dịch chuyển, từ đó dự đoán vị trí của đối tượng ở các thời điểm tiếp theo. SMA và EWMA còn được sử dụng để phát hiện đối tượng chuyển động [62] hay dự đoán biến động trong lĩnh vực tài chính, chứng khoán… Phần tiếp theo dưới đây sẽ giới thiệu ngắn gọn về SMA, EWMA và kỹ thuật đề xuất của nghiên cứu sinh là W-EWMA nhằm tăng tốc độ tính toán cho thuật toán dự đoán.

a. Kỹ thuật dự đoán theo trung bình động đơn giản - SMA

Kỹ thuật dự đoán theo trung bình động đơn giản - SMA (Simple Moving Average) sử dụng các vị trí trong quá khứ của đối tượng để xác định véc tơ dịch chuyển. Theo kỹ thuật này, mỗi δi,k có thể tính bằng cách lấy trung bình của tất cả các δj,k ở các thời điểm trước. Biểu thức tính δi,knhư sau:

(2-8)

Kỹ thuật này cho phép dự đoán được vị trí đối tượng trong tương lai gần. Với thời điểm trong tương lai càng xa thời điểm hiện tại thì càng kém chính

42

xác vì chưa cập nhật được các giá trị δj,kthực tế trong tương lai gần mà chỉ có được qua tính toán bởi công thức trên. Hơn nữa, kỹ thuật này đòi hỏi khối lượng tính toán ngày càng lớn khi giá trị i ngày càng tăng theo thời gian. Độ phức tạp thuật toán là O(n2).

b. Kỹ thuật dự đoán theo trung bình động trọng số mũ - EWMA

Với kỹ thuật dự đoán dựa trên trung bình động đơn giản ở trên, các δj,kđều có mức độ ưu tiên như nhau cho dù giá trị thay đổi này được tính bởi vị trí của đối tượng cách thời điểm hiện tại vài giờ đồng hồ. Dễ dàng nhận thấy rằng trong thực tế, vị trí hiện tại gần như không phụ thuộc hoặc phụ thuộc rất ít vào giá trị thay đổi ở thời điểm quá xa này. Kỹ thuật dự đoán theo trung bình động trọng số mũ - EWMA được áp dụng để giải quyết vấn đề này. EWMA dựa trên nguyên lý đơn giản là độ chính xác trong việc dự đoán vị trí tương lai của đối tượng O phụ thuộc nhiều hơn vào các dữ liệu vị trí gần hiện tại, các dữ liệu vị trí càng xa thời điểm hiện tại thì mức độ ảnh hưởng càng ít. Kỹ thuật này cho phép giảm sai số dự đoán nhờ sử dụng trọng số cho các dữ liệu quá khứ.

EWMA (Exponentially Weighted Moving Average) là một loại bộ lọc sử dụng trọng số giảm theo cấp số nhân (hàm mũ). Trọng số cho dữ liệu càng xa mốc ban đầu càng giảm mạnh (tiến tới 0). Áp dụng bộ lọc EWMA vào kỹ thuật này, mỗi δj,k được gán trọng số αi-j tương ứng (với 0 < α < 1). Như vậy δi càng gần hiện tại thì có trọng số càng lớn (δi-1,kcó trọng số α0=1), δi càng xa thời điểm hiện tại thì có trọng số càng nhỏ (i=1000, α=0.9, α1000=1.75e-46 ~ 0).

Biểu thức tính δ EWMAnhư sau:

(2-9)

Kỹ thuật này cho phép dự đoán được vị trí đối tượng trong tương lai gần. Với trọng số α (0 < α < 1) thêm vào sẽ làm tăng độ chính xác nhất là khi dự đoán đối tượng chuyển động mà ít có biến động về hướng (rẽ, quay đầu). Giá

43 (adsbygoogle = window.adsbygoogle || []).push({});

trị α thường được chọn trong khoảng từ 0.2 đến 0.95 tùy từng ngữ cảnh và từng loại ứng dụng cụ thể. Kỹ thuật này cũng đòi hỏi khối lượng tính toán ngày càng lớn khi giá trị i ngày càng tăng theo thời gian. Độ phức tạp thuật toán là O(n2).

c. Kỹ thuật dự đoán vị trí đối tượng theo mô hình W-EWMA

Như phân tích ở trên, độ chính xác trong việc dự đoán vị trí của đối tượng

O theo hàm chuyển động đệ quy phụ thuộc nhiều hơn vào các dữ liệu vị trí gần hiện tại, các dữ liệu vị trí càng xa thời điểm hiện tại thì mức độ ảnh hưởng càng ít. Chính vì vậy nhằm làm giảm khối lượng tính toán không cần thiết, nghiên cứu sinh đề xuất kỹ thuật dự đoán đặt tên là W-EWMA (Window Exponentially Weighted Moving Average). Theo kỹ thuật này thay vì tính tất cả các δj,k, chỉ tính w bước gần nhất trước đó. Giá trị w được đưa vào để giảm số vòng lặp khi tính véc tơ dịch chuyển δ. Biểu thức tính δW-EWMAnhư sau:

(2-10)

44

Trong kỹ thuật này, độ phức tạp thuật toán là O(n*w), với n là số chiều của không gian dữ liệu, w là hằng số xác định trước. Theo đánh giá của nghiên cứu sinh qua thực nghiệm, lựa chọn w ứng với số mẫu để một đối tượng đi hết độ dài trung bình của tuyến đường trong đô thị là giá trị hợp lý cho các ứng dụng quản lý phương tiện chuyển động trong đô thị:

w = S/(v*f) (2-10a)

Trong đó:

- S là độ dài trung bình của các tuyến đường trên bản đồ (m) - v là vận tốc di chuyển trung bình (m/s)

- f là tần suất cập nhật dữ liệu (s).

Nhìn chung, các ứng dụng quản lý thông tin đối tượng chuyển động thường chỉ cần chính xác vừa đủ hay gần đúng và nghiêng về tăng tốc độ tính toán. Theo đánh giá của nghiên cứu sinh, lựa chọn w trong khoảng từ 5 đến giá trị

Algorithm Cal_W-EWMA Input: = *#, , #,%, … , #,'+

Output: ) = *#) , , #) ,%, … , #) ,'+ 1. w ←a; α← b // initialization w, α

2. Sd = 0; Sa = 0 // initialization Sd, Sa

3. FOR EACH pi,k IN Pi

4. FOR j = i-w to i-1 // windowed 5. δj,k = pj,k – pj-1,k // calculate δ 6. Sd ← Sd + αi-1-j * δj,k 7. Sa ← Sa + αi-1-j 8. END FOR 9. pi+1,k = pi,k +Sd/Sa 10. END FOR 11. ) ← *#) , , #) ,%, … , #) ,'+ 12. RETURN Pi+1 Algorithm End.

45

tính bởi công thức (2-10a) trên là giá trị khởi tạo hợp lý cho loại ứng dụng này. Trong quá trình sử dụng, với các tham số như điều kiện giao thông, mật độ xe cộ… người điều hành có thể điều chỉnh lại cho hợp lý.

Đánh giá độ phức tạp thời gian của các kỹ thuật Kỹ thuật SMA Kỹ thuật EWMA Kỹ thuật W-EWMA1 Độ phức tạp

thời gian O(n

2) O(n2) O(n*w) với w là hằng số Khối lượng tính toán Không sử dụng hàm số mũ Sử dụng hàm số mũ Sử dụng hàm số mũ Thực nghiệm

Sử dụng bộ dữ liệu thực tế được đo đạc bằng thiết bị GPS và phần mềm GPS loggers đi kèm mà đang sử dụng cho dự án OpenGTS™ (1), số lượng mẫu dữ liệu vị trí ~10.000. Tần số lấy mẫu trung bình là 2 giây. Vận tốc chuyển động trung bình của các đối tượng (xe ô tô) là khoảng 10m/s. Độ dài trung bình các tuyến đường là khoảng 500m. Môi trường cài đặt là máy tính PC chạy hệ điều hành Windows 7 (CPU 2GHz, RAM 1GB).

Trong đô thị, đối tượng chuyển động phải di chuyển theo các tuyến đường khác nhau. Điều này sẽ ảnh hưởng đến cả vận tốc và hướng di chuyển, do đó sẽ ảnh hưởng đến kết quả dự đoán theo hàm chuyển động. Lựa chọn các giá trị

w và α cho hợp lý khi xây dựng ứng dụng quản lý thông tin đối tượng chuyển động là rất cần thiết. Vì vậy, nghiên cứu sinh thực hiện bốn thực nghiệm trên bộ dữ liệu nói trên. Hai thực nghiệm đầu sử dụng giá trị w=25 và α = 0.3. Trong đó, giá trị w = 25 là tính theo công thức (2-10a): (w=500/(10*2)=25), tức là

46

ứng với số mẫu để một đối tượng có vận tốc trung bình đi hết độ dài trung bình đoạn đường trong đô thị. Hai thực nghiệm sau sử dụng các giá trị w và α khác nhau để đánh giá.

Thực nghiệm 2-1. So sánh thời gian tính toán

Hình 2.2. So sánh thời gian tính toán của các kỹ thuật dự đoán (adsbygoogle = window.adsbygoogle || []).push({});

Biểu đồ hình 2.2 biểu diễn thời gian tính toán của 3 kỹ thuật dự đoán khi

Một phần của tài liệu Một số kỹ thuật dự báo vị trí và truy vấn các đối tượng chuyển động trong cơ sở dữ liệu không gian thời gian (Trang 38)