美文网首页
婚配模拟实验

婚配模拟实验

作者: 蜘蛛的梦呓 | 来源:发表于2018-11-01 16:55 被阅读0次

    婚恋配对实验

    目的:

    通过模拟匹配,探索常见的寻偶标准,哪一种更大的概率找到对象。

    一、婚恋配对模拟规则:

    1. 按照一定规则生成了 1 万男性 + 1 万女性样本:
      • 在配对实验中,这 2 万个样本具有各自不同的个人属性(财富、内涵、样貌),每项属性都有一个得分。
      • 财富值符合指数分布,内涵和颜值符合正态分布。
      • 三项的平均值都为 60 分,标准差都为 15 分。
    2. 模拟实验,基于现实世界的提炼以及适度简化,概括了三个最主流的择偶策略:
      • 策略1:门当户对,要求双方三项指标加和的总分接近,差值不超过 20 分(算均值);
      • 策略2:男才女貌,男性要求女性的外貌分比自己高出至少 10 分,女性要求男性的财富分比自己高出至少 10 分;
      • 策略3:志趣相投、适度引领,要求对方的内涵得分在比自己 低 10 分 ~ 高 10分 之间,且外貌和财富两项与自己的得分差值都在 5 分之内。
    3. 这里按单项选择,用男性去匹配女性,每一轮实验中,我们将三种策略随机平分给所有样本(即采用每种策略的男性有 3333 个样本)
    4. 我们为单身男女随机选择一个对象,若对方互相符合要求就算配对成功,配对失败的男女则进入下一轮配对。

    二、样本数据处理

    1. 处理样本数据
      • 在配对实验中,这 2 万个样本具有各自不同的个人属性(财富、内涵、样貌),每项属性都有一个得分。
      • 财富值符合指数分布,内涵和颜值符合正态分布。
      • 三项的平均值都为 60 分,标准差都为 15 分。

      要求:

      1. 构建函数实现样本数据生成模型,函数参数之一为“样本数量”,并用该模型生成 1 万男性 + 1 万女性数据样本(包括三个指标:财富、内涵、样貌)
      2. 绘制柱状图查看每个人的属性分值情况

      提示:

      • 正态分布:np.random.normal(loc = 60,scale = 15.size = n)
      • 指数分布:np.random.exponential(scale = 15,size = n) + 45
      正态分布与指数分布 样本数据属性分值情况

    数据生成后的格式:

    数据生成后的格式
    1. 生成 99 个男性、99 个女性样本数据,分别针对三种策略构建算法函数(核心:筛选人数)
      • 策略1:门当户对,要求双方三项指标加和的总分接近,差值不超过 20 分;

      • 策略2:男才女貌,男性要求女性的外貌分比自己高出至少 10 分,女性要求男性的财富分比自己高出至少 10 分;

      • 策略3:志趣相投、适度引领,要求对方的内涵得分在比自己低 10 分 ~ 高 10分之间,且外貌和财富两项与自己的得分差值都在 5 分之内。

      • 每一轮实验中,我们将三种策略随机平分给所有的样本,这里则是三种分别 33 人。

      • 这里不同策略匹配结果可能重合,所以为了简化模型

        → 这里先进行策略 1 模拟

        → 模拟成功后去掉该轮成功匹配的女性数据,再进行策略 2 模拟

        → 模拟成功后去掉该轮成功匹配的女性数据,再进行策略 3 模拟

    要求:

    1. 生成样本数据
    2. 给男性样本数据,随机分配策略选择 → 这里以男性为出发作为策略选择方
    3. 尝试做第一轮匹配,记录成功的匹配结果,并筛选出失败的男女进入下一轮匹配
    4. 构建模型,并模拟 1 万男性 + 1 万女性的配对实验
    5. 通过数据分析,回答下面的问题:
      • 百分之多少的样本数据成功匹配到了对象?
      • 采取不同择偶策略的匹配成功率分别是多少?
      • 采取不同择偶策略的男性各项平均分是多少?

    提示:

    1. 择偶策略评判标准:
      • 若匹配成功,则该男性与被匹配在这一轮都算成功,退出游戏
      • 若匹配失败,则该男性与被匹配在这一轮都算失败,并进行下一轮
      • 若同时多个男性选择了同一个女性,且满足成功配对要求,则综合评分高的男性算为匹配成功
    2. 构建空的数据集,用于存储匹配成功的数据
    3. 每一轮匹配之后,删除成功匹配的数据之后,进入下一轮,这里删除数据用 df.drop()
    4. 这里建议用 while 去做迭代 → 当该轮没有任何配对成功,则停止实验。

    匹配成功的数据存储格式:

    匹配成功的数据存储格式
    结论1:
    1. 71.22% 的样本数据成功匹配到了对象

    2. 策略1 的匹配成功率为 100.00%

      策略2 的匹配成功率为 39.03%

      策略3 的匹配成功率为 73.78%

      即门当户对匹配率最高,其次是志趣相投,男才女貌的匹配率较低。

    3. 择偶策略1的男性 → 财富均值为 60.15,内涵均值 59.85,外貌均值为 59.84
      择偶策略2的男性 → 财富均值为 72.05,内涵均值 60.22,外貌均值为 55.17
      择偶策略3的男性 → 财富均值为 57.80,内涵均值 59.91,外貌均值为 57.80

      三个策略均值相差不大

    4. 通过箱型图查看整体趋势可以得出,策略2 的财富值明显较高;内涵方面 3 个策略都相差不大;外貌方面,策略1 和 策略3 外貌的最高值高于策略2。

    5. 以 99 男 + 99 女的样本数据,绘制匹配折线图

      要求:

      1. 生成样本数据,模拟匹配实验
      2. 生成绘制数据表格
      3. bokeh 制图
        • 找了设置图例,并且可交互(消隐身模式)

      提示:

      1. bokeh 制图时,y 轴为男性,x 轴为女性

      2. 绘制数据表格中,需要把男女性的数字编号提取出来,这样图表横纵轴好识别

      3. bokeh 绘制折线图示意:p.line([0,女性数字编号,女性数字编号],[男性数字编号,男性数字编号,0]) 数据表格格式
    配对实验过程模拟示意
    1. 生成不同类型男女配对成功率矩阵图

      要求:

      1. 以之前 1 万男 + 1 万女实验的结果为数据

      2. 按照财富值、内涵值、外貌值分别给三个区间,以区间来评判“男女类型”

        • 高分(70 - 100),中分(50 - 70),低分(0 -50)
        • 按照此类分布,男女性都可以分为 27 中类型:财高品高颜高,财高品中颜高,财高品低颜高 等
      3. bokeh 制图

        • 散点图
        • 27 行 * 27列,三点的颜色深浅代表匹配成功率

    提示:

    1. 注意绘图的数据结构

    2. 这里散点图通过 xy 轴定位数据,然后通过设置颜色的透明度来表示匹配成功率

    3. alpha 字段为每种类型匹配成功率标准化之后的结果,再乘以一个参数

      → data['alpha'] = (data['chance'] - data['chance'].min()) /(data['chance'].max() - data['chance'].min()) * 8

    Bokeh 绘图数据结构

    Bokeh 绘图数据结构:

    不同类型配对成功率

    由上图可知,男性财中品中颜低 与 女性财低品中颜中 的匹配率较高,相当于 颜值较低的普通男性 与 财富值较低的普通女性 的匹配率较高。

    相关文章

      网友评论

          本文标题:婚配模拟实验

          本文链接:https://www.haomeiwen.com/subject/buvxxqtx.html