Xác định xem một trang web có hoạt động bằng cách sử dụng các lượt truy cập hàng ngày không


15

Bối cảnh:

Tôi có một nhóm các trang web nơi tôi ghi lại số lượt truy cập hàng ngày:

W0 = { 30, 34, 28, 30, 16, 13, 8, 4, 0, 5, 2, 2, 1, 2, .. } 
W1 = { 1, 3, 21, 12, 10, 20, 15, 43, 22, 25, .. }
W2 = { 0, 0, 4, 2, 2, 5, 3, 30, 50, 30, 30, 25, 40, .. } 
...
Wn 

Câu hỏi chung:

  • Làm cách nào để xác định trang web nào hoạt động nhiều nhất?

Bằng cách này, tôi có nghĩa là nhận được nhiều lượt truy cập hơn hoặc có số lượt truy cập tăng đột ngột trong vài ngày qua. Đối với mục đích minh họa, trong ví dụ nhỏ ở trên, W0 ban đầu sẽ phổ biến nhưng bắt đầu cho thấy việc từ bỏ, W1 đang cho thấy mức độ phổ biến ổn định (với một số đỉnh bị cô lập) và W3 tăng đáng kể sau khi bắt đầu yên tĩnh).

Suy nghĩ ban đầu:

Tôi tìm thấy chủ đề này trên SO trong đó một công thức đơn giản được mô tả:

// pageviews for most recent day
y2 = pageviews[-1]
// pageviews for previous day
y1 = pageviews[-2]
// Simple baseline trend algorithm
slope = y2 - y1
trend = slope * log(1.0 +int(total_pageviews))
error = 1.0/sqrt(int(total_pageviews))
return trend, error

Điều này có vẻ tốt và đủ dễ dàng, nhưng tôi có vấn đề với nó.

Việc tính toán dựa trên độ dốc. Điều này là tốt và là một trong những tính năng tôi quan tâm, nhưng IMHO nó có vấn đề đối với loạt không đơn điệu. Hãy tưởng tượng rằng trong một số ngày chúng ta có số lượt truy cập không đổi (vì vậy độ dốc = 0), thì xu hướng trên sẽ bằng không.

Câu hỏi:

  • Làm cách nào để xử lý cả hai trường hợp (tăng / giảm đơn điệu) và số lần truy cập lớn?
  • Tôi có nên sử dụng các công thức riêng biệt?

1
Tôi ngạc nhiên khi bạn chưa nhận được bất kỳ câu trả lời nào (mặc dù đây là một câu hỏi rõ ràng phổ biến). Vì mỗi trong số bốn viên đạn của bạn đều có giá trị cho một câu hỏi và chính chúng, làm thế nào để giới hạn câu hỏi này với một trong số chúng và đăng những câu hỏi khác trong các câu hỏi riêng biệt. Chúng đều là những câu hỏi thực sự xuất sắc có những cách tiếp cận riêng biệt, và cả bốn đều có giá trị riêng.
Andy W

Xin chào Andy, cảm ơn rất nhiều vì câu trả lời của bạn. Tôi sẽ cố gắng viết lại nó và tập trung vào một vấn đề tại một thời điểm. Suy nghĩ ban đầu của tôi là làm cho nó càng rộng càng tốt (và tránh lặp lại cùng một câu hỏi sau đó) nhưng do thiếu câu trả lời, có vẻ như nó quá chung chung để ai đó trả lời.
Dan

Tôi đã chỉnh sửa câu hỏi để phơi bày hai vấn đề chính mà tôi quan tâm nhất. Tôi đã chọn đặt chúng vào cùng một câu hỏi với mối quan hệ chặt chẽ của họ.
Dan

1
Tôi vẫn không hiểu tại sao có một ước tính với một lỗi nhỏ lại khiến cách tiếp cận 'không thể sử dụng được'.
vào

Cảm ơn đã bình luận. Tôi không nói rằng aproach (tính toán xu hướng) là không thể sử dụng được, nhưng tính toán lỗi của nó có thể có một vấn đề tiềm ẩn. Cho đến nay tôi không có câu trả lời, tôi sẽ xóa mục đó khỏi câu hỏi với hy vọng nó sẽ dễ trả lời hơn.
Dan

Câu trả lời:


4

Có vẻ như bạn đang tìm kiếm một "phương pháp phát hiện thay đổi trực tuyến." (Đó là một cụm từ hữu ích cho Google.) Một số tài liệu hữu ích gần đây (và có thể truy cập) là Adams & MacKay (một cách tiếp cận Bayes) và Keogh et al. Bạn có thể nhấn gói giám sát cho R vào dịch vụ. Số lượng lớn các lần truy cập có thể được tìm thấy bằng các phương pháp kiểm soát quy trình thống kê .


2

Chắc chắn có nhiều cách và ít phức tạp hơn để giải quyết loại vấn đề này. Từ âm thanh của mọi thứ, bạn bắt đầu với một giải pháp khá đơn giản (công thức bạn tìm thấy trên SO). Với sự đơn giản đó, tôi nghĩ rằng tôi sẽ xem lại một vài điểm chính mà bạn thực hiện (phiên bản hiện tại) của bài đăng của bạn.

Cho đến nay, bạn đã nói rằng bạn muốn đo lường "hoạt động trang web" của mình để nắm bắt:

  • Thay đổi độ dốc trong lượt truy cập / ngày trong "vài ngày qua"
  • Thay đổi cường độ trong lượt truy cập / ngày trong "vài ngày qua"

Như @ jan-galkowski chỉ ra, bạn dường như cũng (ít nhất là ngầm) quan tâm đến thứ hạng của các trang web so với nhau dọc theo các chiều này.

Nếu mô tả đó là chính xác, tôi sẽ đề xuất khám phá giải pháp đơn giản nhất có thể kết hợp ba biện pháp đó (thay đổi, cường độ, xếp hạng) thành các thành phần riêng biệt. Ví dụ: bạn có thể lấy:

  • Kết quả của giải pháp SO của bạn để nắm bắt sự thay đổi độ dốc (mặc dù tôi sẽ kết hợp 3 hoặc 4 ngày dữ liệu)
  • Tầm quan trọng của giá trị lượt truy cập / ngày gần đây nhất của mỗi trang web (y2)chia cho số lượt truy cập / ngày trung bình của trang web đó ( Y):

y2 / mean(Y)

Đối với W0, W1 và W2 tương ứng, sẽ mang lại 0,16, 1,45 và 2,35. (Để giải thích, hãy xem xét rằng một trang web có giá trị lượt truy cập mỗi ngày gần đây nhất bằng với lượt truy cập mỗi ngày sẽ tạo ra kết quả là 1). Lưu ý rằng bạn cũng có thể điều chỉnh biện pháp này để ghi lại 2 ngày gần nhất (hoặc hơn):

y2 + y1 / 2 * mean(Y)

Điều đó mang lại: 0,12, 1,33, 1,91 cho ba trang web mẫu của bạn.

Trên thực tế, nếu bạn sử dụng giá trị trung bình của phân phối lượt truy cập / ngày của mỗi trang web cho loại biện pháp này, tôi cũng sẽ xem xét độ lệch chuẩn của phân phối để hiểu được mức độ biến động tương đối của nó. Độ lệch chuẩn cho phân phối truy cập / ngày của mỗi trang web là: 12,69, 12,12 và 17,62. Suy nghĩ về y2/mean(Y)thước đo liên quan đến độ lệch chuẩn là hữu ích vì nó cho phép bạn giữ mức độ hoạt động gần đây trên trang web W2 (độ lệch chuẩn lớn hơn = tổng thể kém ổn định / nhất quán).

Cuối cùng, nếu bạn quan tâm đến thứ hạng, bạn cũng có thể mở rộng các cách tiếp cận này theo hướng đó. Ví dụ, tôi sẽ nghĩ rằng biết thứ hạng của một trang web về các chuyến thăm gần đây nhất cho mỗi giá trị vào ngày cũng như thứ hạng của lần trung bình của mỗi trang web mỗi ngày (cấp bậc mean (Y)cho mỗi Wtrong Wn) có thể hữu ích. Một lần nữa, bạn có thể điều chỉnh cho phù hợp với nhu cầu của bạn.

Bạn có thể trình bày kết quả của tất cả các tính toán này dưới dạng bảng hoặc tạo trực quan được cập nhật thường xuyên để theo dõi chúng hàng ngày.


1

Lưu ý rằng tỷ lệ đến của người dùng tại các trang web là một chuỗi khó chịu, có xu hướng quá mức (từ quan điểm Poisson), vì vậy hãy xem xét phân phối nhị thức âm để xem xét khách đến và sự phù hợp của họ. Ngoài ra, bạn có thể muốn kiểm tra số liệu thống kê đơn hàng của các trang web mỗi ngày thay vì số lượng của chúng.

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.