Questions tagged «model-selection»

模型选择是判断某个集合中哪个模型效果最好的问题。流行的方法包括,AIC和BIC标准,测试集和交叉验证。在某种程度上,特征选择是模型选择的一个子问题。 R2

3
使用交叉验证时针对一种标准错误规则的经验论证
是否有任何经验研究证明使用一个标准误差规则来支持简约?显然,这取决于数据的数据生成过程,但是任何分析大量数据集的内容都会非常有趣。 通过交叉验证(或更普遍地通过任何基于随机化的过程)选择模型时,将应用“一个标准错误规则”。 假设我们考虑由复杂性参数索引的模型,使得恰好在时比 “复杂” 。进一步假设我们通过某种随机化过程(例如,交叉验证)评估模型的质量。让表示的“平均”质量,例如,在许多交叉验证运行,平均出球袋预测误差。我们希望最小化此数量。 τ ∈ [R 中号τ 中号τ ' τ > τ '中号q (中号)中号MτMτM_\tauτ∈Rτ∈R\tau\in\mathbb{R}MτMτM_\tauMτ′Mτ′M_{\tau'}τ>τ′τ>τ′\tau>\tau'MMMq(M)q(M)q(M)MMM 但是,由于我们的质量度量来自某种随机化程序,因此具有可变性。令表示随机试验中的质量标准误差,例如,交叉验证试验中的袋外预测误差的标准偏差。M Ms(M)s(M)s(M)MMMMMM 然后我们选择模型,其中是最小的使得 τ τMτMτM_\tauττ\tauττ\tau q(Mτ)≤q(Mτ′)+s(Mτ′),q(Mτ)≤q(Mτ′)+s(Mτ′),q(M_\tau)\leq q(M_{\tau'})+s(M_{\tau'}), 其中索引(平均)最佳模型。τ′τ′\tau'q(Mτ′)=minτq(Mτ)q(Mτ′)=minτq(Mτ)q(M_{\tau'})=\min_\tau q(M_\tau) 也就是说,我们选择最简单的模型(最小的 ττ\tau),在随机化过程中,该模型的误差不超过最佳模型Mτ′Mτ′M_{\tau'}。 我已经在以下地方找到了这种“一个标准错误规则”,但是从来没有任何明确的理由: Breiman,Friedman,Stone&Olshen(1984)的分类树和回归树中的第80页 Tibshirani,Walther和Hastie的《通过间隙统计估计数据集中的簇数》中的第415页(JRSS B,2001年)(参考Breiman等人)。 Hastie,Tibshirani和Friedman在2009年的《统计学习要素》中的第61和244页 Hastie,Tibshirani和Wainwright(2015)在《稀疏的统计学习》中的第13页


1
何时才真正需要嵌套交叉验证,并且可以在实践上有所作为?
使用交叉验证进行模型选择(例如,超参数调整)并评估最佳模型的性能时,应使用嵌套交叉验证。外环用于评估模型的性能,内环用于选择最佳模型。在每个外部训练集上选择模型(使用内部CV回路),并在相应的外部测试集上评估其性能。 这已经在很多线程中进行了讨论和解释(例如,在这里进行交叉验证后使用完整数据集进行培训吗?,请参阅@DikranMarsupial的答案),并且对我来说是完全清楚的。仅对模型选择和性能评估进行简单的(非嵌套)交叉验证会产生正偏差的性能评估。@DikranMarsupial在有关此主题的2010年论文中(关于模型选择中的过拟合和性能评估中的后续选择偏差),第4.3节称为“模型中的过拟合是否真的是真正的关注点”?-文件显示答案是肯定的。 综上所述,我现在正在使用多元多元岭回归,并且我看不到简单CV和嵌套CV之间的任何区别,因此在这种特殊情况下嵌套CV看起来像是不必要的计算负担。我的问题是:在什么条件下简单的简历会产生明显的偏差,而嵌套的简历可以避免这种情况?嵌套CV在实践中什么时候重要,什么时候没什么关系?有没有经验法则? 这是使用我的实际数据集的说明。水平轴是对脊回归的对。垂直轴是交叉验证错误。蓝线对应于简单的(非嵌套)交叉验证,具有50个随机的90:10训练/测试分割。红线对应于具有50个随机90:10训练/测试分割的嵌套交叉验证,其中使用内部交叉验证循环(也是50个随机90:10分割)选择λ。线是超过50个随机分割的平均值,阴影显示± 1标准偏差。log(λ)log⁡(λ)\log(\lambda)λλ\lambda±1±1\pm1 λλ\lambdaλλ\lambda 更新资料 实际上是这样:-)只是差别很小。这是放大图: λ=0.002λ=0.002\lambda=0.002505050 λ=0.002λ=0.002\lambda=0.002 (我将整个过程运行了几次,并且每次都会发生。) 我的问题是,在什么情况下我们可以期望这种偏见是微不足道的?在什么情况下我们不应该这样?

7
选择要包含在多元线性回归模型中的变量
我目前正在使用多元线性回归建立模型。在摆弄我的模型之后,我不确定如何最好地确定要保留哪些变量以及要除去哪些变量。 我的模型从DV的10个预测变量开始。当使用所有10个预测变量时,有4个被认为是重要的。如果仅删除一些明显不正确的预测变量,那么一些最初不重要的预测变量将变得很重要。这使我想到了一个问题:如何确定要在模型中包括哪些预测变量?在我看来,您应该对所有预测变量运行一次模型,删除不重要的预测变量,然后重新运行。但是,如果只删除其中一些预测变量会使其他预测变量变得重要,那么我想知道我是否对所有这些方法都采用了错误的方法。 我认为该主题与我的问题类似,但是我不确定我是否正确解释了讨论内容。也许这更多是一个实验性设计主题,但也许有人可以分享一些经验。

3
模型的Akaike信息标准(AIC)得分是什么意思?
我在这里看到了一些关于外行的含义的问题,但是对于我来说,这些对于我来说太过外行了。我试图从数学上理解AIC分数的含义。 但是同时,我也不想得到一个严格的证据,使我看不到更重要的观点。例如,如果这是微积分,那么我将对无穷小感到满意,而如果这是概率论,那么如果没有度量理论,我将感到满意。 我的尝试 通过在此处阅读以及我自己的一些表示法糖AICm,DAICm,D\text{AIC}_{m,D}是数据集D上模型的AIC准则,如下所示: AIC m ,D = 2 k m − 2 ln (L m ,D) 其中k m为模型m的参数个数,L m ,D是模型m在数据集D上的最大似然函数值。mmmDDDAICm,D=2km−2ln(Lm,D)AICm,D=2km−2ln⁡(Lm,D) \text{AIC}_{m,D} = 2k_m - 2 \ln(L_{m,D}) kmkmk_mmmmLm,DLm,DL_{m,D}mmmDDD 这是我对上述含义的理解: m=arg maxθPr(D|θ)m=arg maxθPr(D|θ) m = \underset{\theta}{\text{arg max}\,} \Pr(D|\theta) 这条路: kmkmk_m是的参数数。mmm Lm,D=Pr(D|m)=L(m|D)Lm,D=Pr(D|m)=L(m|D)L_{m,D} = \Pr(D|m) = \mathcal{L}(m|D)。 现在让我们重写AIC: AICm,D===2km−2ln(Lm,D)2km−2ln(Pr(D|m))2km−2loge(Pr(D|m))AICm,D=2km−2ln⁡(Lm,D)=2km−2ln⁡(Pr(D|m))=2km−2loge⁡(Pr(D|m))\begin{split} \text{AIC}_{m,D} =& 2k_m - …

2
模型选择和交叉验证:正确的方法
CrossValidated中有许多关于模型选择和交叉验证的主题。这里有一些: 内部与外部交叉验证和模型选择 @DikranMarsupial 对特征选择和交叉验证的最佳答案 但是,这些线程的答案是相当通用的,并且大多突出了交叉验证和模型选择的特定方法的问题。 为了使事情尽可能具体,例如,假设我们正在使用带有RBF内核的SVM: ,并且我有一个特征X和标签y的数据集,我想ķ(x ,x′)= (γ| x − x′| )2K(x,x′)=(γ|x−x′|)2K(x, x' ) = (\gamma \, \vert x - x'\vert)^2 找到我的模型的最佳值(和çγγ\gammaCCC) 用我的数据集训练SVM(用于最终部署) 估计泛化误差和该误差周围的不确定性(方差) 为此,我将亲自进行网格搜索,例如,尝试和每种可能组合 。为简单起见,我们可以假设以下范围:γCCCγγ\gamma C∈ { 10 ,100 ,1000 }C∈{10,100,1000}C \in \{10, 100, 1000\} γ∈ { 0.1 ,0.2 ,0.5 ,1.0 }γ∈{0.1,0.2,0.5,1.0}\gamma \in \{0.1, 0.2, 0.5, 1.0\} 更具体地说,使用我的完整数据集,我可以执行以下操作: …



1
什么是后验预测检查,什么使它们有用?
我了解后验预测分布是什么,并且我一直在阅读有关后验预测检查的信息,尽管我尚不清楚它的作用。 后验检查到底是什么? 为什么有些作者说进行后验预测检查是“两次使用数据”并且不应被滥用?(甚至不是贝叶斯)?(例如,看到这个或这个) 这项检查到底有什么用?真的可以用于模型选择吗?(例如,是否同时考虑适应性和模型复杂性?)

5
AIC选型指南
我通常使用BIC,因为我的理解是与AIC相比,它更重视简约。但是,我现在决定使用一种更全面的方法,并且也希望使用AIC。我知道Raftery(1995)为BIC差异提出了很好的指导原则:0-2弱,2-4是一个模型更好的积极证据,依此类推。 我在教科书上看过,它们在AIC上似乎很奇怪(看起来差异较大,AIC差异较小意味着一个模型更好)。这违背了我所学的知识。我的理解是您希望降低AIC。 有谁知道Raftery的指南是否也适用于AIC,或者我会在哪里引用某个模型相对于另一个模型的“证据强度”指南? 是的,临界值并不是很好(我觉得它们很恼人),但是在比较不同种类的证据时它们很有用。

6
简约应该真的仍然是黄金标准吗?
只是一个想法: 简约模型一直是模型选择的默认选择,但是这种方法在多大程度上已经过时了?我对我们的简约化趋势多少是一次算盘和滑动规则(或更确切地说,是非现代计算机)的遗迹感到好奇。当今的计算能力使我们能够构建越来越复杂的模型,并且具有越来越强大的预测能力。由于计算能力不断提高的上限,我们是否真的仍然需要趋向于简化? 当然,更简单的模型更易于理解和解释,但是在数据量不断增长,变量数量越来越多,并且转向更加关注预测能力的时代,这可能甚至不再可能实现或不必要。 有什么想法吗?

3
是否可以为套索回归模型计算AIC和BIC?
是否可以为套索回归模型和其他正则化模型(参数仅部分进入方程式)计算AIC或BIC值。如何确定自由度? 我正在使用R将套索回归模型与程序包中的glmnet()函数进行拟合glmnet,并且我想知道如何计算模型的AIC和BIC值。通过这种方式,我可以将值与没有正则化的模型拟合进行比较。这可能吗?
31 r  model-selection  lasso  aic  bic 

1
交叉验证滥用(报告性能以获得最佳超参数值)
最近,我遇到了一篇论文,提出在特定数据集上使用k-NN分类器。作者使用所有可用的数据样本对不同的k值执行k倍交叉验证,并报告最佳超参数配置的交叉验证结果。 据我所知,这个结果是有偏差的,他们应该保留一个单独的测试集,以获取未用于执行超参数优化的样本的准确性估计。 我对吗?您能否提供一些参考(最好是研究论文)来描述交叉验证的这种滥用?

3
是否为LASSO重新调整指标/二进制/虚拟预测值
对于LASSO(和其他模型选择程序),重新调整预测变量至关重要。我遵循的一般 建议 是对连续变量使用0均值,1标准差归一化。但是假人有什么关系呢? 例如,来自同一所(优秀)暑期学校的一些应用示例,我将其连续变量的比例调整为0到1(尽管离群值并不大),可能与假人相当。但是,即使那样也不能保证系数应该在相同的数量级上,并因此受到类似的惩罚,这是重新缩放的主要原因,不是吗?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.