Thống kê cho các trang web hẹn hò trực tuyến


10

Tôi tò mò làm thế nào một hệ thống hẹn hò trực tuyến có thể sử dụng dữ liệu khảo sát để xác định kết quả khớp.

Giả sử họ có dữ liệu kết quả từ các trận đấu trong quá khứ (ví dụ: 1 = kết hôn hạnh phúc, 0 = không có ngày thứ 2).

Tiếp theo, giả sử họ có 2 câu hỏi ưu tiên,

  • "Bạn thích các hoạt động ngoài trời đến mức nào? (1 = không thích mạnh mẽ, 5 = thích mạnh mẽ)"
  • "Bạn lạc quan như thế nào về cuộc sống? (1 = không thích mạnh mẽ, 5 = thích mạnh mẽ)"

Giả sử, đối với mỗi câu hỏi về sở thích, họ có một chỉ báo "Điều quan trọng là vợ / chồng của bạn chia sẻ sở thích của bạn như thế nào? (1 = không quan trọng, 3 = rất quan trọng)"

Nếu họ có 4 câu hỏi cho mỗi cặp và kết quả là liệu trận đấu có thành công hay không, mô hình cơ bản sẽ sử dụng thông tin đó để dự đoán các trận đấu trong tương lai là gì?


2
Tôi nghĩ một trận đấu thành công xảy ra khi cô gái xinh đẹp hoặc nam giới giàu có. Mọi thứ khác chỉ là thứ yếu.
dùng4951

4
Kiểm tra blog.okcool.com - ở đâu đó họ nói về các mô hình phù hợp cơ bản.
Felix S

Bạn có thể đề cập đến những thứ bạn muốn sâu hơn về? Câu trả lời của Michael là một tổng quan khá vững chắc.
Dan

Nếu bạn đọc bằng sáng chế (bằng sáng chế 6,735,568 - google.com/ ) cho EHarmony, hệ thống của họ sẽ sử dụng kết hợp Phân tích thành phần nguyên tắc, Phân tích nhân tố và sử dụng Mạng thần kinh. Như những người khác đã đề cập đến các phương pháp như K-NN, CARTS và GLM cũng sẽ hoạt động tốt.
Chris Simokat

@ChrisSimokat - WOW! Cảm ơn rất nhiều cho các liên kết tuyệt vời. Điều đó thật thú vị. Tôi không bao giờ nghĩ rằng bạn có thể "bản quyền" các phương pháp và thuật toán thống kê.
d_a_c321

Câu trả lời:


4

Tôi đã từng nói chuyện với một người làm việc cho một trong những trang web hẹn hò trực tuyến sử dụng các kỹ thuật thống kê (có lẽ họ không nói là ai). Điều này khá thú vị - bắt đầu bằng việc họ sử dụng những thứ rất đơn giản, chẳng hạn như hàng xóm gần nhất với khoảng cách euclidi hoặc L_1 (cityblock) giữa các vectơ hồ sơ, nhưng có một cuộc tranh luận về việc kết hợp hai người quá giống nhau là tốt hay xấu Điều. Sau đó, ông tiếp tục nói rằng bây giờ họ đã thu thập được rất nhiều dữ liệu (ai quan tâm đến ai, ai hẹn hò với ai, ai kết hôn, v.v.), họ đang sử dụng điều đó để liên tục đào tạo lại các mô hình. Công việc trong một khung tăng dần, trong đó họ cập nhật các mô hình của họ theo định kỳ bằng cách sử dụng các lô dữ liệu và sau đó tính toán lại xác suất khớp trên cơ sở dữ liệu. Khá nhiều thứ thú vị, nhưng tôi


3

Bạn yêu cầu một mô hình đơn giản. Đây là cách tôi sẽ bắt đầu với mã R:

 glm(match ~ outdoorDif*outdoorImport + optimistDif*optimistImport,
     family=binomial(link="logit"))

OutdoorDif = sự khác biệt của câu trả lời của hai người về mức độ họ thích các hoạt động ngoài trời. OutdoorImport = trung bình của hai câu trả lời về tầm quan trọng của trận đấu liên quan đến câu trả lời về việc thưởng thức các hoạt động ngoài trời.

* Chỉ ra rằng các điều khoản trước và sau được tương tác và cũng được bao gồm riêng.

Bạn đề xuất rằng dữ liệu khớp là nhị phân với hai tùy chọn duy nhất là "kết hôn hạnh phúc" và "không có ngày thứ hai", vì vậy đó là những gì tôi giả định khi chọn mô hình logit. Điều này không có vẻ thực tế. Nếu bạn có nhiều hơn hai kết quả có thể, bạn sẽ cần phải chuyển sang một logit đa phương hoặc theo thứ tự hoặc một số mô hình như vậy.

Nếu, như bạn đề xuất, một số người có nhiều trận đấu cố gắng thì đó có lẽ là một điều rất quan trọng để cố gắng tính đến trong mô hình. Một cách để làm điều đó có thể là có các biến riêng biệt chỉ ra số lần khớp đã thử trước đó cho mỗi người và sau đó tương tác hai người.


Cảm ơn câu trả lời tuyệt vời .. Tôi sẽ cho bạn tiền thưởng! :) Đó có vẻ là một cách tiếp cận tốt. Có lẽ nếu bạn có N câu hỏi phù hợp với M như thể loại (ví dụ: câu hỏi về điền kinh), bạn có thể làm phong phú mô hình bằng cách sử dụng trung bình tầm quan trọng và sự khác biệt trong danh mục đó và thêm nó như một thuật ngữ bổ sung. Nó không hoàn hảo, nhưng đó có thể là một cách đơn giản để nắm bắt sự tương tác của một số biến tương quan. Cảm ơn một lần nữa, tôi rất vui khi nghe bất kỳ suy nghĩ nào khác không đưa ra câu trả lời của bạn;).
d_a_c321

Bạn không nên bình thường hóa câu trả lời đầu tiên? Nếu mọi người đều thích ngoài trời, thì câu trả lời ngoài trời sẽ trở nên ít liên quan hơn, bởi vì đó sẽ là một yếu tố dự đoán kém về khả năng tương thích.
Sklivvz

@Skliwz, tôi không chắc bạn sẽ bình thường hóa câu trả lời trắc nghiệm (thứ tự) như thế nào. Ngoài ra, hãy nhớ rằng các phép biến đổi tuyến tính của các biến dự đoán liên tục đôi khi được mong muốn vì các lý do được thảo luận ở đây: stats.stackexchange.com/q/7112/3748 và tại đây: stats.stackexchange.com/q/19216/3748 nhưng chúng sẽ không thay đổi mô hình dự đoán chặn một số vấn đề tính toán bất thường. Nếu mọi người đều thích ngoài trời, ngoài trời thì câu trả lời ngoài trời ít liên quan hơn, nhưng tôi không nghĩ nó thực sự là vấn đề đối với người mẫu như tôi đã chỉ định. (Không phải mô hình của tôi là hoàn hảo)
Michael Giám mục

1

Một cách tiếp cận đơn giản sẽ như sau.

Đối với hai câu hỏi ưu tiên, lấy sự khác biệt tuyệt đối giữa hai câu trả lời của người trả lời, đưa ra hai biến, giả sử z1 và z2, thay vì bốn.

Đối với các câu hỏi quan trọng, tôi có thể tạo một số điểm kết hợp cả hai câu trả lời. Nếu các câu trả lời là, (1,1), tôi sẽ cho 1, a (1,2) hoặc (2,1) được 2, a (1,3) hoặc (3,1) được 3, a (2,3) hoặc (3,2) được 4 và (3,3) được 5. Hãy gọi đó là "điểm quan trọng". Một thay thế sẽ chỉ là sử dụng tối đa (phản hồi), đưa ra 3 danh mục thay vì 5, nhưng tôi nghĩ phiên bản 5 danh mục là tốt hơn.

Bây giờ tôi sẽ tạo mười biến, x1 - x10 (để cụ thể hóa), tất cả đều có giá trị mặc định là 0. Đối với những quan sát có điểm quan trọng cho câu hỏi đầu tiên = 1, x1 = z1. Nếu điểm quan trọng cho câu hỏi thứ hai cũng = 1, x2 = z2. Đối với những quan sát có điểm quan trọng cho câu hỏi đầu tiên = 2, x3 = z1 và nếu điểm quan trọng cho câu hỏi thứ hai = 2, x4 = z2, v.v. Đối với mỗi quan sát, chính xác một trong x1, x3, x5, x7, x9! = 0 và tương tự cho x2, x4, x6, x8, x10.

Đã làm tất cả những điều đó, tôi sẽ chạy hồi quy logistic với kết quả nhị phân là biến mục tiêu và x1 - x10 là biến hồi quy.

Các phiên bản tinh vi hơn của điều này có thể tạo ra điểm số quan trọng hơn bằng cách cho phép tầm quan trọng của người trả lời nam và nữ được đối xử khác nhau, ví dụ: (1,2)! = A (2.1), trong đó chúng tôi đã ra lệnh trả lời theo giới tính.

Một thiếu sót của mô hình này là bạn có thể có nhiều quan sát của cùng một người, điều đó có nghĩa là "lỗi", nói một cách lỏng lẻo, không độc lập trong các quan sát. Tuy nhiên, với rất nhiều người trong mẫu, có lẽ tôi chỉ cần bỏ qua điều này, cho lần đầu tiên vượt qua hoặc xây dựng một mẫu mà không có bản sao.

Một thiếu sót khác là rất có lý khi mức độ quan trọng tăng lên, ảnh hưởng của sự khác biệt nhất định giữa các ưu tiên đối với p (fail) cũng sẽ tăng lên, điều này hàm ý mối quan hệ giữa các hệ số của (x1, x3, x5, x7, x9) và cả giữa các hệ số của (x2, x4, x6, x8, x10). (Có lẽ không phải là một đơn đặt hàng hoàn chỉnh, vì nó không rõ ràng đối với tôi về cách điểm số quan trọng (2,2) liên quan đến điểm quan trọng (1,3).) Tuy nhiên, chúng tôi không áp đặt điều đó trong mô hình. Tôi có thể bỏ qua điều đó lúc đầu, và xem liệu tôi có ngạc nhiên với kết quả không.

Ưu điểm của phương pháp này là không áp dụng giả định về hình thức chức năng của mối quan hệ giữa "tầm quan trọng" và sự khác biệt giữa các phản ứng ưu tiên. Điều này mâu thuẫn với nhận xét thiếu hụt trước đó, nhưng tôi nghĩ rằng việc thiếu một hình thức chức năng được áp đặt có thể có lợi hơn so với việc không liên quan đến việc tính đến các mối quan hệ dự kiến ​​giữa các hệ số.

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.