Мне интересно, как системы онлайн-знакомств могут использовать данные опросов для определения совпадений.
Предположим, у них есть данные о результатах прошлых матчей (например, 1 = счастливо женат, 0 = нет 2-го свидания).
Далее, давайте предположим, что у них было 2 вопроса о предпочтениях,
- «Насколько вам нравится активный отдых? (1 = сильно не нравится, 5 = сильно нравится)»
- «Насколько оптимистично вы относитесь к жизни? (1 = сильно не нравится, 5 = сильно нравится)»
Предположим также, что для каждого вопроса о предпочтениях у них есть показатель «Насколько важно, чтобы ваш супруг разделял ваши предпочтения? (1 = не важно, 3 = очень важно)»
Если у них есть эти 4 вопроса для каждой пары и результат того, было ли совпадение успешным, какова базовая модель, которая будет использовать эту информацию для прогнозирования будущих совпадений?
predictive-models
d_a_c321
источник
источник
Ответы:
Однажды я поговорил с кем-то, кто работает на одном из сайтов онлайн-знакомств, который использует статистические методы (вероятно, я бы не сказал, кто). Это было довольно интересно - для начала они использовали очень простые вещи, такие как ближайшие соседи с евклидовым или L_1 (городским) расстоянием между векторами профиля, но велась дискуссия о том, было ли совпадение двух людей, которые были слишком похожи, хорошим или плохим предмет. Затем он сказал, что теперь они собрали много данных (кого интересовало, кто, кто от кого, кто женился и т. Д. И т. Д.), Они используют это для постоянной переподготовки моделей. Работа в инкрементно-пакетной среде, в которой они периодически обновляют свои модели, используя пакеты данных, а затем пересчитывают вероятности совпадения в базе данных. Довольно интересные вещи, но я
источник
Вы просили простую модель. Вот как я бы начал с кода R:
outdoorDif = разница ответов двух людей о том, насколько им нравится активный отдых. outdoorImport = среднее из двух ответов о важности совпадения в отношении ответов об отдыхе на свежем воздухе.
Символ * означает, что предыдущие и последующие термины взаимодействуют и также включены отдельно.
Вы предполагаете, что данные о совпадении являются двоичными с единственными двумя вариантами: «счастливо женат» и «нет второго свидания», так что именно это я и предполагал при выборе модели логита. Это не кажется реалистичным. Если у вас есть более двух возможных результатов, вам нужно переключиться на полиномиальный или упорядоченный логит или какую-то подобную модель.
Если, как вы предлагаете, у некоторых людей есть несколько попыток совпадения, это, вероятно, будет очень важной вещью, которую следует учитывать в модели. Один из способов сделать это может состоять в том, чтобы иметь отдельные переменные, указывающие количество предыдущих попыток совпадений для каждого человека, а затем взаимодействовать между ними.
источник
Один простой подход заключается в следующем.
Для двух вопросов о предпочтениях возьмите абсолютную разницу между ответами двух респондентов, указав две переменные, например z1 и z2, вместо четырех.
Для вопросов важности я мог бы создать оценку, которая комбинирует два ответа. Если бы ответы были, скажем, (1,1), я бы дал 1, a (1,2) или (2,1) получает 2, a (1,3) или (3,1) получает 3, a (2,3) или (3,2) получает 4, а (3,3) получает 5. Давайте назовем это «оценкой важности». Альтернативой было бы просто использовать max (response), давая 3 категории вместо 5, но я думаю, что версия 5 категории лучше.
Я бы сейчас создал десять переменных, x1 - x10 (для конкретности), все со значениями по умолчанию, равными нулю. Для тех наблюдений с оценкой важности для первого вопроса = 1, x1 = z1. Если оценка важности для второго вопроса также = 1, x2 = z2. Для тех наблюдений с оценкой важности для первого вопроса = 2, x3 = z1 и если оценка важности для второго вопроса = 2, x4 = z2 и так далее. Для каждого наблюдения точно один из x1, x3, x5, x7, x9! = 0 и аналогично для x2, x4, x6, x8, x10.
Сделав все это, я запустил логистическую регрессию с двоичным результатом в качестве целевой переменной и х1 - х10 в качестве регрессоров.
Более сложные версии этого могут создать больше оценок важности, позволяя по-разному относиться к важности респондентов мужского и женского пола, например, a (1,2)! = A (2,1), где мы упорядочили ответы по полу.
Недостатком этой модели является то, что вы можете иметь несколько наблюдений за одним и тем же человеком, что означает, что «ошибки», в общем и целом, не являются независимыми в разных наблюдениях. Тем не менее, с большим количеством людей в выборке, я бы просто проигнорировал это, для первого прохода, или построил бы образец, в котором не было дубликатов.
Другой недостаток заключается в том, что по мере увеличения важности влияние данной разницы между предпочтениями на p (сбой) также будет увеличиваться, что подразумевает связь между коэффициентами (x1, x3, x5, x7, x9), а также между коэффициентами (х2, х4, х6, х8, х10). (Вероятно, не полный порядок, поскольку мне априори не ясно, как (2,2) показатель важности соотносится с (1,3) показателем важности.) Однако мы не навязывали это в модели. Я, вероятно, сначала проигнорирую это, и посмотрю, удивлен ли я результатами.
Преимущество этого подхода заключается в том, что он не предполагает никаких предположений о функциональной форме взаимосвязи между «важностью» и различием между ответами на предпочтения. Это противоречит предыдущему недостающему комментарию, но я думаю, что отсутствие навязываемой функциональной формы, вероятно, более выгодно, чем связанная с этим неспособность принять во внимание ожидаемые отношения между коэффициентами.
источник