如何解释这个拟合vs残差图?


17

在此处输入图片说明

我不太了解异方差。我想知道根据这个图我的模型是否合适。


请准备残差与观测值的关系图。如果错误的可变性可链接到观测值那么这可能意味着一个异质性问题
IrishStat

1
@IrishState残差与观察到的将显示相关性。因此,它们更难以解释。残差vs拟合显示了我们对误差与总体均值之间的关系的最佳近似,对于检查方差是否与均值相关的回归中更常用的考虑有所帮助。
Glen_b-恢复莫妮卡2014年

Answers:


18

正如@IrishStat所评论的那样,您需要检查所观察到的值是否有错误,以查看是否存在可变性问题。我将在最后讨论这个问题。

只要你得到了什么,我们通过异方差性是指一个想法:如果你适合一个变量的线性模型你基本上是说,你作一个假设,你Ÿ ñ X β σ 2),或通俗地说,你ÿÿñXβσ2等同预计 X β再加上一些错误有方差 σ 2。这实际上您的线性模型 Ŷ = X β + ε,其中,所述误差 ε Ñ 0 σ 2ÿXβσ2ÿ=Xβ+ϵϵñ0σ2。好的,到目前为止,很酷,让我们在代码中看到:

set.seed(1);            #set the seed for reproducability
N = 100;                #Sample size
x = runif(N)            #Independant variable
beta = 4;               #Regression coefficient
epsilon = rnorm(N);     #Error with variance 1 and mean 0
y = x * beta + epsilon  #Your generative model
lin_mod <- lm(y ~x)  #Your linear model

好的,我的模型如何表现:

x11(); par(mfrow=c(1,3));   #Make a new 1-by-3 plot
plot(residuals(lin_mod)); 
title("Simple Residual Plot - OK model")
acf(residuals(lin_mod), main = ""); 
title("Residual Autocorrelation Plot - OK model");
plot(fitted(lin_mod), residuals(lin_mod)); 
title("Residual vs Fit. value - OK model");

应该给你这样的东西: 在此处输入图片说明 这意味着您的残差似乎没有基于任意指数的明显趋势(第一个图-信息最少),它们之间似乎没有真正的相关性(第二个图-非常重要且可能比同方差更重要),并且拟合值没有明显的失败趋势,即。您的拟合值与残差似乎相当随机。基于此,我们可以说我们没有异方差性问题,因为我们的残差在各处似乎都具有相同的方差。

好的,但是您想要异方差。给定线性和可加性的相同假设,让我们定义另一个具有“明显”异方差问题的生成模型。也就是说,经过一些价值观,我们的观察将更加嘈杂。

epsilon_HS = epsilon;               
epsilon_HS[ x>.55  ] = epsilon_HS[x>.55 ] * 9       #Heteroskedastic errors

y2 = x * beta + epsilon_HS      #Your generative model
lin_mod2 <- lm(y2 ~x)            #Your unfortunate LM

模型的简单诊断图:

 par(mfrow=c(1,3));   #Make a new 1-by-3 plot
 plot(residuals(lin_mod2)); 
 title("Simple Residual Plot - Fishy model")
 acf(residuals(lin_mod2), main = ""); 
 title("Residual Autocorrelation Plot - Fishy model");
 plot(fitted(lin_mod2), residuals(lin_mod2)); 
 title("Residual vs Fit. value - Fishy model");

应该给出类似的内容: 在此处输入图片说明 在这里,第一个情节似乎有点“奇怪”;看起来我们有一些残差以较小的幅度聚集,但这并不总是一个问题...第二个图还可以,这意味着我们在不同滞后之间没有关联您的残差,因此我们可能会呼吸一会儿。第三个情节溢出了豆子:显然,当我们获得更高的值时,残差会爆炸。我们肯定在这个模型的残差中具有异方差性,我们需要做一些事情(例如IRLSTheil-Sen回归等)。

在这里,问题确实很明显,但在其他情况下,我们可能会错过;为了减少我们错过它的机会,爱尔兰统计局还提到了另一个有见地的情节:残差与观察值,或者是我们手头的玩具问题:

 par(mfrow=c(1,2))
 plot(y, residuals(lin_mod) ); 
 title( "Residual vs Obs. value - OK model")
 plot(y2, residuals(lin_mod2) ); 
 title( "Residual vs Obs. value - Fishy model")

它应该给出如下内容:

在此处输入图片说明[R2[R20.59890.03919

为了公平起见,您的残差与拟合值图似乎相对不错。检查残差与观察值之间的关系可能有助于确保您安全。(我没有提到QQ图或类似的东西,以免使事情更加混乱,但是您可能也想简短地检查一下。)我希望这有助于您了解异方差性以及应注意的事项。


4
看到残差和观测值之间的关系,您不会感到惊讶或担心。尝试计算正确指定模型的理论结果。
Scortchi-恢复莫妮卡


为您的两条评论+1。感谢您指出该问题;您的评论已被发现。我编辑了该段落,因此现在可以正确阅读。
usεr11852恢复单胞菌说,

1
别客气。我仍然不确定您认为残差图与观察到的响应值的关系会增加什么值;与残差与拟合响应值的关系图中,异方差的存在和性质不那么明显。
Scortchi-恢复莫妮卡

我(大部分)同意。如您所见,这也不是我的第一个诊断图。不过,这是由IrishStat提出的,我认为有必要对OP做出完整的回答。
usεr11852恢复单胞菌说,

9

您的问题似乎与异方差性有关(因为您通过名称提及并添加了标签),但是您的明确问题(例如,标题和结尾)较为笼统,“根据此,我的模型是否合适情节”。除了评估异方差性之外,还需要确定模型是否不合适。

我使用该网站(ht @Alexis)抓取了您的数据。请注意,数据以的升序排序fitted。根据回归和左上图,它似乎足够忠实:

mod = lm(residuals~fitted)
summary(mod)
# ...
# Residuals:
#   Min       1Q   Median       3Q      Max 
# -0.78374 -0.13559  0.00928  0.19525  0.48107 
# 
# Coefficients:
#   Estimate Std. Error t value Pr(>|t|)
# (Intercept)  0.06406    0.35123   0.182    0.856
# fitted      -0.01178    0.05675  -0.208    0.836
# 
# Residual standard error: 0.2349 on 53 degrees of freedom
# Multiple R-squared:  0.0008118,  Adjusted R-squared:  -0.01804 
# F-statistic: 0.04306 on 1 and 53 DF,  p-value: 0.8364

在此处输入图片说明

我在这里看不到任何异方差的迹象。从右上角(qq图)来看,正态性假设似乎也没有任何问题。

另一方面,红色低位拟合(在左上图)中的“ S”曲线以及acf和pacf图(在底部)确实存在问题。在最左侧,大多数残差都在灰色0线上方。当您向右移动时,大部分残差会下降到0以下,然后在上方,然后在下方。这样的结果是,如果我告诉你我正在查看一个特定的残差并且它具有负值(但是我没有告诉你我在看哪个残差),则可以准确地猜测附近的残差也被负面评价。换句话说,残差不是独立的 -了解某个残差会为您提供有关其他残差的信息。

除了绘图外,还可以进行测试。一种简单的方法是使用运行测试

library(randtests)
runs.test(residuals)
#  Runs Test
# 
# data:  residuals
# statistic = -3.2972, runs = 16, n1 = 27, n2 = 27, n = 54, p-value = 0.0009764
# alternative hypothesis: nonrandomness

X2X3

回答您的明确问题:您的绘图显示出序列自相关/残差不独立。这意味着您的模型不适合其当前形式。

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.