本文已参与「新人创作礼」活动.一起开启掘金创作之路。
2 模型的假设与符号
2.1 模型的假设
假设1:在进行化合物活性测试数据采集时,化合物活性未受其他自然因素的影响。
假设2:假设附件中的数据是在准确的情况下得到的。
2.2 符号说明
本文用到的符号及意义如表2.1所示
表2.1主要符号及其意义
| 符号 | 说明 |
|---|---|
| Ridge | 岭回归模型 |
| RF | 随机森林预测模型 |
| ElasticNet | 弹性网络回归模型 |
| DE | 多目标差分进化算法 |
注:为方便论文阅读,模型涉及到的部分参量符号未在表中一一列举,而是在各表达式后进行解释说明。
3 问题一的解答
3.1 问题一分析
根据文件“Molecular_Descriptor.xlsx”和“ERα_activity.xlsx”提供的数据,针对1974个化合物的729个分子描述符进行变量选择,根据变量对生物活性影响的重要性进行排序,并给出前20个对生物活性最具有显著影响的分子描述符(即变量),因此可以建立回归模型对数据进行训练,完成变量的选择。
首先需要对Molecular_Descriptor.xlsx中的数据进行数据清洗,完成标准化处理,使数据分布在[0,1]区间内,然后搭建不同的回归模型,包括线性回归模型、Lasso回归模型、岭回归模型和弹性网络回归模型,然后设计每个模型的参数,分别获得每个模型选出的最优的20个变量。然后在第二问利用20个变量对化合物的活性进行预测,选取预测结果最好作为第一问的最终结果。
问题一的解决流程图如下:
3.2 模型的建立与求解
3.2.1 数据预处理
( 1 )标准化处理****
不同类型的数据往往不在一个指标体系中,由于指标性质的不同,训练数据往往具有不同的单位和数量级,数值大小也可能有较大的差距,这样不利于下一步的数据处理,可能加重神经网络模型搭建的时间和准确度。另外,在神经网络模型中,当数据存在较大的差异时,往往数值大的数据所占的权重在整体分析中将比较大,数值小的数据将可能被忽略。因此需要对数据样本进行标准化处理,按照统一的标准和范围对数据进行变换,将数值限制在一个统一的范围,方便下一步的处理。
( 2 )相关性处理****
如果多个变量的相关系数一致或接近,那么其对于活性的预测将起到相同的作用,因此可以将相关系一致的数据进行筛选,只保留少量数据,尽可能将对化合物起到不同作用的变量选择出来,提高模型预测的鲁棒性。
数据预处理算法需要将1974个化合物的729个分子描述符数据进行处理,需要完成图3.2所示的功能。
模型求解:****
1)本文采取最小-最大值转化方法进行数据标准化处理,利用公式(3.1)将数据变换到[0,1]区间内,这样数据就转换为无量纲的数据了,转化公式如下:
其中x为不同类型的训练数据,为某一类型中所有数据的最小值,
为某一类型中所有数据的最大值,
为标准化处理后的数值。
2)对标准化处理后的数据,对729个变量进行相关性分析,如果两个或多个变量的相关系数在0.8以上,那么就认定这些变量对化合物活性的影响作用是一致的,进而将这些变量筛选掉,只保留一个变量。
3.2.2 基于线性回归模型的变量提取
在3.2.1中获得滤波后的数据之后,可以获得平滑的训练数据,为了找到1974个化合物的729个分子描述符中前20个对生物活性最具有显著影响的分子描述符,可以使用回归模型进行训练。
根据题目描述可知,在ERα_activity.xlsx文件中,IC50表示化合物对ERα的生物活性值,取IC50值的负对数可得pIC50,该值通常与生物活性具有正相关性,即pIC50值越大表明生物活性越高;实际QSAR建模中,一般采用pIC50来表示生物活性值,因此如果需要在729个分子描述符中找到前20个对生物活性最具有显著影响的分子描述符,可以将pIC50作为目标值,将729个分子描述符数据作为因变量,目标值是所有自变量的线性组合。
1)首先随机设置相关系数
值
2)使用的当前值来获得预测
3)取预测值和标签值之间的所有平方差的平均值来计算误差(也称为均方误差MSE)