Questions tagged «model-selection»

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

6
比较来自两个不同随机森林模型的R平方
我正在R中使用randomForest包来开发随机森林模型,以试图解释“宽”数据集中的连续结果,其预测因子比样本多。 具体来说,我正在拟合一个RF模型,允许该过程从大约75个我认为重要的预测变量中进行选择。 我正在使用先前在此处发布的方法,测试该模型对保留测试集的实际结果的预测效果如何,即 ...或在R中: 1 - sum((y-predicted)^2)/sum((y-mean(y))^2) 但是现在我可以添加大约25个预测变量。当使用〜100个预测变量集时,R²较高。我要统计测试,换句话说,使用set〜100预测的时候,做了模型试验显著更好比使用〜75个预测模型拟合测试数据。即,测试射频模型在整个数据集上的拟合度所产生的R²明显高于测试射频模型在缩减后的数据集上进行拟合所产生的R²。 这对我来说很重要,因为这是试验数据,要获得额外的25个预测指标非常昂贵,而且我需要知道是否应该在较大的后续研究中为这些预测指标进行测量。 我正在尝试考虑某种重采样/置换方法,但是什么也没想到。

2
是否存在模型拟合统计量(例如AIC或BIC)可用于绝对比较而不是相对比较?
我对这本文献不那么熟悉,所以如果这是一个明显的问题,请原谅我。 由于AIC和BIC依赖于最大化可能性,因此似乎只能将它们用于试图拟合给定数据集的一组模型之间的相对比较。根据我的理解,在数据集1上计算模型A的AIC,在数据集2上计算模型B的AIC,然后比较两个AIC值并判断(例如),这没有任何意义。模型A适合数据集1比模型B适合数据集2。或者也许我弄错了,这是合理的做法。请告诉我。 我的问题是:是否存在可以用于绝对而非相对比较的模型拟合统计量?对于线性模型,像这样的东西会起作用。它具有定义范围,并针对什么是“良好”价值制定了特定于学科的想法。我正在寻找更一般的东西,并认为我可以先在这里联系专家。我敢肯定有人曾经考虑过这种事情,但是我不太了解在Google学术搜索上进行有效搜索的正确用语。[R2[R2R^2 任何帮助,将不胜感激。

3
广义线性混合模型:模型选择
这个问题/主题是在与一位同事的讨论中提出的,我正在就此寻求一些意见: 我正在使用随机效应逻辑回归建模一些数据,更确切地说是随机截距逻辑回归。对于固定效果,我有9个有趣且值得考虑的变量。我想进行某种模型选择,以找到重要的变量并给出“最佳”模型(仅主要效果)。 我的第一个想法是使用AIC比较不同的模型,但是使用9个变量,我比较比较2 ^ 9 = 512个不同的模型(关键字:数据挖掘)并不太令人兴奋。 我与一位同事讨论了这个问题,他告诉我,他记得曾经读过关于对GLMM使用逐步(或向前)模型选择的文章。但是应该使用AIC作为进入/退出标准,而不是使用p值(例如,基于GLMM的似然比检验)。 我发现这个想法非常有趣,但是我没有找到进一步讨论此问题的参考资料,而我的同事不记得他在哪里读过。许多书籍建议使用AIC来比较模型,但是我没有找到关于将其与逐步或向前模型选择过程一起使用的任何讨论。 所以我基本上有两个问题: 在逐步模型选择过程中将AIC用作进入/退出标准有什么问题吗?如果是,那有什么选择? 您是否有参考资料讨论上述过程(也作为最终报告的参考资料? 最好, 艾米利亚

3
贝叶斯模型选择和可信区间
我有一个包含三个变量的数据集,其中所有变量都是定量的。让我们将其称为,和。我通过MCMC在贝叶斯角度拟合回归模型yyyx1x1x_1x2x2x_2rjags 我进行了探索性分析,的散点图建议应使用二次项。然后我装了两个模型y×x2y×x2y\times x_2 (1)y=β0+β1∗x1+β2∗x2y=β0+β1∗x1+β2∗x2y=\beta_0+\beta_1*x_1+\beta_2*x_2 (2)y=β0+β1∗x1+β2∗x2+β3∗x1x2+β4∗x21+β5∗x22y=β0+β1∗x1+β2∗x2+β3∗x1x2+β4∗x12+β5∗x22y=\beta_0+\beta_1*x1+\beta_2*x_2+\beta_3*x_1x_2+\beta_4*x_1^2+\beta_5*x_2^2 在模型1中,每个参数的效果大小都不小,并且95%可信区间的值不为。000 在模型2中,参数和的效果大小较小,并且所有参数的可信区间均包含。β3β3\beta_3β4β4\beta_4000 可信区间包含的事实足以说明该参数不重要吗?000 然后我调整了以下模型 (3)y=β0+β1∗x1+β2∗x2+β3∗x22y=β0+β1∗x1+β2∗x2+β3∗x22y=\beta_0+\beta_1*x_1+\beta_2*x_2+\beta_3*x^2_2 每个参数的效果大小都不小,但是除外,所有可信区间都包含。 0β1β1\beta_1000 在贝叶斯统计中进行变量选择的正确方法是哪种? 编辑:我可以在任何回归模型(如Beta模型)中使用套索吗?我使用的是变量分散的模型,其中 其中是向量。我也应该在使用Laplace 吗?δlog(σ)=−δδXlog(σ)=−δδXlog(\sigma)=-\pmb{\delta}Xδδδδδ\pmb{\delta}δδδδ\pmb{\delta} EDIT2:我安装了两个模型,一个模型具有针对,高斯先验模型,另一种具有Laplace(double-exponential)模型。δ Ĵβjβj\beta_jδjδj\delta_j 高斯模型的估计是 Mean SD Naive SE Time-series SE B[1] -1.17767 0.07112 0.0007497 0.0007498 B[2] -0.15624 0.03916 0.0004128 0.0004249 B[3] 0.15600 0.05500 0.0005797 0.0005889 B[4] 0.07682 0.04720 0.0004975 0.0005209 delta[1] -3.42286 0.32934 0.0034715 0.0034712 …

1
哪种深度学习模型可以对不互斥的类别进行分类
示例:我的职位描述中有一句话:“英国Java高级工程师”。 我想使用深度学习模型将其预测为2类:English 和IT jobs。如果我使用传统的分类模型,则只能预测softmax最后一层具有功能的标签。因此,我可以使用2个模型神经网络来预测两个类别的“是” /“否”,但是如果我们有更多类别,那就太贵了。那么,我们是否有任何深度学习或机器学习模型可以同时预测2个或更多类别? “编辑”:使用传统方法使用3个标签,它将由[1,0,0]编码,但在我的情况下,它将由[1,1,0]或[1,1,1]编码 示例:如果我们有3个标签,并且所有这些标签都适合一个句子。因此,如果softmax函数的输出为[0.45,0.35,0.2],我们应该将其分类为3个标签或2个标签,或者可以是一个?我们这样做的主要问题是:分类为1个,2个或3个标签的最佳阈值是多少?
9 machine-learning  deep-learning  natural-language  tensorflow  sampling  distance  non-independent  application  regression  machine-learning  logistic  mixed-model  control-group  crossover  r  multivariate-analysis  ecology  procrustes-analysis  vegan  regression  hypothesis-testing  interpretation  chi-squared  bootstrap  r  bioinformatics  bayesian  exponential  beta-distribution  bernoulli-distribution  conjugate-prior  distributions  bayesian  prior  beta-distribution  covariance  naive-bayes  smoothing  laplace-smoothing  distributions  data-visualization  regression  probit  penalized  estimation  unbiased-estimator  fisher-information  unbalanced-classes  bayesian  model-selection  aic  multiple-regression  cross-validation  regression-coefficients  nonlinear-regression  standardization  naive-bayes  trend  machine-learning  clustering  unsupervised-learning  wilcoxon-mann-whitney  z-score  econometrics  generalized-moments  method-of-moments  machine-learning  conv-neural-network  image-processing  ocr  machine-learning  neural-networks  conv-neural-network  tensorflow  r  logistic  scoring-rules  probability  self-study  pdf  cdf  classification  svm  resampling  forecasting  rms  volatility-forecasting  diebold-mariano  neural-networks  prediction-interval  uncertainty 

2
为什么在时间序列模型中使用信息标准(未调整的
在时间序列模型(例如ARMA-GARCH)中,为了选择模型的适当滞后或阶数,使用了不同的信息标准(例如AIC,BIC,SIC等)。 我的问题很简单,为什么不使用调整后的[R2R2R^2选择合适的模型?我们可以选择导致较高的值的模型[R2R2R^2。因为调整后的[R2R2R^2和信息准则都会对模型中更多数量的回归变量进行惩罚,因此前者惩罚[R2R2R^2而后者则惩罚似然值。

4
解释AIC值
我在逻辑模型中看到的AIC的典型值是数千,至少数百。例如,在http://www.r-bloggers.com/how-to-perform-a-logistic-regression-in-r/上 ,AIC为727.39 虽然总是说AIC仅应用于比较模型,但我想了解特定AIC值的含义。根据公式, 一个我C= - 2 日志(L )+ 2 K一个一世C=-2日志⁡(大号)+2ķAIC= -2 \log(L)+ 2K 其中,L =来自MLE估计器的最大似然,K是参数数量 在上面的示例中,K = 8 因此,用简单的算术: 727.9 = -2*log(L)+ 2*8 Hence, 711.39 = -2*log(L) Hence, log (L)= 711.39/-2 = -355.695 Hence, L = exp(-355.695) = 3.3391E-155 因此,如果我的理解是正确的,这就是通过MLE拟合数据确定的功能的可能性。这似乎真的真的很低。 我在这里想念什么?

1
使用k折CV的原始(?)模型选择
当使用k-fold CV在回归模型中进行选择时,我通常会针对每个模型及其标准误差SE分别计算CV误差,并且我会在CV误差最低的模型的1 SE中选择最简单的模型(1标准错误规则,请参见此处的示例)。但是,最近有人告诉我,这样我就高估了可变性,并且在选择两个模型A和B之间的特定情况下,我确实应该以不同的方式进行: 对于长度每个折叠,计算两个模型预测之间的逐点差异。然后计算折叠KKKNKNKN_KMSDK=∑NKi=1(y^Ai−y^Bi)2NK−−−−−−−−−−−−−−−√MSDK=∑i=1NK(y^Ai−y^Bi)2NKMSD_K=\sqrt{\frac{\sum_{i=1}^{N_K}\left(\hat{y}_{Ai}-\hat{y}_{Bi}\right)^2}{N_K}} 像往常一样在折痕上平均,并将此CV差值误差(及其标准误差)用作泛化误差的估计量。MSDKMSDKMSD_K 问题: 你能理解这个吗?我知道使用CV错误作为广义错误的估计因素有理论上的原因(我不知道这些原因是什么,但我知道它们存在!)。我不知道使用此“差异” CV错误背后是否有理论上的原因。 我不知道这是否可以推广到两个以上模型的比较中。计算所有成对模型的差异似乎是冒险的(多次比较?):如果您拥有两个以上的模型,该怎么办? 编辑:我的公式是完全错误的,此处描述了正确的指标,而且复杂得多。好吧,我很高兴在盲目应用公式之前在这里问过!感谢@Bay帮助我理解他/她的启发性答案。所描述的正确方法是实验性的,因此我会坚持使用我信任的工作马,CV错误!

1
什么时候合适的评分规则可以更好地估计分类设置中的泛化?
解决分类问题的一种典型方法是识别一类候选模型,然后使用诸如交叉验证之类的过程执行模型选择。通常,人们会选择精度最高的模型,或者选择一些编码特定问题信息的相关函数,例如。FβFβ\text{F}_\beta 假设最终目标是产生一个准确的分类器(准确度的定义再次取决于问题,则取决于问题),在哪种情况下,最好使用适当的评分规则来进行模型选择,而不是诸如准确性,准确性,召回率之类的不正确内容等等?此外,让我们忽略模型复杂性的问题,并假设我们认为所有模型具有同等可能性。 以前我不会说。从形式上讲,我们知道分类比回归[1],[2]更容易解决,并且我们可以得出前者比后者()更严格的界限。此外,在某些情况下,尝试准确匹配概率可能会导致错误的决策边界或过度拟合。但是,基于此处的对话和社区对此类问题的投票方式,我一直对此观点提出质疑。∗∗* 露芙·德沃罗伊。模式识别的概率论。卷 31. springer,1996年,第6.7节 Kearns,Michael J.和Robert E. Schapire。高效无分布学习概率概念。计算机科学基础,1990年。会议论文集,第31届年度研讨会。IEEE,1990年。 (∗)(∗)(*)这句话可能有点草率。我具体是指给定形式为带标签数据,其中和,它似乎更容易估计比准确估计的条件概率判定边界。S={(x1,y1),…,(xn,yn)}S={(x1,y1),…,(xn,yn)}S = \{(x_1, y_1), \ldots, (x_n, y_n)\}xi∈Xxi∈Xx_i \in \mathcal{X}yi∈{1,…,K}yi∈{1,…,K}y_i \in \{1, \ldots, K\}

1
模型选择中AIC和p值的等效性
在对这个问题的答案的评论中,有人指出在模型选择中使用AIC等于使用p值为0.154。 我在R中进行了尝试,在其中我使用了“向后”子集选择算法来排除完整规范中的变量。首先,依次丢弃具有最高p值的变量,并在所有p值均低于0.154时停止,其次,然后删除该变量,删除该变量会导致AIC最低,直到无法进行改进为止。 原来,当我使用0.154的p值作为阈值时,它们给出的结果大致相同。 这是真的吗?如果是这样,是否有人知道原因或可以参考解释它的来源? PS我不能要求对方发表评论或发表评论,因为刚刚注册。我知道这不是最适合模型选择和推断的方法。

2
用于二进制分类问题的哪个SVM内核?
我是支持向量机的初学者。是否有一些准则说明哪个内核(例如线性,多项式)最适合特定问题?就我而言,我必须根据网页是否包含某些特定信息对网页进行分类,即我存在二进制分类问题。 您能否总体说出最适合此任务的内核?还是我必须在特定的数据集上尝试其中的几个才能找到最佳数据集?顺便说一句,我正在使用利用libSVM库的Python库scikit-learn。

2
问题计算,解释子集和有关模型选择过程的一般问题
我想使用选择模型regsubsets()。我有一个名为olympiadaten的数据框(上传的数据:http : //www.sendspace.com/file/8e27d0)。我首先附加此数据框,然后开始分析,我的代码是: attach(olympiadaten) library(leaps) a<-regsubsets(Gesamt ~ CommunistSocialist + CountrySize + GNI + Lifeexp + Schoolyears + ExpMilitary + Mortality + PopPoverty + PopTotal + ExpEdu + ExpHealth, data=olympiadaten, nbest=2) summary(a) plot(a,scale="adjr2") summary(lm(Gesamt~ExpHealth)) 情节的屏幕截图: 现在的问题是,我想再次“手动”拟合最佳模型并进行查看,但是调整后的R平方的值与regsubsets输出中的值不同吗?其他模型也是如此,例如,当我在图形中执行最简单的模型时: summary(lm(Gesamt~ExpHealth)) 该图表示,它的调整后R平方应约为0.14,但是当我查看输出时,得到的值为0.06435。 这是输出summary(lm(Gesamt~ExpHealth)): Call: lm(formula = Gesamt ~ ExpHealth) Residuals: Min 1Q Median 3Q Max …

4
Logistic回归中的模型选择和模型性能
我对逻辑回归中的模型选择和模型性能有疑问。我有基于三个不同假设的三个模型。前两个模型(分别命名为z和x)在每个模型中只有一个解释变量,而第三个模型(分别命名为w)更复杂。我正在使用AIC来选择w模型的变量,然后使用AIC来比较三个模型中最能解释因变量的模型。我发现w模型的AIC最低,现在想对该模型进行一些性能统计,以了解该模型的预测能力。既然我所知道的是,该模型比其他两个模型更好,但并不是那么好。 由于我已经使用所有数据来学习模型(以便能够比较所有三个模型),我该如何提高模型性能?从我收集到的信息来看,我不能仅对使用AIC从模型选择中获得的最终模型进行k折交叉验证,而是需要从头开始并包括所有解释变量,这是正确的吗?我想这是我与AIC选择的最终模型,我想知道它的性能如何,但确实意识到我已经对所有数据进行了训练,因此该模型可能会产生偏差。因此,如果我应该从头开始考虑所有折叠的所有解释变量,那么我将在某些折叠中得到不同的最终模型,我是否可以仅从折叠中选择具有最佳预测能力的模型,并将其应用于完整数据集进行比较AIC与其他两个模型(z和x)一起使用吗?或如何运作? 我的问题的第二部分是有关过度参数化的基本问题。我有156个数据点,其中52个为1,其余为0。对于w模型,我有14个解释变量可供选择,我意识到由于过分参数化,我无法将所有变量都包括在内,我读到您应该只使用因果变量组中的10%,而观察到的数据最少。对我来说只有5个 我正在尝试回答生态学中的一个问题,是否可以选择仅基于生态学就可以解释最佳依存关系的起始变量?或如何选择起始解释变量?完全排除某些变量并不正确。 所以我真的有三个问题: 在具有交叉验证的完整数据集上训练的模型上测试性能是否可以? 如果没有,在进行交叉验证时如何选择最终模型? 我该如何选择起始变量,以便过度参数化? 对不起我的问题和无知。我知道有人问过类似的问题,但仍然有些困惑。赞赏任何想法和建议。

4
减少多元回归中的变量数量
我有一个庞大的数据集,其中包含数百个金融变量的值,这些变量可以用于多元回归,以预测指数基金随时间的行为。我想将变量的数量减少到十个左右,同时仍保留尽可能多的预测能力。 补充:减少的变量集必须是原始变量集的子集,以保留原始变量的经济意义。因此,例如,我不应该以原始变量的线性组合或聚合结局。 有关如何执行此操作的一些想法(可能是幼稚的): 对每个变量执行简单的线性回归,然后选择具有最大值的十个变量。当然,不能保证十个最佳个体变量的组合将是十个最佳组。R2R2R^2 执行主成分分析,并尝试查找与前几个主轴关联最大的十个原始变量。 我认为我不能执行分层回归,因为变量不是真正嵌套的。尝试使用十个变量的所有可能组合在计算上是不可行的,因为组合太多。 是否有标准方法来解决减少多元回归中变量数量的问题? 似乎这将是一个足够普遍的问题,因此将存在一种标准方法。 一个非常有用的答案将是不仅提及标准方法,而且概述其工作方式和原因。或者,如果没有一种标准的方法,而是多种方法各有优缺点,那么讨论其优缺点的答案将非常有用。 Whuber在下面的评论表明,最后一段中的要求太宽泛。相反,我会接受一个主要方法列表作为一个好的答案,也许对每个方法都有一个非常简短的描述。一旦有了条款,我就可以挖掘每个人的详细信息。


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.