system: [SYSTEM]

user: 6. 模型的建立与求解 6.1. 问题一模型的建立与求解 对于问题一，要对已经给出的数据进行筛选把它们当中的异常值剔除，并且要把空缺值补上，使之具有合理性，从而对后面的问题进行比较良好的处理。对于剔除，我们采取筛选的方法采取合理值进行处理。对于填补空缺值，我们采取插值和拟合等方法进行处理。 6.1.1. 数据的修正 1) 在会员身高一栏处，有1.77 cm的数据，这是误填，将其改为177 cm；有部分数据为0，将其改为空缺值。 2) 在会员和其要求对象的文化程度的数据中有“请选择”，不符合常理，将其改为空缺值。还有数据显示为“不限”，我们通过筛选发现这些数据很少，并不会影响整体大样本的分析，故我们决定也将其删去作为空缺值。 3) 在会员收入中出现了诸多“2~3000”，“2000实习”等字样，这些对处理数据都无法实现，我们将其取为平均值，实现数据的相对离散。在会员要求对象的数，这些均不符合常理，同意改为空缺值。 4) 在年龄差上限和下限中，存在正数负数相间分布的现象，并且对于超过20的数据经分析应该是会员要求对方的实际年龄，为避免混乱，我们将年龄差定义为“会员要求对象的实际年龄–会员自己的实际年龄”，将数据进行清洗。 6.1.2. 数据的填补 首先对于“性别”，“婚姻状况”，“文化程度”等文字信息，必须将其量化成某一具体数值，否则无法对数据进行分析。量化表如下：会员自身情况量化表见表2。会员对配偶各项要求量化表见表3。 Table 2 Quantification of membership statu 性别 男1，女性2 婚姻状况 丧偶1，离婚2，未婚3 文化程度 博士9，硕士8，研究生7，本科6，大专5，中专4，高中3，初中2，小学1 单位类型 世界500强1，国有企业2，上市公司3，事业单位4，外企企业5，私营企业6， 政府机关7，自有公司8，私营个体9 住房情况 多套房6，已购房5，单位房4，准备购房3，与父母同住2，其他1 表2. 会员自身情况量化表 Table 3 Quantitative table of member requirements for spouse 婚姻状况 不限0，丧偶1，离婚2，未婚3 文化程度 博士8，硕士7，本科6，大专5，中专4，高中3，初中2，小学1 住房情况 不限0，一起购房1，单位房2，与父母同住另有婚房3，已购房4，多套住房5 地区 本市区1，地区不限2 表3. 会员对配偶各项要求量化表 这里面的数据均存在缺失现象，为此我们必须分类讨论，对于不同性质的数据属性，我们要采用不同的方法。 1) 对于“婚姻状况”，“文化程度”，“住房情况”，“地区”，“单位类型”数据，这些数据的共同特征在于，对它们进行量化编码之后，其数字都在0到9之间。经分析之后，会发现其中某一个数字出现的频率在60%到70%之间，为此我们采用众数的填补方法。因为出现频率最高的数字，比例已经过半，所以对于部分空白的填补并不会影响整个数据的分析。通过众数填补方法，可以比较客观的反映这些指标的分布状况。 2) 对于“会员收入”和“会员要求对象的收入”的数据，这两组数据的特征在于它们与其他数据之间的关系，并不存在明显的函数关系。他们的数字，范围比较广，因此不能采用众数的填补方法。因此可以采取线性插值的方法来填补这些数据的空缺值，插值的方法，是将所有数据的点尽可能控制在一条曲线之内，这样可以避免奇异值出现。因此该数据能比较真实的反映输入的真实情况。而后我们将填补后的数据，进行整合分析，如图1、图2所示，通过图形，我们可以发现，无论是“会员收入”还是“会员要求对象的收入”这两栏，没有出现很大的出入，“会员要求对象的收入”总是与“会员收入”基本相一致。在不同的区间都存在一定数量的样本，存在部分过高或过低的值，但是仍然有一定的比例。因此，这种方法实现填补空缺是合理的。会员自身收入分布图见图1；要求配偶收入分布图见图2 [ 3 ]。 图1. 会员自身收入分布图 图2. 要求配偶收入分布图 3) 考虑到一般情况下，会员自身身高与对配偶身高的期望值，即身高上下限，有一定的影响，例如自身身高偏高，就很可能选择身高较高的配偶，或者有些男性会员会要求配偶身高不能高于自己。对于男性女性的择偶标准中的身高上下限的数据缺失部分，可以用数据完整的会员自身身高与其要求的身高上下限所拟合得到的回归曲线进行预测。对已知数据的拟合可用最小绝对残差法对所选自变量——身高，与因变量——配偶身高上限或者下限，进行拟合得到拟合直线，该方法可剔除个别与全局偏差较多的数据，使残差最小，相比于简单的额最小二乘法更适用于该题目，用得到的拟合线性方程在excel中对身高上下限缺失的会员进行身高上下限的预测与计算，得到与之对应的身高上下限。男择女身高上限见图3；男择女身高下限见图4。 图3. 男择女身高上限 图4. 男择女身高下限 运用matlab的cftool拟合工具箱对身高上下限已知的会员身高以及身高上限或下限两列数据进行处理，易得到男会员对配偶的身高上限要求、男会员对配偶的身高下限要求、女会员对配偶的身高上限要求、女会员对配偶的身高下限要求分别如图3、图4、图5、图6。男会员对配偶的身高上限要求、男会员对配偶的身高下限要求、女会员对配偶的身高上限要求、女会员对配偶的身高下限要求的拟合线性直线方程如下： { y 1 = 0.5 x + 80 y 2 = 0.40 x + 90.19 y 3 = 0.028 x + 175.4 y 4 = 0.4 x + 106 (1) 图5. 女择男身高上限 图6. 女择男身高下限 在运用所得方程预测推算出男女会员对配偶身高上下限的要求之后，做所有会员身高上限下限——包括原始值和预测值的散点图见图7，没有出现不合理的浮动，在一定程度上也说明了该方法合理性。 图7. 男、女身高上下限散点图 对于年龄差上下限的问题，之前已经给出了相应的公式。会员要求的年龄差上下限这两个数据具有独立性，考虑真实情况，不同人群，对自己要求对象的年龄差的上下限，应该存在一定规律的分布，且有正有负。通过尝试，我们采用序列平均法进行填补数据。这样得出的结果，我们可以明显的看到年龄差上下限，呈一定规律的分布，且有正有负，后端数据近似趋近于正弦型分布，符合现实人们对于对象年龄的要求。年龄差分布折线图见图8。 图8. 年龄差分布折线图 6.2. 问题二的模型建立与求解 针对本问，需要同时考虑会员自身的信息和会员要求对象的信息，且二者要进行匹配，使得最终双方的满意度都达到最高。由于会员要求对象的信息中有地区的信息，因此我们也要把地区因素考虑进去。在变量为地区的数据中，存在部分数据描述方式不统一的情况，例如：数据同时存在“鼓楼区”和“鼓楼”类似这样的地区描述，将所有类似“鼓楼区”的地区描述字符串统一去除行政区划单位，只保留地区名称。例如，将“鼓楼区”处理为“鼓楼”。考虑到需要对会员信息与所要求对象信息进行逐项匹配，我们采用字符串匹配的方法来进行对象的匹配。字符串匹配的方法步骤见图9所示 [ 4 ]。 图9. 字符串匹配方法步骤图 6.2.1. 模型原理 字符串相似度的是将每个人信息看作是一个字符串，将两个不同用户之间数据进行对比就是将两组相应的字符串进行对比，得到字符串的相似度。此思路主要是因为在7个信息里，其中“3”婚姻、“4”文化程度、“5”单位类型、“6”住房情况，都是表示类型的离散变量，其中仅文化程度的数值大小可以代表文化程度的高低，其余3个变量的取值均没有数字意义，仅代表类别。 字符串相似度计算公式为： r a t i o = 2 × M / T (2) 其中M为匹配到的字符串对数，T为总的字符串数量，例如：某用户年龄35，婚姻状况“3”，住房情况“2”，单位类型“1”，文化程度“3”。该字符串为“353213”，而用户B年龄37，婚姻状况“2”，住房情况“1”，单位类型“1”，文化程度“3”，该字符串为“372113”。两个字符串共有3对可以匹配到，总计有12个(A，B相加)。则相似度为2 × 3/12 = 0.5。 6.2.2. 模型建立 1) 首先，数据中有些会员是无法找到其匹配程度的，这些会员没有相似度得分，经验证，366个会员无法进行匹配。 2) 接着我们要把可以匹配会员的候选人数找出来，以下表举例。部分会员符合标准异性数量表见表4。同时我们令集合为显示行矩阵，既将会员所匹配对象所在那一行显示出来。由于计算时所用行数与实际行数有一定差别，因此可能不同。部分会员符合标准异性数量表见表4。 Table 4 Some members meet the standard heterosexual scal 会员姓名/ID 符合标准异性会员数量 林小姐 ID 10287 24 杨小姐 ID 14389 7 林小姐 ID 14371 5 吴女士 ID 15883 3 陈先生 ID 10157 31 潘先生 ID 15113 0 表4. 部分会员符合标准异性数量表 3) 进行反向判断 假设会员甲匹配到的对象会员是乙，但是我们需要检验会员乙的要求是否方向符合甲的要求，如果 不符合，那么该会员匹配的相似度不大。因此，我们建立一个反向判断集合 J = { j 1 ， j 2 ， j 3 ， ⋯ ， j n } 来衡量 上述匹配的对象是否反向符合他的要求，该集合里面显示两个值“TRUE”或者“FALSE”来显示该会员是否反向匹配也成功。这一要求会减少匹配的对数，以此，我们找出15组可以通过这一反向验证的最终匹配对象如图示。鉴于空间这里我们只显示会员信息，相似度最高得分和所找最优配对信息。其他的集合内容在附录8.2里。部分会员匹配相似度结果见表5。 Table 5 Partial member matching similarity result 会员姓名 匹配对象姓名 相似度得分 李小姐 ID 14239 黄先生 ID 14008 0.857 陈先生 ID 14311 赵小姐 ID 13836 0.846 郑小姐 ID 13096 林先生 ID 13220 0.846 林先生 ID 13672 徐小姐 ID 12891 0.846 刘小姐 ID 13439 刘先生 ID 13919 0.815 陈小姐 ID 12563 陈先生 ID 13217 0.815 高小姐 ID 13361 郑先生 ID 10360 0.786 刘先生 ID 11040 郑小姐 ID 11478 0.786 谢先生 ID 14381 林小姐 ID 13021 0.769 黄小姐 ID 14227 柯先生 ID 13564 0.769 张女士 ID 11873 陈先生 ID 13983 0.769 蔡小姐 ID 14001 林先生 ID 13388 0.741 郑小姐 ID 11375 周先生 ID 12550 0.741 王小姐 ID 14115 郑先生 ID 13343 0.714 杨小姐 ID 14389 高先生 ID 13019 0.692 表5. 部分会员匹配相似度结果 6.2.3. 模型分析 通过问题可以知道，需要让所有匹配成功的会员满意度达到最大，因此我们建立一个将每位会员的满意度得分列入一个集合中来分析他们的问题。考虑到会员所匹配对象相似度越大，其满意程度也会越高。我们在这里就将第i个会员所匹配的对象相似度得分矩阵记为： S i = { α 1 ， α 2 ， α 3 ， ⋯ ， α n } (3) 记 γ i 为第i个会员的相似度得分最大值 r i = max { α 1 ， α 2 ， α 3 ， ⋯ ， α n } (4) 那么最终的满意度记为 β ： β = r 1 + r 2 + ⋯ + r i (5) 在这里我们认为每个人的相似度得分区间为[0， 1]之间。 为了更好的说明所配对会员的满意度最大，我们把所有会员与各自满意度最大的配偶的评分做三维图如图10，x，y轴分别为两组配对对象，纵轴z为两人匹配所得分数，某一性别会员全部拥有满意度切相对较高，说明了模型的合理性。会员配对结果分数分布见图10。 6.3. 问题三的模型建立与假设 6.3.1. 模型分析 本问要求筛选出在几个指标中最优的男女会员各20名。如果把男女统一用一个模型描述处理，会导致结果不精准，因为对于男女会员的最优评价，标准是不一样的，因此在本问中，要对男女会员进行分开处理，建立不同的指标和成分进行分析，从而更加合理地找到优质会员。出成分分析法步骤见图11。 图10. 会员配对结果分数分布 图11. 出成分分析法步骤 通过对问题的分析，我们知道附件一给出了评判男女会员的多个因素，且这些变量之间具有一定的相关性，鉴于此，可采用主成分分析(PCA)并结合SPSS软件的因子分析对这些因素进行降维处理。 PCA的原理是通过分析得到两个或更多的变量f 1 ，f 2 能够尽可能反映原来多个变量的信息，也就是说它的方差尽量大，而且f 2 中的信息并不和f 1 中所代表的影响因素所重合，即Cov(f 1 ， f 2 ) = 0，Cov表示协方差。主成分分析法已经是一种比较成熟的方法，在此，我们给出简要的分析步骤如图11。 6.3.2. 模型建立过程 1) 权重的确定 本问与前两问不同的地方在于，关于年龄的处理，如果单纯的对年龄进行分析，会导致结果不精准。因此必须将年龄进行量化，同时对于男女的年龄处理，结合实际情况，应该有所不同。如下表6给出了年龄段的分类标准。男性女性年龄分段量化表见表6。 Table 6 Quantified by age segment for males and female 女性 年龄段 22~30 30~40 40~50 50~60 60~73 量化值 5 4 3 2 1 男性 年龄段 22~25 26~40 40~50 50~55 56~73 量化值 1 2 2 2 1 表6. 男性女性年龄分段量化表 2) 数据标准化处理 由于表中给出的数据评判单位不具备统一性，所以必须将这些数据进行标准化，代入分析过程，才能够得到正确的方程。本问中采用Z-Score法进行标准化。 Z-Score通过 ( x − μ ) / σ 将两组或多组数据转化为无单位的Z-Score分值，使得数据标准统一化，提高了数据可比性，削弱了数据解释性。这样处理后对于一些信息比如“住房情况”、“婚姻状况”、“文化程度”情况比较方便对比，从而得出相关系数矩阵。 3) 模型求解 Step 1得出相关系数矩阵 我们将会员的“年龄”，“身高”，“婚姻状况”，“文化程度”，“单位类型”，“住房情况”，“收入”分别记为 x 1 ， x 2 ， x 3 ， x 4 ， x 5 ， x 6 ， x 7 。得出主成分矩阵之后，进一步分析得出各个主成分与最后的评判分数之间存在的线性关系。 R = [ r 11 z 12 ... z 1 p r 21 z 22 ... z 2 p ⋮ ⋮ ⋮ ⋮ r p 1 z p 2 ... z p p ] (6) 其中 r i j = ∑ k = 1 n ( x k i − x ¯ i ) ( x k j − x ¯ j ) ∑ k = 1 n ( x k i − x ¯ i ) 2 ∑ k = 1 n ( x k j − x ¯ j ) 2 (7) 其意义为原变量之间 x 1 ， x 2 ， ⋯ ， x 7 之间的相关系数。 Step 2 计算各个主成分的贡献率 先计算相关系数矩阵R的特征值和特征向量，然后进一步求得各主成分的贡献率以及累计贡献率。下面以男性为例，如表3所示，可以发现选取5个主成分为男会员的综合评分标准比较合适，总贡献率接近80%。同样的，取5个主成分后，女性的总贡献率在84%左右。同时通过KMO球形检验，两组数据的取样适当性都在0.5左右，比较合适进行主成分分析。男性女性年龄分段量化表见表7。 Table 7 Male membership feature values and principal component contribution tabl 特征值 贡献率(%) 累计贡献率(%) 1.397 19.961 19.961 1.173 16.754 36.715 1.141 16.299 53.014 0.971 13.875 66.889 0.913 13.043 79.933 表7. 男会员特征值及主成分贡献率表 Step 3 计算主成分负荷 主成分载荷由原始变量，即会员的七项指标 x 1 ， x 2 ， ⋯ ， x 7 按照不同的权重求和得到，选取五个主成分就会得到5个主成分负荷，根据求得这些主成分负荷时七项原始指标权重的不同，这5个主成分负荷所代表的意义在不同的指标也有所侧重。当分别男女会员的数据进行处理计算主成负荷分时，由于各原始指标的权重有所不同，所以可得到两组不同的主成分负荷：男性女性会员主成分负荷Y。 Y = [ Y 1 Y 2 Y 3 Y 4 Y 5 ] (8) 由于我们对男性会员和女性会员的数据分别进行主成分分析，所以会产生两套以上提及的变量，我们用下标加以区分，1代表女性，2代表男性。 Y 1 = X 1 E 1 (9) Y 2 = X 2 E 2 (10) 要求得Y的实际值，需要先确定原始指标的各项权重，即成分的得分矩阵E，该矩阵由spss处理给出： E 1 = [ 0.57 0.11 0.29 0.17 0.09 − 0.28 0.52 0.13 0.37 − 0.62 0.53 0.20 0.38 0.15 − 0.15 0.37 0.42 − 0.28 − 0.28 0.26 − 0.29 − 0.10 0.75 0.06 0.42 − 0.24 0.55 − 0.19 0.38 0.57 − 0.19 0.43 0.27 − 0.76 − 0.09 ] E 2 = [ 0.70 − 0.04 0.09 0.21 0.01 0.07 0.21 0.44 − 0.79 − 0.33 0.70 − 0.14 0.01 − 0.11 − 0.08 0.05 0.61 0.09 − 0.11 0.68 − 0.14 − 0.33 0.57 0.06 0.53 0.05 0.67 0.04 0.35 − 0.22 − 0.04 0.02 0.68 0.42 − 0.31 ] 定义原七项指标为向量X： X 1 = [ x 11 x 12 x 13 x 14 x 15 x 16 x 17 ] (11) X 2 = [ x 21 x 22 x 23 x 24 x 25 x 26 x 27 ] (12) Step 4 得出综合评价系数 在上图中，通过表3中的贡献率可以得出综合评价公式 = 各个贡献率*各个对应的主成分，我们将男会员和女会员的综合评价得分分别记为P 1 ，P 2 。结合step3得出公式： P 1 = 0.28726 × Y 11 + 0.20462 × Y 12 + 0.15171 × Y 13 + 0.12612 × Y 14 + 0.0934 × Y 15 (13) P 2 = 0.19961 × Y 21 + 0.16754 × Y 22 + 0.16299 × Y 23 + 0.13875 × Y 24 + 0.13043 × Y 25 (14) 分别带入P 1 ，P 2 公式，我们就可以得出最后的评判分数，并且筛选出按照我们制定的标准出来的优质男会员和女会员。 6.3.3. 结果分析与验证 在进行主成分分析后，得出了优质男会员和优质女会员的前20名(详见附录)。从女会员角度看，所入选的女会员的年龄和学历的比重比较大，而它的收入情况，占的比重，不是特别大。而对于所入选的优质的男会员来说，其身高和收入，所占的权重比较大，这也比较符合现实状况。为了衡量所打分数的合理性，我们以会员样本数为横轴，纵坐标为打分情况见图12、见图13所示。 图12. 优质男会员分布图 图13. 优质女会员分布图 从上图气泡的分布情况来看，根据主成分分析法打出的人评分，在各个分数段均有分布，分布总体呈现比较均匀的趋势，能够比较良好的反应，这一整个打分系统的稳定性和可信度。从图中显示的优质男会员和优质女会员的分布来看，分布在样本数据的各个层次，并没有出现数据吞食的状况。虽然该数据成分没有考虑到地区的因素，但是他比较有针对性的，针对男会员和女会员的区别，做出了相对良好的筛选。在评分过程中存在出现负分的现象，虽然在实际意义中并没有真实的价值。但是该副职只是表明该会员的各个条件相比于其他会员来说较差。通过分布图，我们可以发现，对于打分比较低的会员，在整个样本中所占取的数量相对较少，这也再次印证了利用主成分分析法对男女会员进行甄别的方法是可行的 [ 5 ]。 6.3.4. 模型灵敏度分析 除了上述验证该系统的合理性外，还需要引进更加合理的参数对这个系统进行评价，这里我们采用云模型，对我们建立的模型进行灵敏度分析。 云模型通过期望，熵，超熵三个量表示该数据的特征。通过对已知数据生成足够的云堤和计算这些云低的数字特征来评判，这些数据的确定度，从而验证该数据的水平度。 在这里我们分别把女会员和男会员的评判得分随机的抽取相同的值代入云模型，进行灵敏度分析，得到如图14、图15所示的两个评分模型还原图。女性见图14，男性见图15。 图14. 女性 图15. 男性 通过对女生和男生的评判模型还原图，我们可以发现，绝大多数的评分，其确定度均高于0.6，符合合理数据的分布规律。在女会员和男会员的确定度为0.8到1的这些数据中，占据了整个评判的绝大部分。同时该模型的离散程度也较强。因此该模型的灵敏度较为良好，可以比较准确客观的反映出所选优质会员的程度。