24小时热门版块排行榜    

查看: 655  |  回复: 2
当前主题已经存档。

veradpp

木虫 (正式写手)

[交流] 求助:QSAR模型的验证

各位虫友有做过QSAR的吗?
  我打算建立一个bp的预测模型,请问怎样来验证这个数学模型的稳定性和泛化能力??

  一般回归方程中的R2代表什么意思?这个和交叉验证的q2有什么区别?

交叉验证和外部验证具体应该怎么实施?各自的评价目标是什么?好的模型的标准是什么?
   是用交叉验证得到的模型来预测外部验证集的数据吗?

   问题很多,希望大家帮忙,谢谢了
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)

老汉一枚

★ ★
veradpp(金币+1):高屋建瓴,多谢
小小强(金币+1):支持积极应助。。
1、已知活性样本分为训练和测试两组
   如何分?按活性排序,尽量使测试组的活性位于训练组的活性之内。关于这个,就有N篇论文(统计学/QSAR)。

2、用训练集建立模型,得到R2
     R2的定义,自己查书吧。R2代表的是模型自身的情况,“自我陶醉”。
   建模的方法有很多,线性(ANOVA, MLR, PLS等)、非线性(ANN/BP, SVM)等。
   很多教科书和文献,对此语焉不详,或者错误。

   注意:
   (1)交叉验证:
        最简单的“留一法”:
        假如训练组有n个样本,不论用什么建模方法,都应该拿出1个不参加建模。
        用n-1个训练样本建模,然后用模型预测那个没参加建模的活性(即回归)。
        这样,轮流做n次,就有n个模型、n个R2。
        当然,也可以用"留m法(m
   (2)变量选择:
        如果自变量很多,那么还需要进行变量选择。这够写一本书。
        简单来说,可以用遗传算法,帮助进行。

3、用测试集检验模型,得到q2
   R2与q2的计算公式其实是一样的,只不过R2的数据来自训练组,而q2的数据来自测试组。
   q2的含义是模型的预测能力,“与我同醉/罪”。
   也就是说,按照训练过程所建立的n个模型,对测试组的每个样本的活性都进行预测,每个测试组样本都得到的预测值(计算值)。对于每个模型来说,用所有测试样本的预测值与已知活性值,就可以得到的它的q2。
   n个模型,就会有n个q2。

4、模型选择
   这个比变量选择简单多了。
   R2与q2分别做横轴、纵轴。
   训练过程所建立的n个模型(每个模型都用于了对测试组进行测试),在这个坐标系内,就是一个点。例如:
   M(0.83, 0.77): 这个点,代表用那个R2为0.83的模型预测了测试组的每个样本,得到1个q2=0.77。
   不难想象,那些q2与R2都比较接近1的模型们,是“好”模型。
   容易推出:
   (1)仅仅R2很大,而q2很小,也不是好模型(自我满足,预测能力差)
   (2)仅仅q2很大,而R2很小,也不是好模型(预测碰巧好,其实一团糟)

5、优化:
   从上述之4,那些R2已经很差的,其实也没有必要用来预测了。

6、应用:

   用“最好”的模型们,来预测那些活性未知样本。
2楼2007-03-22 00:34:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 veradpp 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见