我很好奇在线约会系统如何使用调查数据来确定匹配项。
假设他们具有过去比赛的结果数据(例如1 =幸福结婚,0 =没有第二个约会)。
接下来,假设他们有两个偏好问题,
- “您喜欢户外活动多少?(1 =非常不喜欢,5 =非常喜欢)”
- “您对生活有多乐观?(1 =非常不喜欢,5 =非常喜欢)”
还假设对于每个偏好问题,他们都有一个指标“配偶分享您的偏好有多重要?(1 =不重要,3 =非常重要)”
如果他们每对都有这4个问题,以及比赛是否成功的结果,那么将使用该信息预测未来比赛的基本模型是什么?
我很好奇在线约会系统如何使用调查数据来确定匹配项。
假设他们具有过去比赛的结果数据(例如1 =幸福结婚,0 =没有第二个约会)。
接下来,假设他们有两个偏好问题,
还假设对于每个偏好问题,他们都有一个指标“配偶分享您的偏好有多重要?(1 =不重要,3 =非常重要)”
如果他们每对都有这4个问题,以及比赛是否成功的结果,那么将使用该信息预测未来比赛的基本模型是什么?
Answers:
您要求一个简单的模型。这是我从R代码开始的方式:
glm(match ~ outdoorDif*outdoorImport + optimistDif*optimistImport,
family=binomial(link="logit"))
outdoorDif =两个人对他们享受户外活动的回答的差异。outdoorImport =两项比赛的平均分数,有关一场比赛对享受户外活动的重要性的重要性。
*表示前面和后面的术语是相互影响的,并且也分别包含在内。
您建议匹配数据是二进制的,只有两个选项是“幸福的婚姻”和“没有第二个约会”,因此这就是我在选择Logit模型时所假定的。这似乎不现实。如果您有两个以上的可能结果,则需要切换到多项式或有序logit或某些此类模型。
正如您所建议的,如果有人尝试多次匹配,那么在模型中考虑这可能是一件非常重要的事情。做到这一点的一种方法可能是使用单独的变量来指示每个人先前尝试进行的匹配的次数,然后将二者进行交互。
一种简单的方法如下。
对于两个偏好问题,取两个受访者的回答之间的绝对差,给出两个变量,例如z1和z2,而不是四个。
对于重要性问题,我可以创建一个将两个答案结合在一起的分数。如果响应是(1,1),则我给一个1,一个(1,2)或(2,1)得到一个2,一个(1,3)或(3,1)得到一个3,(2,3)或(3,2)得到4,而(3,3)得到5。我们称其为“重要性分数”。另一种选择是仅使用max(response),而不是5给出3个类别,但我认为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。
完成所有这些操作后,我将对逻辑结果进行二进制回归,将二进制结果作为目标变量,并将x1-x10作为回归变量。
通过允许男性和女性受访者的重要性被不同地对待,例如a(1,2)!= a(2,1),我们可以按性别对响应进行排序,对此更复杂的版本可能会创建更多的重要性得分。
该模型的一个不足之处是,您可能对同一个人有多个观察结果,从广义上讲,这意味着“错误”并非独立于各个观察结果。但是,在样本中有很多人的情况下,我可能会一开始就忽略它,或者在没有重复的情况下构建样本。
另一个不足之处是,随着重要性的增加,偏好之间的给定差异对p(fail)的影响也会增加,这似乎是合理的,这暗示了(x1,x3,x5,x7,x9)系数之间的关系以及(x2,x4,x6,x8,x10)的系数之间。(可能不是完整的排序,因为对我来说,先验不清楚(2,2)重要性分数与(1,3)重要性分数之间的关系。)但是,我们并未在模型中强加此顺序。一开始我可能会忽略它,然后看看结果是否令我感到惊讶。
这种方法的优点是它不对“重要性”和偏好响应之间的关系的功能形式强加任何假设。这与先前的不足意见相抵触,但我认为缺少一种功能形式可能比相关的未能考虑系数之间的预期关系更有利。