2009-10-20 37 views
5

Tôi đã từng chơi với những người chơi sau, mỗi giá trị tương ứng với kết quả phần trăm câu trả lời đúng trong một trò chơi cụ thể.Thuật toán để tìm Người chơi Tốt, đáng tin cậy

$players = array 
(
    'A' => array(0, 0, 0, 0), 
    'B' => array(50, 50, 0, 0), 
    'C' => array(50, 50, 50, 50), 
    'D' => array(75, 90, 100, 25), 
    'E' => array(50, 50, 50, 50), 
    'F' => array(100, 100, 0, 0), 
    'G' => array(100, 100, 100, 100), 
); 

Tôi muốn có thể chọn người chơi giỏi nhất nhưng tôi cũng muốn tính đến độ tin cậy của người chơi (ít entropy = đáng tin cậy hơn), cho đến giờ tôi đã đưa ra công thức sau :

average - standard_deviation/2 

Tuy nhiên tôi không chắc đây có phải là công thức tối ưu hay không và tôi muốn nghe suy nghĩ của bạn về điều này. Tôi đã suy nghĩ một số chi tiết về vấn đề này và tôi đã tìm ra một công thức hơi khác nhau, ở đây nó là phiên bản sửa đổi:

average - standard_deviation/# of bets 

Kết quả này sau đó sẽ được trọng cho cuộc bầu cử sắp tới tiếp theo , ví dụ, một cược mới từ người chơi C sẽ chỉ được tính là một nửa cược.

tôi không thể đi vào chi tiết cụ thể ở đây nhưng đây là một dự án liên quan với Wisdom of Crowds theoryDelphi method và mục tiêu của tôi là để dự đoán tốt nhất có thể kết quả tiếp theo trọng số cược qua từ một vài cầu thủ.

Tôi đánh giá cao tất cả đầu vào, cảm ơn.

+2

cố gắng chọn nhóm bóng đá tưởng tượng hay nhất? :) – Kip

+0

@Kip: Không hoàn toàn, nhưng gần gũi. =) –

+1

Hãy thêm ý tưởng bổ sung (được in đậm) của bạn. Xin chúc mừng, bạn gần như đã phát minh ra lỗi chuẩn của giá trị trung bình! Nếu bạn sử dụng trung bình - 2 * stdev/sqrt (numBets), bạn sẽ có giới hạn dưới trên khoảng tin cậy 95% xung quanh giá trị trung bình. Giá trị đó là một cách không hoàn toàn không hợp lý để chọn các dự đoán tốt nhất. – Harlan

Trả lời

3

Trước hết, tôi sẽ không sử dụng Độ lệch chuẩn nếu mảng dữ liệu của bạn chỉ có một vài mục nhập. Sử dụng các biện pháp thống kê mạnh mẽ hơn như Độ lệch tuyệt đối trung bình (MAD), tương tự như vậy bạn có thể muốn kiểm tra bằng cách sử dụng Trung bình thay vì Trung bình. Điều này là do thực tế rằng, nếu "kiến thức" của bạn về cược của người chơi bị giới hạn chỉ một vài mẫu, dữ liệu của bạn sẽ bị chi phối bởi các ngoại lệ, tức là người chơi may mắn/không may mắn. Phương tiện thống kê có thể hoàn toàn không phù hợp trong những trường hợp đó và bạn có thể muốn sử dụng một số phương pháp tiếp cận heuristic.

Tôi cũng giả định từ các liên kết của bạn, rằng bạn thực tế không có ý định chọn người chơi giỏi nhất mà dựa trên các cầu thủ tiếp theo câu trả lời "A" muốn dự đoán tập hợp câu trả lời đúng "C" bằng cách cân nhắc " A "dựa trên hồ sơ theo dõi trước đó của người chơi.

Tất nhiên nếu có giải pháp tốt cho vấn đề này, bạn có thể giết người trên thị trường chứng khoán ;-) (Thực tế là không ai thực hiện, phải là dấu hiệu cho thấy sự tồn tại của giải pháp như vậy) .

Nhưng hãy quay lại xếp hạng người chơi. Vấn đề chính của bạn là bạn (phải?) Lấy phần trăm câu trả lời đúng như phân bố đều từ 0-100%. Nếu thử nghiệm chứa nhiều câu hỏi, điều này chắc chắn không phải là trường hợp. Tôi sẽ xem xét điểm số "R" hoàn toàn ngẫu nhiên trong bài kiểm tra và xây dựng một số niềm tin tương đối dựa trên mức độ tốt hơn/tồi tệ hơn "R" một trình phát thực sự nhất định.

Giả sử, đối với mỗi vòng trò chơi sẽ tạo ra một triệu người chơi ngẫu nhiên và xem xét phân phối điểm số. Sử dụng phân phối làm trọng lượng cho điểm số thực của người chơi. Sau đó, kết hợp các điểm có trọng số bằng MAD và tính số Trung bình - MAD/một số, như bạn đã đề xuất.

+0

Câu trả lời hay, nhưng trong trường hợp này tại sao tốt hơn nên sử dụng MAD/Trung bình so với Độ lệch chuẩn/Trung bình? –

+0

Nếu dữ liệu của bạn có n thấp (nghĩa là các điểm dữ liệu), thì Độ lệch chuẩn (s) và trung bình (trung bình) không phải là rất đáng tin cậy. Ví dụ: độ lệch chuẩn (s_m) của giá trị trung bình là s/sqrt (n). Nếu bạn có n = 4 như trong ví dụ của bạn thì giá trị trung bình của chính nó chỉ chính xác đến 50% của dữ liệu. Trong những tình huống này MAD và trung bình mạnh mẽ hơn. Cũng sử dụng s và có nghĩa là yêu cầu bạn phải giả định một phân phối bình thường cho bất kỳ câu trả lời của người chơi nào theo thời gian. Điều này có thể hoặc có thể không phải là trường hợp tùy thuộc vào thiết lập của trò chơi và quan điểm của bạn về việc ra quyết định của con người. – Timo

4

Có phải số Bayesian Probablity Formula khớp với hóa đơn không?

Tôi nghĩ là như vậy. Đây là liên kết đến một trang web khác ít toán hơn về nó: http://www.experiment-resources.com/bayesian-probability.html

Về cơ bản bạn dự đoán xác suất mà mỗi người chơi sẽ đạt điểm cao nhất trong vòng tiếp theo. Đây là những gì xác suất bayesian ăn cho bữa ăn sáng.

Xác suất Bayes đã được sử dụng trong video games (cảnh báo: .doc tệp) để xác định nội dung giống như thế này.

+0

Tôi đã sửa lỗi, nhưng hãy nhớ khả năng! = Xác suất khi nói về thống kê. – nlucaroni

+0

Dường như quá phức tạp đối với các kỹ năng toán học của tôi, có lẽ bạn sẽ không phiền khi chỉ cho tôi một ví dụ trong mã (giả)? –

1

Tôi nghĩ rằng bạn có thể đúng khi bạn muốn một số loại kết hợp tuyến tính của hai yếu tố, nhưng tôi nghĩ rằng chúng tôi cần biết thêm về những gì bạn đang làm để biết những hằng số thực tế sẽ là ...

+0

Cảm ơn bạn đã nhập, vui lòng kiểm tra cập nhật của tôi. Nếu bạn cần thêm thông tin chỉ cần nói từ đó. –

3

Hm. Điều này sẽ khiến một người chơi (100,100,100,60) bị đánh giá tệ hơn một người chơi (85,85,85,85). Tại sao cũng không tính% tổng số điểm vào tài khoản?

Giống như: tổng số điểm phần trăm (ví dụ: 0..1) nhân với phép tính hiện tại của bạn.

+0

Cảm ơn bạn đã trả lời, vui lòng kiểm tra cập nhật của tôi. –

7

Bạn không thể có được công thức tối ưu nếu bạn chưa định lượng cái nào tốt hơn. Bạn cần phải tìm ra cách bạn muốn cân nhắc tính nhất quán so với mức trung bình. Ví dụ: một tùy chọn sẽ là ước tính điểm số mà người chơi sẽ đạt được phần trăm trò chơi nhất định. Điều này đòi hỏi một số loại mô hình phân bố xác suất của điểm số của người chơi. Ví dụ: nếu chúng tôi giả định rằng điểm số của người chơi tuân theo phân phối bình thường, thì công thức đã cho của bạn tính toán điểm số người chơi sẽ vượt qua khoảng 70% thời gian.

+0

Điều tôi không biết là cái gì tốt hơn, tôi chỉ mới bắt đầu với mức trung bình nhưng tôi nghĩ rằng việc giới thiệu độ lệch cũng có thể là một ý tưởng tốt ... Vui lòng kiểm tra cập nhật của tôi để biết ý tưởng của những gì tôi đang cố gắng làm, có lẽ điều này sẽ mang lại cái nhìn sâu sắc hơn vào câu hỏi của tôi. –

1

Vâng, "đơn giản mở rộng" chỉ là sự bổ sung của một trọng lượng và một giới hạn:

trung bình (máy nghe nhạc) - min (trên, trọng lượng * entrophy (người chơi))

Tuy nhiên, do bộ dữ liệu hiện tại, tôi có thể không quan tâm đến "tỷ lệ phần trăm trả lời đúng" nhiều như xem xét sự khác biệt số điểm cho mỗi trò chơi, nếu đó là một tùy chọn.

2

Bạn đã cân nhắc sử dụng trung bình chưa? Nó được coi là một hơn robust statistic (ít bị ảnh hưởng bởi các ngoại lệ) hơn mức trung bình. Trong dữ liệu của bạn, bạn nhận được trung vị của: 0, 25, 50, 82.5, 50, 50, 100.

Điều đó có vẻ là những gì bạn trực giác muốn không? Tôi đồng ý với những người khác rằng không có "câu trả lời đúng" ở đây.

+0

Tôi xin lỗi vì một câu hỏi cơ bản như vậy, nhưng làm cách nào để xác định trung vị? –

+1

(google là bạn của bạn!) Đối với mỗi người chơi, sắp xếp các mảng, sau đó, nếu có một số lẻ của các giá trị, chọn một trong những trung, nếu không chọn trung bình của hai giữa. Bất kỳ thư viện thống kê nào cũng sẽ có hàm trung bình. – Harlan

Các vấn đề liên quan