功能fitted()
和predict()
之间有区别吗?我注意到来自lme4的混合模型与fitted()
一起使用,但不是predict()
。R函数拟合()和预测()有区别吗?
36
A
回答
48
是的,有。如果存在与所述线性预测器的响应的预期值(例如日志泊松回归或Logit的逻辑回归)一个link function,predict
返回之前被施加链接函数的逆函数的拟合值(返回数据与响应变量的比例相同),fitted
在之后显示它为。
例如:
x = rnorm(10)
y = rpois(10, exp(x))
m = glm(y ~ x, family="poisson")
print(fitted(m))
# 1 2 3 4 5 6 7 8
# 0.3668989 0.6083009 0.4677463 0.8685777 0.8047078 0.6116263 0.5688551 0.4909217
# 9 10
# 0.5583372 0.6540281
print(predict(m))
# 1 2 3 4 5 6 7
# -1.0026690 -0.4970857 -0.7598292 -0.1408982 -0.2172761 -0.4916338 -0.5641295
# 8 9 10
# -0.7114706 -0.5827923 -0.4246050
print(all.equal(log(fitted(m)), predict(m)))
# [1] TRUE
这确实意味着用于通过线性回归(lm
)创建的模型,有fitted
和predict
之间没有差别。
在实际应用中,这意味着,如果你想比较适合的原始数据,你应该使用fitted
。
16
的fitted
函数返回与用于拟合模型中的数据相关联的y帽子值。 predict
函数返回一组新预测变量的预测。如果您没有指定一组新的预测变量,那么它将默认使用原始数据,对于某些模型给出与fitted
相同的结果,但是如果您想要预测一组新的值,则需要predict
。函数通常也有选择返回哪种类型的预测,线性预测器,预测转换为响应比例,最可能的类别,模型中每个术语的贡献等。
相关问题
- 1. 平均值和拟合预测函数之间的区别
- 2. “预测”包中模拟()和预测()之间的区别
- 3. Vowpal Wabbit原始预测(-r)和预测之间的区别(-p)
- 4. 预测函数中type =“response”,“terms”和“link”有什么区别?
- 5. 拟合或预测LinearDiscriminantAnalysis函数
- 6. on_exit()和atexit()函数有区别吗?
- 7. R预测区间
- 8. 在r因子水平拟合和预测模型
- 9. R拟合和预测每日时间序列
- 10. 有什么区别:。!和:r!?
- 11. 有和没有返回语句的函数有区别吗?
- 12. R HoltWinters预测软件包 - 避免过度拟合数据
- 13. 为什么R gbm模型预测不符合模型拟合?
- 14. Python中!r和%r有什么区别?
- 15. 使用时间序列和预测函数的R函数
- 16. R和Python中Wilcoxon测试的区别
- 17. Tensorflow r.1.1中的TrainingHelper和GreedyEmbeddingHelper是否有区别(预测结果不同)?
- 18. 预测曲线拟合matlab
- 19. ^2和^ 2L有区别吗?
- 20. MsgBox和MessageBox.Show有区别吗?
- 21. _xx.html和xx.html有区别吗?
- 22. gluLookAt()和glFrustum()有区别吗?
- 23. LDAP和CRL有区别吗?
- 24. SSLv3和TLS1.0有区别吗?
- 25. GLubyte和GL_UNSIGNED_BYTE有区别吗?
- 26. Rect3D.SizeX和Rect3D.Size.X有区别吗?
- 27. int *和Type *有区别吗?
- 28. sass和scss有区别吗?
- 29. DictionarySectionHandler和NameValueSectionHandler有区别吗?
- 30. “Build”和CI有区别吗?
迄今为止的良好答案但是你可以使用'predict(m,type =“response”)来获得原始(响应)规模的预测结果,正如@GregSnow在下面指出的那样,'predict'具有其他选项(取决于具体情况)。 r-forge *上的'lme4'的开发版本*具有'predict()'方法。 –