การพิจารณาว่าเว็บไซต์ทำงานอยู่หรือไม่โดยใช้การเข้าชมรายวัน


15

บริบท:

ฉันมีกลุ่มเว็บไซต์ที่ฉันบันทึกจำนวนการเข้าชมรายวัน:

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 

คำถามทั่วไป:

  • ฉันจะทราบได้อย่างไรว่าไซต์ใดที่มีการใช้งานมากที่สุด

จากนี้ฉันหมายถึงได้รับการเข้าชมมากขึ้นหรือมีการเข้าชมเพิ่มขึ้นอย่างฉับพลันในช่วงไม่กี่วันที่ผ่านมา สำหรับวัตถุประสงค์ภาพประกอบในตัวอย่างเล็ก ๆ ด้านบน W0 จะเริ่มได้รับความนิยม แต่เริ่มแสดงการละทิ้ง W1 กำลังแสดงความนิยมอย่างต่อเนื่อง

ความคิดเริ่มต้น:

ฉันพบหัวข้อนี้ใน SOที่อธิบายสูตรง่ายๆ:

// 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

มันดูดีและง่ายพอ แต่ฉันมีปัญหากับมัน

การคำนวณจะขึ้นอยู่กับความลาดชัน นี่เป็นเรื่องปกติและเป็นหนึ่งในคุณสมบัติที่ฉันสนใจ แต่ IMHO มันมีปัญหาสำหรับซีรีส์ที่ไม่ใช่แบบโมโนโทนิก ลองจินตนาการว่าในบางวันเรามีจำนวนการเข้าชมอย่างต่อเนื่อง (ดังนั้นความชัน = 0) ดังนั้นแนวโน้มข้างต้นจะเป็นศูนย์

คำถาม:

  • ฉันจะจัดการกับทั้งสองกรณีได้อย่างไร (การเพิ่ม / ลดเสียงเดียว) และการเข้าชมจำนวนมาก
  • ฉันควรใช้สูตรแยกกันไหม

1
ฉันประหลาดใจที่คุณยังไม่ได้รับคำตอบใด ๆ เลย (แม้ว่าจะเป็นคำถามยอดนิยม) เนื่องจากกระสุนสี่นัดของคุณมีค่าคำถามในตัวเองและวิธีการ จำกัด คำถามนี้ให้กับหนึ่งในพวกเขาและโพสต์คนอื่นในคำถามที่แยกต่างหาก พวกเขาทั้งหมดเป็นคำถามที่ยอดเยี่ยมจริง ๆ ที่ใช้วิธีการที่แตกต่างกันและทั้งสี่มีค่าด้วยตนเอง
Andy W

สวัสดีแอนดี้ขอบคุณมากสำหรับคำตอบของคุณ ฉันจะพยายามใช้ถ้อยคำใหม่และเน้นที่ประเด็นเดียวในแต่ละครั้ง ความคิดเริ่มต้นของฉันทำให้มันกว้างที่สุดเท่าที่จะทำได้ (และหลีกเลี่ยงการทำซ้ำคำถามเดิมหลังจากนั้น) แต่เมื่อขาดคำตอบดูเหมือนว่ามันกว้างเกินไปสำหรับบางคนที่จะตอบ
ด่าน

ฉันแก้ไขคำถามเพื่อแสดงสองประเด็นหลักที่ฉันสนใจเป็นส่วนใหญ่ฉันเลือกที่จะนำคำถามเหล่านี้มาใช้เพราะความสัมพันธ์ที่แน่นแฟ้น
ด่าน

1
ฉันยังคงล้มเหลวที่จะเข้าใจว่าทำไมการประมาณค่าหนึ่งด้วยข้อผิดพลาดเล็ก ๆ ทำให้วิธีการใช้
onestop

ขอบคุณสำหรับความคิดเห็น ฉันไม่ได้บอกว่า aproach (การคำนวณแนวโน้ม) ไม่สามารถใช้งานได้ แต่การคำนวณข้อผิดพลาดอาจมีปัญหา เนื่องจากฉันไม่ได้รับคำตอบจนถึงตอนนี้ฉันจะลบรายการนั้นออกจากคำถามโดยหวังว่าจะตอบได้ง่ายขึ้น
ด่าน

คำตอบ:


4

ดูเหมือนว่าคุณกำลังมองหา "วิธีการตรวจหาการเปลี่ยนแปลงจุดโทษออนไลน์" (นั่นเป็นวลีที่มีประโยชน์สำหรับ Googling) เอกสารล่าสุด (และเข้าถึงได้) ที่เป็นประโยชน์บางฉบับ ได้แก่Adams & MacKay (แนวทาง Bayesian) และKeogh et al คุณอาจกดแพ็คเกจการเฝ้าระวังเพื่อรับบริการ R ที่แยกได้จำนวนมากของการเข้าชมสามารถพบการใช้วิธีการควบคุมกระบวนการเชิงสถิติ


2

มีวิธีที่ซับซ้อนมากขึ้นและแน่นอนในการจัดการปัญหาประเภทนี้ จากเสียงของสิ่งต่าง ๆ คุณเริ่มต้นด้วยวิธีแก้ปัญหาที่ค่อนข้างง่าย (สูตรที่คุณพบใน SO) ด้วยความเรียบง่ายในใจฉันคิดว่าฉันจะทบทวนประเด็นสำคัญสองสามข้อที่คุณทำไว้ (เวอร์ชันปัจจุบัน) โพสต์ของคุณ

จนถึงตอนนี้คุณได้บอกว่าคุณต้องการให้การวัดของ "กิจกรรมไซต์" ของคุณในการจับภาพ:

  • การเปลี่ยนแปลงลาดของการเข้าชม / วันในช่วง "สองสามวันที่ผ่านมา"
  • การเปลี่ยนแปลงขนาดของการเข้าชม / วันในช่วง "สองสามวันที่ผ่านมา"

เมื่อ @ jan-galkowski ชี้ให้เห็นคุณก็ดูเหมือนจะสนใจเว็บไซต์อย่างน้อยโดยปริยายซึ่งเกี่ยวข้องกันตามมิติเหล่านี้

หากคำอธิบายนั้นถูกต้องฉันจะเสนอให้สำรวจวิธีที่ง่ายที่สุดที่เป็นไปได้ซึ่งรวมเอาการวัดทั้งสาม (การเปลี่ยนแปลงขนาดลำดับ) เป็นองค์ประกอบแยกต่างหาก ตัวอย่างเช่นคุณสามารถคว้า:

  • ผลลัพธ์ของโซลูชัน SO ของคุณเพื่อบันทึกการเปลี่ยนแปลงความชัน (แม้ว่าฉันจะรวมข้อมูล 3 หรือ 4 วัน)
  • ขนาดของมูลค่าการเข้าชม / วันล่าสุดของแต่ละไซต์(y2)หารด้วยค่าเฉลี่ยการเข้าชม / วันสำหรับไซต์นั้น ( Y):

y2 / mean(Y)

สำหรับ W0, W1 และ W2 ตามลำดับให้ผลตอบแทน 0.16, 1.45 และ 2.35 (เพื่อประโยชน์ในการตีความให้พิจารณาว่าไซต์ที่มีมูลค่าการเข้าชมต่อวันล่าสุดเท่ากับหมายถึงการเข้าชมต่อวันจะสร้างผลลัพธ์ 1) โปรดทราบว่าคุณสามารถปรับการวัดนี้เพื่อจับภาพ 2 วันล่าสุด (หรือมากกว่า):

y2 + y1 / 2 * mean(Y)

ผลลัพธ์นั้น: 0.12, 1.33, 1.91 สำหรับเว็บไซต์ตัวอย่างทั้งสามของคุณ

หากคุณใช้ค่าเฉลี่ยของการกระจายการเยี่ยมชม / วันของแต่ละเว็บไซต์สำหรับการวัดเช่นนี้ฉันก็จะดูค่าเบี่ยงเบนมาตรฐานของการกระจายเพื่อให้เข้าใจถึงความผันผวนของสัมพัทธ์ ค่าเบี่ยงเบนมาตรฐานสำหรับการกระจายการเยี่ยมชม / วันของแต่ละไซต์คือ: 12.69, 12.12 และ 17.62 การคิดเกี่ยวกับการy2/mean(Y)วัดที่สัมพันธ์กับค่าเบี่ยงเบนมาตรฐานนั้นมีประโยชน์เพราะช่วยให้คุณสามารถรักษาขนาดกิจกรรมล่าสุดในไซต์ W2 ในมุมมอง (ค่าเบี่ยงเบนมาตรฐานที่ใหญ่กว่า = ความมั่นคงน้อยลง / โดยรวมที่สอดคล้องกัน)

สุดท้ายหากคุณสนใจอันดับคุณสามารถขยายแนวทางเหล่านี้ในทิศทางนั้นได้เช่นกัน ตัวอย่างเช่นผมจะคิดว่าการเรียนรู้การจัดอันดับของเว็บไซต์ในแง่ของการเข้าชมล่าสุดต่อค่าวันเช่นเดียวกับการจัดอันดับของผู้เข้าชมเฉลี่ยของแต่ละเว็บไซต์ต่อวัน (อันดับของmean (Y)แต่ละWในWn) อาจจะมีประโยชน์ อีกครั้งคุณสามารถปรับแต่งให้เหมาะกับความต้องการของคุณ

คุณสามารถแสดงผลลัพธ์ของการคำนวณทั้งหมดเหล่านี้เป็นตารางหรือสร้างการสร้างภาพข้อมูลที่อัปเดตเป็นประจำเพื่อติดตามพวกเขาเป็นประจำทุกวัน


1

ข้อควรระวังว่าอัตราการมาถึงของผู้ใช้ในเว็บไซต์เป็นซีรีส์ที่น่ารังเกียจมีแนวโน้มที่จะมีการกระจายมากเกินไป (จากจุดยืนของปัวซง) ดังนั้นพิจารณาการแจกแจงแบบทวินามลบเพื่อดูการมาถึงและความเหมาะสม นอกจากนี้คุณอาจต้องการตรวจสอบสถิติการสั่งซื้อของเว็บไซต์ในแต่ละวันมากกว่าจำนวนของพวกเขา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.