24小时热门版块排行榜    

查看: 4136  |  回复: 19

kele1982

金虫 (正式写手)

[交流] 【求助】QSAR模型中交叉验证系数(q2)怎么获得? 已有2人参与

请问我用逐步回归分析方法得到一个QSAR模型,但是结果里面没有交叉验证系数q2(英文叫: leave-one-out),请问怎么计算得到啊?谢谢
回复此楼
踏上科研不归路!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

yalefield

金虫 (文坛精英)

老汉一枚

★ ★ ★ ★ ★
yyx19840628(金币+2,VIP+0):谢谢 2-11 10:44
kele1982(金币+3,VIP+0):谢谢! 2-15 10:29
请给出一些细节.
如,用的什么软件?
还是自己编写程序?

训练集和测试集是怎么划分的?

Leave-one-out(LOO), 叫做留一法(当然,还有留N法)
训练集和测试集都要用到留一法。
3楼2009-02-11 10:14:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)

老汉一枚

抱歉抱歉,是俺老糊涂了。

★ ★ ★ ★
xuefei06(金币+4,VIP+0):thanks! 2-13 21:14
俺把留一法和留多法搞混淆了,因此造成误解。作揖。

你的q2计算法是正确的。

俺本来的意思,是想说除了留一法,还有留多法。
为啥只留一个?留俩、仨,行不行?
于是,就引申出多种交叉验证方法。

下面是百度百科上介绍的“十折交叉验证”。
------------------------------------
英文名叫做10-fold cross-validation,用来测试算法准确性。是常用的测试方法。

将数据集分成十分,轮流将其中9份作为训练数据,1份作为测试数据,进行试验。每次试验都会得出相应的正确率(或差错率)。10次的结果的正确率(或差错率)的平均值作为对算法精度的估计,一般还需要进行多次10折交叉验证(例如10次10折交叉验证),再求其均值,作为对算法准确性的估计

之所以选择将数据集分为10份,是因为通过利用大量数据集、使用不同学习技术进行的大量试验,表明10折是获得最好误差估计的恰当选择,而且也有一些理论根据可以证明这一点。但这并非最终诊断,争议仍然存在。而且似乎5折或者20折与10折所得出的结果也相差无几。
------------------------------------

其中,多次10折交叉验证之说,对于留一法来说,就没有必要了。

最近有论文指出,交叉验证和Bootstrape方法不适合QSAR这种小样本的建模。
待俺走上前去,杀它个......PDF回来。

下面是Carnegie Mellon University的Andrew W. Moore教授关于交叉验证的PPT.
11楼2009-02-12 21:37:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

whitewatercn

银虫 (小有名气)

讨论得挺热闹啊

★ ★ ★ ★
xuefei06(金币+4,VIP+0):thanks! 2-13 21:17
所谓多模型共识,在计算机专业叫做”集成学习“(ensemble learning),什么 Bagging, Boosting,Random Forest 。。。都属于此类

另外一个常用的关键词是Consensus ,  如 Consensus Docking (Scoring) , Consensus QSAR (models).

多模型共识有两个重要原则: accurate and diverse
accurate 就是说各个模型都要比较准确,好模型+好模型=更好模型,好模型+差模型=中模型
diverse就是说各个模型的预测结果要有较大的差异性,这样才有可能互补。如果各个模型的误差是随机分布,那平均起来就抵消了,如果存在系统误差,则无法抵消。



集成学习在CS中已经有些年头了,但在化学中最近似乎比较热。没办法,要发文章就要炒作”新概念“,若干年以后,所有的泡沫都会消失,只剩下少数闪光的沉积物。。。。。
17楼2009-02-13 11:01:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

snoopyzhao

至尊木虫 (职业作家)


yyx19840628(金币+1,VIP+0):谢谢 2-11 10:44
根据 leave-one-out 的算法自己编程序算吧,如果你现在的统计程序不提供的话
2楼2009-02-11 08:43:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

引用回帖:
Originally posted by yalefield at 2009-2-11 10:14:
训练集和测试集是怎么划分的?

训练集和测试集都要用到留一法。

跟贴请教老汉两个问题:

1)通常训练集与测试集应该如何划分?

2)测试集如何用到留一法?我只知道对训练集使用留一法。

谢谢指教!
4楼2009-02-11 11:08:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)

老汉一枚

★ ★ ★ ★ ★ ★ ★
xuefei06(金币+5,VIP+0):thanks! 2-11 22:47
kele1982(金币+2,VIP+0):谢谢! 2-15 10:30
(1)训练集与测试集的划分,本质上是一个实验设计问题。目前没有最好的,但D-optimal是一种选择。

(2)q2也好,R2也好,本质上其计算来自一组样本的观测值(或回归值)、平均值。
很明显,样本不同,这两个值肯定会变。

仅就含N个样本的训练集来说,采用LOO,即每次选9个样本(留下一个样本),那么就应该产生N个模型,也就有N个q2。

再看含有M个样本的测试集。

(1)如果只选择一个模型来预测,那么每个测试集样本都得到一个预测值。
        进一步,可以用这些预测值(与观测值、平均值一起),计算R2.
        可是,如果少选测试集中的一个样本,那么计算出来的R2是不是就变了?

(2)如果用前面的N个模型来预测,每个样本就会得到N个预测值。
       嘻嘻,那么.....
5楼2009-02-11 22:25:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★
gwdavid(金币+2,VIP+0):感谢交流 2-12 12:46
首先谢谢关于第一个问题的回答,我一直是用随机选择的方式来选,但总觉得有点儿不对劲儿,回头仔细看看您提到的 D-optimal
引用回帖:
Originally posted by yalefield at 2009-2-11 22:25:
仅就含N个样本的训练集来说,采用LOO,即每次选9个样本(留下一个样本),那么就应该产生N个模型,也就有N个q2。

这个,我不能理解。我的印象中,对于 N 个样本的训练集来说,采用 LOO,最终也只有一个 q2。

关于最后两点,我再体会一下。

或许一个数值的例子会更方便理解,呵呵……
6楼2009-02-12 10:16:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)

老汉一枚

留一法的问题,是留哪一个?那不如每个都留一次。
7楼2009-02-12 14:35:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

Loo 不就是每个都留一次吗?
8楼2009-02-12 14:55:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)

老汉一枚

★ ★ ★
xuefei06(金币+3,VIP+0):thanks! 2-12 20:13
30个样本的训练集,每次留1个,用其余29个建模。
由于每次留的那一个是以前没有留过的,所以每次那29个也是一种新的组合。
而且,一共有30种组合。

每种组合都可以用来建模,那就有30个q2。

你有什么理由从这30个模型只要1个模型来预测训练集捏?
那就要看这30个q2的分布情况咯。

这就要求Consensus(共识)。
也就是要民主。
9楼2009-02-12 18:58:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★ ★ ★
xuefei06(金币+0,VIP+0):thanks! 2-12 20:13
yuhuobuku(金币+4,VIP+0):欢迎参加讨论 4-8 09:35
您这里所说的 q2 是如何计算的?

以您的贴子中的数据为例,29个数据建立了一个模型,然后用这个模型预测哪能个样本来获得 q2? 如果我没有理解错的话,应该用这个模型去预测被留在外面的那个样本,这样会获得一个预测值,当所有的被留在外面的样本都被预测后,会获得 30 个预测值,然后根据这 30 个预测值与 30 个样本数据来计算 q2。这就是我所说的 q2。似乎 SAS 给出的 q2 就是这样计算的。

您的意思是 29 个数据建立了一个模型,然后用这个模型去预测全部 30 个样本吗?这样会获得一个 q2。最后从 q2 的分布情况中选择一个模型来预测测试集?根据什么来选择呢?最大的?那么这个模型只有 29 个样本组成的啊,不是我们一开始划出的 30 个样本的模型啊?

谢谢!

到底是哪种情况?有没有可供参考的文献啊?
10楼2009-02-12 19:47:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 kele1982 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 朋友圈看到的 +7 wangzilk 2026-08-18 9/450 2026-08-24 10:50 by cmrandy
[基金申请] 能否退出参与的面上项目解除限项 +11 koalala 2026-08-24 13/650 2026-08-24 10:49 by anjeeshine
[基金申请] 范进中举一文的中心思想 +5 炎黄贵胄 2026-08-22 6/300 2026-08-24 06:34 by sincosx
[基金申请] 建议基金发布提前给出明确的时间点 +11 kulium 2026-08-21 14/700 2026-08-24 02:12 by 流流伤
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +4 process2012 2026-08-23 5/250 2026-08-23 19:58 by jurkat.1640
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
[基金申请] 今天放榜吗? +15 布布和一二 2026-08-19 16/800 2026-08-23 09:55 by 张春生
[基金申请] 93BebMhtakh前后11位开头都是大写 +7 且听虎啸 2026-08-17 8/400 2026-08-22 21:55 by 医学老男孩
[基金申请] filecode,4个jtjc了 +13 ziyangfang 2026-08-19 16/800 2026-08-22 17:08 by WH3796
[基金申请] 人气不行了 +8 fansofjerry 2026-08-21 8/400 2026-08-22 16:30 by zyqchem
[基金申请] 今天基金会出结果吗?20260819 +16 kkkl_v 2026-08-19 17/850 2026-08-22 16:12 by 阿布Abu
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[论文投稿] 投稿咨询 +5 wwm09 2026-08-17 7/350 2026-08-21 10:11 by 期刊论文帮手
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
信息提示
请填处理意见