【发布时间】:2015-09-03 21:50:07
【问题描述】:
我想知道如何从predict(..., type = 'term) 获取实际组件。我知道如果我采用rowSums 并将attr(,"constant") 值添加到每个值,我将得到预测值,但我不确定attr(,"constant") 如何在列之间拆分。总而言之,如何改变predict返回的矩阵,让每个值代表模型系数乘以预测数据。结果应该是与predict 返回的维度相同的矩阵(或data.frame),但rowSums 会自动添加到预测值,无需进一步更改。
注意:我意识到我可以将模型产生的系数和矩阵乘以我的预测矩阵,但我宁愿不这样做以避免因素可能产生的任何问题。
编辑:这个问题的目标不是产生一种对行求和以获得预测值的方法,这只是作为一个健全性检查。
如果我有方程 y = 2*a + 3*b + c 并且我的预测值为 500,我想知道 2*a 是什么,3*b 是什么,以及 c 在那个特定点是什么.现在我觉得predict 返回了这些值,但它们已经被缩放了。我需要知道如何取消缩放它们。
【问题讨论】:
-
当您缩放预测值时唯一会改变的是截距......系数不会改变。我已经在答案中说过了
-
那我不明白为什么这些值不匹配。当您使用线性模型进行预测时,您只需将系数乘以值,但这不是返回的结果。
-
是否在没有截距的情况下拟合了模型,然后预测的项没有给出你想要的?
-
哦,我知道这确实给了我想要的东西。有没有办法在不重新拟合模型的情况下将原始矩阵转换为这个新矩阵?我的代码适合一堆模型,我不想在没有拦截的情况下重新调整它们。
-
我不这么认为,因为它们是不同的模型。你可能想看看这个答案stats.stackexchange.com/questions/7948/…。