目前,我正在创建一个多预测线性模型,并生成诊断图以评估回归假设。 (这是我目前喜欢的多元回归分析统计课程: - )
我的教科书(Cohen,Cohen,West和Aiken 2003)建议根据残差绘制每个预测因子,以确保:
关于第(2)点,我的教科书有这样说:
一些统计软件包允许分析人员在残差平均值(0线),低于均值的1个标准差和低于残差平均值的1个标准差的情况下绘制低值拟合线....目前case {他们的例子},两行{mean + 1sd和mean - 1sd}大致平行于lowess {0}行,与残差的方差不随X的函数变化的解释一致。(p .131)
我知道如何使用“0行”生成散点图:
# First, I'll make a simple linear model and get its diagnostic stats
library(ggplot2)
data(cars)
mod <- fortify(lm(speed ~ dist, data = cars))
attach(mod)
str(mod)
# Now I want to make sure the residuals are homoscedastic
qplot (x = dist, y = .resid, data = mod) +
geom_smooth(se = FALSE) # "se = FALSE" Removes the standard error bands
但是有没有人知道我如何使用ggplot2
和qplot
来生成0线,“平均值+ 1sd”和“平均值 - 1sd”线会叠加的情节?这是一个奇怪/复杂的问题吗?
答案 0 :(得分:4)
geom_smooth()
默认为loess
平滑,和它会叠加+ 1sd和-1sd行作为交易的一部分。这就是哈德利所说的“这不仅仅是68%的置信区间吗?”我完全忘记了68%的间隔是,并一直在寻找我已经知道该怎么做的东西。通过指定geom_smooth(se = FALSE)
,我实际上在代码中将置信区间关闭没有帮助。
# First, I'll make a simple linear model and get its diagnostic stats.
library(ggplot2)
data(cars)
mod <- fortify(lm(speed ~ dist, data = cars))
attach(mod)
str(mod)
# Now I want to make sure the residuals are homoscedastic.
# By default, geom_smooth is loess and includes the 68% standard error bands.
qplot (x = dist, y = .resid, data = mod) +
geom_abline(slope = 0, intercept = 0) +
geom_smooth()
哈德利用一种非常美丽而简单的方式来获得我一直想要的东西。但是因为我专注于黄土线,我忽略了这样一个事实:68%的置信区间受到我需要的线条的限制。对不起,大家好。
答案 1 :(得分:1)
您能否根据数据计算+/-标准差值并将其拟合曲线添加到图中?
答案 2 :(得分:1)
查看我的问题“modify lm or loess function..”
我不确定我是否非常关注你的问题,但也许是:
+ stat_smooth(method=yourfunction)
只要您将函数定义为described here,就可以。