Mô hình thống kê để dự đoán động thái tiếp theo trên mạng chỉ sử dụng lịch sử di chuyển


8

Có thể xây dựng một mô hình thống kê dự đoán bước di chuyển tiếp theo trong biểu đồ chỉ dựa trên các chuyển động trong quá khứ và cấu trúc của biểu đồ không?

Tôi đã làm một ví dụ để minh họa vấn đề:

  1. Thời gian là rời rạc . Trong mỗi vòng, bạn sẽ ở lại nút / đỉnh hiện tại hoặc bạn di chuyển đến một trong các nút được kết nối. Vì thời gian là rời rạc và nhiều nhất bạn có thể tiến lên một nút mỗi vòng không có vận tốc.
  2. Lịch sử tuyến đường / chuyển động trong quá khứ: {A, B, C} - Và vị trí hiện tại là: C
  3. Di chuyển hợp lệ tiếp theo: C, B, X, Y, Z

    1. Nếu bạn chọn C, bạn sẽ cố định,
    2. nếu B bạn di chuyển ngược lại,
    3. và nếu X, Y hoặc Z ngụ ý di chuyển về phía trước.
  4. Không có trọng số trên một trong hai liên kết hoặc nút.

  5. Không có nút đích cuối cùng. Một phần của hành vi chuyển động được quan sát là ngẫu nhiên và một phần của nó sẽ có một số tính đều đặn cho nó.

Đồ thị

Một mô hình rất đơn giản - không tính đến lịch sử chuyển động - sẽ chỉ dự đoán rằng C, B, X, Y và Z mỗi cái có xác suất 1/5 là bước tiếp theo.

Nhưng dựa trên cấu trúc và lịch sử chuyển động, tôi đoán có thể tạo ra một mô hình thống kê tốt hơn. Ví dụ X nên có xác suất thấp hơn, vì người ta có thể đã di chuyển trực tiếp từ nút B trong vòng trước. Tương tự B cũng nên có xác suất thấp hơn vì người đó có thể vẫn cố định ở vòng trước.


Nếu người dùng di chuyển sao cho B , sau đó lịch sử phong trào sẽ trông như thế này {A, B, C, B} và di chuyển hợp lệ sẽ là A, B, C, D, E, X . Di chuyển đến C nên có xác suất thấp hơn, vì bạn có thể vẫn cố định. Di chuyển đến X cũng nên có xác suất thấp hơn, vì bạn có thể đã di chuyển từ C trong vòng trước. Lịch sử trước đó cũng có thể ảnh hưởng đến dự đoán, nhưng nên được cân nhắc ít hơn so với lịch sử gần đây - tức là. 2 vòng trước bạn có thể ở lại trong B , hoặc bạn có thể đã chuyển sang A, D, E, X - 3 vòng trước bạn có thể ở lại tại A .


Nhìn xung quanh tôi phát hiện ra rằng những vấn đề tương tự đang phải đối mặt:

  • viễn thông di động, nơi các nhà khai thác cố gắng dự đoán tháp di động nào mà người dùng sẽ chuyển sang kế tiếp để họ có thể chuyển giao cuộc gọi / dữ liệu một cách trơn tru.
  • điều hướng web, nơi trình duyệt / công cụ tìm kiếm cố gắng dự đoán trang nào bạn sẽ đến tiếp theo để họ có thể tải trước và lưu trữ trang, để giảm thời gian chờ. Các ứng dụng bản đồ tương tự cố gắng dự đoán các ô bản đồ bạn sẽ yêu cầu tiếp theo và tải trước các ô này.
  • và tất nhiên là ngành vận tải.

4
Trong trường hợp xác suất không thay đổi theo thời gian, bạn có Chuỗi Markov; trong đó có các phương pháp ước tính khá rõ ràng cho xác suất chuyển tiếp.
Glen_b -Reinstate Monica

Câu trả lời:


2

Bạn có thực sự muốn một mô hình thống kê, hoặc chỉ là một thuật toán để đoán nút tiếp theo được cung cấp cho tất cả các nút trước đó? Nếu sau này xem xét tiến hành như sau.

ABCXYZ

  1. nC(X)CXnC(Y)YnC(Z)ZnC=nC(X)+nC(Y)+nC(Z)κpC(X)= =κ+nC(X)3κ+nC

  2. BCnBC(X)κpBC(X)= =κ+nBC(X)3κ+nBC

  3. pC(),pBC(),pMộtBC(),Giáo dụcplịch sử(W)p()W

κκ= =1


1
CHCBCMộtBC-ΣwpH(w)đăng nhậppH(w)pH(w)

1

Gợi ý cho phiên bản thay đổi không theo thời gian: Bạn có thể coi đây là ước tính xác suất cập nhật (sử dụng định lý Bayes) cho một số dữ liệu. Một khả năng đa phương thức và Dirichlet trước sẽ là cách tiếp cận tiêu chuẩn. https://en.wikipedia.org/wiki/Dirichlet-multinomial_distribution

Đối với ưu tiên có vẻ như bạn muốn xác suất trước chỉ định xác suất chuyển đổi bằng nhau cho mỗi nút có thể.

Để thêm vào các hiệu ứng của thời gian (các bản dịch cũ hơn ít quan trọng hơn các bản mới hơn) thì phức tạp hơn. Bạn có thể thêm vào một hàm phân rã để bạn có được các phần chuyển tiếp.

Nói chung, cấu trúc của sơ đồ sẽ không cho bạn biết gì về xác suất chuyển tiếp.


1

Một vài câu trả lời và một vài câu hỏi.

Để đơn giản, hãy bắt đầu bằng cách giả sử bạn chỉ nhìn thấy một chuỗi chuyển động dài. Mô hình đơn giản nhất sẽ liên quan đến phân phối Đa thức cho mỗi nút (về cơ bản tại mỗi nút có một điểm chết cụ thể để xác định nơi bạn đi tiếp theo). Mục tiêu của chúng tôi sẽ là ước tính các tham số của những con xúc xắc này. Như Ash đã đề cập, cách tiếp cận Bayes sẽ là đặt Phân phối ưu tiên Dirichlet cho mỗi lần chết và cập nhật dữ liệu này trước với dữ liệu mới để có được Phân phối sau của Dirichlet . Bạn có thể nghĩ về một phân phối Dirichlet như một nhà máy súc sắc. Sở dĩ phân phối sau cũng là một Dirichlet là do phân phối Dirichlet là Liên kết trướcđể phân phối đa thức. Trong khi điều này nghe có vẻ khá khó hiểu, nó thực sự rất đơn giản. Cái trước có thể được hiểu là số giả, về cơ bản là giả vờ rằng bạn đã xem một số dữ liệu (mặc dù bạn chưa có).

Ví dụ: nếu bạn ở Z, bạn có thể đến C, D, Z (điểm chết của chúng tôi là ba mặt ở đây). Chúng ta có thể sử dụng Dirichlet trước khi hoạt động như thể chúng ta đã thấy một quá trình chuyển đổi từ Z sang từng trạng thái đó. Vậy mỗi xác suất sẽ bằng 1/3. Nếu người chơi chuyển sang C, chúng tôi sẽ cập nhật phân phối của mình thêm một lần nữa, do đó, chuyển đổi từ Z sang C sẽ có xác suất 2/4 và mỗi lần khác sẽ có xác suất 1/4. Nếu chúng ta sử dụng trước với số lượng giả nhiều hơn như thể chúng ta đã thấy 10 lần chuyển đổi từ Z sang từng trạng thái khác, thì xác suất được cập nhật (11/11, 10/31, 10/31), sẽ gần với nguyên bản hơn những người, đây là một trước mạnh mẽ hơn . Sức mạnh của trước thường được xác định bởi Xác thực chéo .

Mô hình tôi mô tả ở trên được gọi là không nhớ , bởi vì xác suất chuyển từ trạng thái này sang trạng thái khác chỉ phụ thuộc vào trạng thái hiện tại của bạn. Nếu bạn muốn làm một cái gì đó chi tiết hơn, bạn có thể kết hợp không chỉ nơi bạn hiện tại, mà cả nơi bạn là bước cuối cùng, mặc dù tại thời điểm này, số lượng tham số bạn phải ước tính sẽ tăng lên đáng kể, và do đó, phương sai trong ước tính sẽ như tốt.

Câu hỏi:

Bạn đã đưa ra một số trực giác của hình thức "Tại sao tôi lại đi từ B-> C-> X khi tôi chỉ có thể đi từ B-> X?" Những ý tưởng này dường như là cụ thể cho vấn đề bạn đang làm việc, vì vậy tôi có thể nói trực tiếp với nó. Mặc dù nếu đó là một mối quan tâm, có lẽ bạn muốn sử dụng mô hình không bộ nhớ (bộ nhớ?) Hoặc kết hợp thông tin này trước đó. Nếu bạn muốn giải thích ý nghĩa thực tế của biểu đồ này là gì, và do đó, trực giác này đến từ đâu có lẽ chúng ta có thể hữu ích hơn.

Ghi chú:

Bạn muốn tìm kiếm Mô hình Markov, có thể không có nhiều Mô hình Markov ẩn. Những người có một trạng thái ẩn đang kiểm soát dữ liệu được quan sát và cố gắng học cách sử dụng chúng có thể cản trở dự án này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.