问题标签 [model-comparison]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
validation - 在增加标准误差的同时减少 AIC
我在选择正确的模型时遇到了问题。我有一个包含各种变量(协变量和虚拟变量)的模型。我试图找到模型的最佳捕捉,所以我首先开始将模型与 AIC 进行比较。由此得出,当允许所有变量留在模型中(整个变量与所有虚拟变量交互)时,达到了最小 AIC。当我计算模型的摘要时,所有影响都绝对不显着,它的标准。错误非常高。在将“最佳”(在 AIC 上)模型与具有任何交互的较小模型进行比较时,我有点困惑。较小的模型具有较小的标准误差和不错的 p 值……但与大模型相比,AIC 更高。可能是什么问题?过度规范?
我真的需要帮助,因为我完全不知道如何处理这个!
非常感谢
r - 使用 R 中的一个或多个因子变量进行详尽的模型选择
我正在尝试基于大量解释变量(包括变量之间的交互项)构建线性模型,其中两个是因子变量。在 regsubsets() 或 jumps() 中使用因子变量会导致错误。在尝试详尽的模型选择时,我可以使用另一个函数或包来包含因子变量吗?
谢谢你
詹姆士
r - 带加权非线性回归 (nls) 的 AIC
在将加权和未加权模型的偏差与 AIC 值进行比较时,我遇到了一些差异。一个一般的例子(来自'nls'):
这是未加权的拟合,在“nls”的代码中可以看到“nls”生成了一个向量wts <- rep(1, n)
。
现在进行加权拟合:
其中我为 8 种浓度中的每一种分配了增加的权重,并重复了 2 次。
现在deviance
我得到:
告诉我加权拟合具有显着更高的偏差(更差拟合)。
现在AIC
(或BIC
)我得到
这告诉我第二次拟合是更好的一个数量级(较低的 AIC)。为什么这样?
如果我AIC
根据教科书中的残差平方和进行定义
我明白了
stats:::AIC.logLik
与上述基于对数似然的 AIC ( ) 的值相同
但
它更高并且完全适合第二个模型的更高偏差。
谁能启发我?'nls' 模型的标准 AIC 实施是否不适用于加权拟合?
干杯,安德烈
statistics - RMSE和相关系数两种回归模型的比较
我有两个回归模型,一个具有 87 的相关系数和 0.045 的 RMSE,另一个具有 93 的相关系数和 0.055 的 RMSE。其中哪个是预测未来病例的更好模型?或者,相关系数或 RMSE 哪个更适合回归模型评估?谢谢。
r - 如何使用 R 中的 Gamma GLM 通过 AIC 进行模型选择?
正如 glm() 的文档所解释的,glm() 返回的值的 aic 组件不是有效的 AIC:
对于高斯、伽玛和逆高斯族,色散是从残余偏差估计的,参数的数量是系数的数量加一。对于高斯族,使用色散的 MLE,因此这是 AIC 的有效值,但对于 Gamma 和逆高斯族则不是。
因此,需要以其他方式获得有效的 AIC。
r - 基于两个时间点建立的回归模型的比较
我有两个多元线性回归模型,使用相同的受试者组、变量构建,唯一的区别是时间点:一个是基线数据,另一个是一段时间后获得的。我想比较两个模型之间是否有任何统计意义。我看过文章说,在比较模型时,使用 AIC 可能比 p 值更好。
我的问题是:在 R 中使用 extractAIC 纯粹比较 AIC 或获得 anova(lm) 是否有意义?
statistics - 模型比较中的 AIC 值
我正在使用 AIC 比较两个模型。但是,我意识到两个 AIC 值都太小(-4752.66,另一个接近)。我想知道这是正常的还是我在计算时做错了什么。
r - 当两个模型之间的方差分析没有在 R 中产生 p 值时,这意味着什么?
我有两个小数据集:
和
当我尝试使用 R 中的 anova() 语法比较这两个模型时(见下文),它无法产生 p 值。我不相信是这两个数据集的性质导致了问题(尽管我也很好奇这两个数据集的结构到底有什么不同),但我想这很可能是问题所在. 谢谢!
模型比较语法:
cross-validation - 模型比较的交叉验证
我有一个相对大的数据:
超过 370,000 个观测值,250 个级别的分类因变量,10 个自变量,包括数值变量和分类变量。
我想为模型比较执行10倍交叉验证(包括'rpart'中的分类树模型,'e1071'包中的svm,'kknn'包中的kknn,'adabag'包中的boosting和bagging)
看了这些模型的手册后,我尝试编写模型执行的代码,但我真的不知道如何执行 10 倍 CV。
实际上我已经尝试过了,但我是 R 的新手。我真的需要 10 倍 CV 的代码或功能的帮助。
这是我的代码:
有人告诉我包'cvTools'或'caret'可以执行k-folds CV,但我仍然无法使用这些包或功能成功执行。
r - biglm 和 lm 之间的 AIC 不同
我一直在尝试使用 biglm 在大型数据集(大约 60,000,000 行)上运行线性回归。我想使用 AIC 进行模型选择。然而,当我在较小的数据集上使用 biglm 时,我发现 biglm 返回的 AIC 变量与 lm 返回的变量不同。这甚至适用于 biglm 帮助中的示例。
有人可以解释一下这里发生了什么吗?使用 biglm 生成的 AIC 是否可以安全地用于比较同一数据集上的 biglm 模型?