Statistiken für Online-Dating-Sites

10

Ich bin gespannt, wie ein Online-Dating-System Umfragedaten verwenden könnte, um Übereinstimmungen zu ermitteln.

Angenommen, sie haben Ergebnisdaten aus vergangenen Spielen (z. B. 1 = glücklich verheiratet, 0 = kein 2. Datum).

Nehmen wir als nächstes an, sie hätten zwei Präferenzfragen:

  • "Wie sehr genießen Sie Outdoor-Aktivitäten? (1 = stark ablehnen, 5 = stark mögen)"
  • "Wie optimistisch sind Sie in Bezug auf das Leben? (1 = stark ablehnen, 5 = stark mögen)"

Angenommen, sie haben für jede Präferenzfrage einen Indikator "Wie wichtig ist es, dass Ihr Ehepartner Ihre Präferenz teilt? (1 = nicht wichtig, 3 = sehr wichtig)"

Wenn sie diese 4 Fragen für jedes Paar haben und ein Ergebnis darüber, ob das Spiel erfolgreich war, was ist ein Grundmodell, das diese Informationen verwendet, um zukünftige Spiele vorherzusagen?

d_a_c321
quelle
2
Ich dachte, ein Erfolgsspiel passiert, wenn das Mädchen hübsch oder der Mann reich ist. Alles andere ist zweitrangig.
user4951
4
Überprüfen Sie blog.okcupid.com - irgendwo wird über die zugrunde liegenden passenden Modelle gesprochen.
Felix S
Können Sie erwähnen, auf welche Art von Dingen Sie mehr Tiefe wünschen? Michaels Antwort ist eine ziemlich solide Übersicht.
Dan
Wenn Sie das Patent (Patent 6,735,568 - google.com/… ) für EHarmony lesen, verwendet das System eine Kombination aus Hauptkomponentenanalyse, Faktoranalyse und verwendet ein neuronales Netzwerk. Wie andere bereits erwähnt haben, würden Methoden wie K-NN, CARTS und GLM auch gut funktionieren.
Chris Simokat
@ ChrisSimokat - WOW! Vielen Dank für den tollen Link. Das ist aber interessant. Ich hätte nie gedacht, dass Sie statistische Methoden und Algorithmen "urheberrechtlich schützen" könnten.
d_a_c321

Antworten:

4

Ich habe einmal mit jemandem gesprochen, der für eine der Online-Dating-Sites arbeitet, die statistische Techniken verwendet (wahrscheinlich hätte ich lieber nicht gesagt, wer). Es war ziemlich interessant - zunächst verwendeten sie sehr einfache Dinge, wie zum Beispiel die nächsten Nachbarn mit euklidischen oder L_1-Abständen (Stadtblock) zwischen Profilvektoren, aber es gab eine Debatte darüber, ob es gut oder schlecht war, zwei zu ähnliche Personen zusammenzubringen Sache. Er fuhr fort, dass sie jetzt eine Menge Daten gesammelt haben (wer war an wem interessiert, wer datierte wen, wer heiratete usw. usw.), die sie verwenden, um Modelle ständig neu zu trainieren. Die Arbeit in einem inkrementellen Batch-Framework, in dem sie ihre Modelle regelmäßig mithilfe von Datenstapeln aktualisieren und dann die Übereinstimmungswahrscheinlichkeiten in der Datenbank neu berechnen. Ziemlich interessantes Zeug, aber ich '

tdc
quelle
3

Sie haben nach einem einfachen Modell gefragt. So würde ich mit R-Code beginnen:

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

outdoorDif = der Unterschied zwischen den Antworten der beiden Personen darüber, wie sehr sie Outdoor-Aktivitäten genießen. outdoorImport = der Durchschnitt der beiden Antworten zur Wichtigkeit eines Spiels in Bezug auf die Antworten zum Genuss von Outdoor-Aktivitäten.

Das * zeigt an, dass die vorhergehenden und folgenden Begriffe interagieren und auch separat enthalten sind.

Sie schlagen vor, dass die Übereinstimmungsdaten binär sind, wobei die einzigen beiden Optionen "glücklich verheiratet" und "kein zweites Datum" sind. Daher habe ich dies bei der Auswahl eines Logit-Modells angenommen. Das scheint nicht realistisch. Wenn Sie mehr als zwei mögliche Ergebnisse haben, müssen Sie zu einem multinomialen oder geordneten Logit oder einem solchen Modell wechseln.

Wenn einige Personen, wie Sie vorschlagen, mehrere Übereinstimmungsversuche haben, ist dies wahrscheinlich eine sehr wichtige Sache, die Sie im Modell berücksichtigen sollten. Eine Möglichkeit besteht darin, separate Variablen zu haben, die die Anzahl der zuvor versuchten Übereinstimmungen für jede Person angeben, und dann die beiden zu interagieren.

Michael Bishop
quelle
Danke für die tolle Antwort. Ich gebe dir das Kopfgeld! :) Das scheint ein guter Ansatz zu sein. Wenn Sie N Fragen hatten, die in M-ähnliche Kategorien passen (z. B. Leichtathletikfragen), können Sie das Modell möglicherweise anhand eines Durchschnitts der Wichtigkeit und Unterschiede innerhalb dieser Kategorie bereichern und als zusätzlichen Begriff hinzufügen. Es ist nicht perfekt, aber das kann eine einfache Möglichkeit sein, die Interaktion mehrerer korrelierter Variablen zu erfassen. Nochmals vielen Dank, ich würde mich über weitere Gedanken freuen, die Ihre Antwort nicht gegeben haben;).
d_a_c321
Sollten Sie die Antworten nicht zuerst normalisieren? Wenn jeder die Natur genießen würde, sollte die Antwort im Freien weniger relevant werden, da dies ein schlechter Prädiktor für die Kompatibilität wäre.
Sklivvz
@Skliwz, ich bin mir nicht sicher, wie Sie eine Multiple-Choice-Antwort (Ordnungszahl) normalisieren würden. Denken Sie auch daran, dass lineare Transformationen kontinuierlicher Prädiktorvariablen aus den hier diskutierten Gründen manchmal wünschenswert sind: stats.stackexchange.com/q/7112/3748 und hier: stats.stackexchange.com/q/19216/3748, aber sie ändern das nicht Modellvorhersagen mit Ausnahme einiger ungewöhnlicher Rechenprobleme. Wenn jeder die Natur genießt, ist die Antwort im Freien weniger relevant, aber ich denke nicht, dass es wirklich ein Problem für das Modell ist, wie ich es spezifiziert habe. (Nicht dass mein Modell perfekt ist)
Michael Bishop
1

Ein einfacher Ansatz wäre wie folgt.

Nehmen Sie für die beiden Präferenzfragen den absoluten Unterschied zwischen den Antworten der beiden Befragten und geben Sie zwei Variablen an, z. B. z1 und z2 anstelle von vier.

Für die Wichtigkeitsfragen könnte ich eine Punktzahl erstellen, die die beiden Antworten kombiniert. Wenn die Antworten beispielsweise (1,1) wären, würde ich eine 1 geben, eine (1,2) oder (2,1) eine 2, eine (1,3) oder (3,1) eine a 3, a (2,3) oder (3,2) erhält eine 4 und a (3,3) erhält eine 5. Nennen wir das den "Wichtigkeitswert". Eine Alternative wäre, nur max (Antwort) zu verwenden und 3 statt 5 Kategorien zu vergeben, aber ich denke, die Version mit 5 Kategorien ist besser.

Ich würde jetzt zehn Variablen erstellen, x1 - x10 (der Vollständigkeit halber), alle mit Standardwerten von Null. Für jene Beobachtungen mit einer Wichtigkeitsbewertung für die erste Frage = 1, x1 = z1. Wenn der Wichtigkeitswert für die zweite Frage ebenfalls = 1 ist, ist x2 = z2. Für Beobachtungen mit einer Wichtigkeitsbewertung für die erste Frage = 2, x3 = z1 und wenn die Wichtigkeitsbewertung für die zweite Frage = 2, x4 = z2 usw. ist. Für jede Beobachtung ist genau eine von x1, x3, x5, x7, x9! = 0 und ähnlich für x2, x4, x6, x8, x10.

Nachdem ich das alles getan hatte, führte ich eine logistische Regression mit dem binären Ergebnis als Zielvariable und x1 - x10 als Regressoren durch.

Anspruchsvollere Versionen davon können zu höheren Wichtigkeitswerten führen, indem die Wichtigkeit von männlichen und weiblichen Befragten unterschiedlich behandelt wird, z. B. a (1,2)! = A (2,1), wobei wir die Antworten nach Geschlecht geordnet haben.

Ein Mangel dieses Modells besteht darin, dass Sie möglicherweise mehrere Beobachtungen derselben Person haben, was bedeuten würde, dass die "Fehler", lose gesagt, nicht unabhängig von Beobachtungen sind. Bei vielen Personen in der Stichprobe würde ich dies jedoch wahrscheinlich für einen ersten Durchgang einfach ignorieren oder eine Stichprobe erstellen, bei der keine Duplikate vorhanden sind.

Ein weiterer Mangel besteht darin, dass es plausibel ist, dass mit zunehmender Bedeutung auch die Auswirkung eines bestimmten Unterschieds zwischen Präferenzen auf p (Fehler) zunehmen würde, was eine Beziehung zwischen den Koeffizienten von (x1, x3, x5, x7, x9) und auch impliziert zwischen den Koeffizienten von (x2, x4, x6, x8, x10). (Wahrscheinlich keine vollständige Bestellung, da mir nicht von vornherein klar ist, wie sich ein (2,2) Wichtigkeitswert auf einen (1,3) Wichtigkeitswert bezieht.) Dies haben wir jedoch im Modell nicht festgelegt. Ich würde das wahrscheinlich zuerst ignorieren und sehen, ob mich die Ergebnisse überraschen.

Der Vorteil dieses Ansatzes besteht darin, dass keine Annahme über die funktionale Form der Beziehung zwischen "Wichtigkeit" und dem Unterschied zwischen Präferenzantworten gemacht wird. Dies widerspricht dem vorherigen Mangelkommentar, aber ich denke, das Fehlen einer auferlegten funktionalen Form ist wahrscheinlich vorteilhafter als das damit verbundene Versäumnis, die erwarteten Beziehungen zwischen Koeffizienten zu berücksichtigen.

jbowman
quelle