最小二乘什么时候会是个坏主意?


11

如果我有回归模型: 其中 和,

Y=Xβ+ε
V[ε]=IdRn×nE[ε]=(0,,0)

什么时候使用(的普通最小二乘估计量)对估计量而言是一个糟糕的选择?βOLSβ

我试图找出一个最小二乘效果不好的例子。因此,我正在寻找能够满足先前假设但产生不良结果的错误分布。如果分布族由均值和方差决定,那将是很大的。如果没有,也可以。

我知道“不好的结果”有点模糊,但我认为这个想法是可以理解的。

为了避免混淆,我知道最小二乘不是最佳的,并且有更好的估算器,例如岭回归。但这不是我的目标。我想要一个最小二乘不自然的例子。

我可以想象,误差向量位于的非凸区域中,但是我不确定。ϵRn

编辑1:作为帮助答案的想法(我想不出进一步的方法)。为蓝色。因此,考虑线性无偏估计量何时不是一个好主意可能会有所帮助。βOLS

编辑2:正如Brian指出的那样,如果的条件不好,则是一个坏主意,因为方差太大,应改用Ridge回归。我更感兴趣的是知道应该采用哪种分布,以使最小二乘无效。XXβOLSε

βOLSβ+(XX)1Xε是否与零均值和方差的身份矩阵分布,使这个估计不是有效?ε


1
我不想听起来刺耳,但我不确定您想要什么。有很多方法可能是一个糟糕的选择。通常,我们根据偏差方差鲁棒性效率等指标评估估算器。例如,您注意到,OLS估算器为BLUE
gung-恢复莫妮卡

1
OTOH,方差可能很大,以至于无用,从而使方差较低但像ridge这样的有偏估计量更为可取。另一个示例是OLS会最大程度地使用数据中的所有信息,但这会使它容易受到异常值的影响。在尝试保持效率的同时,还有许多更强大的替代损失函数。如果您可以用这样的术语重新阐述问题,可能会更加清楚。我不知道估算器“不自然”意味着什么。
gung-恢复莫妮卡

感谢您的评论,这使我意识到问题的含糊。我希望现在情况更清楚
Manuel

请参阅此答案中的回归。简而言之:有影响力的异常值可能是一个问题。
Glen_b-恢复莫妮卡

Answers:


8

Brian Borchers的回答是相当不错的-包含奇怪离群值的数据通常无法通过OLS进行很好的分析。我将通过添加图片,蒙特卡洛和一些R代码来对此进行扩展。

考虑一个非常简单的回归模型:

Yi=β1xi+ϵi ϵi={N(0,0.04)w.p.0.99931w.p.0.000531w.p.0.0005

该模型符合您的设置,斜率系数为1。

所附图表显示了一个由100个观测值组成的数据集,该模型的x变量从0到1。在绘制的数据集中,误差绘制了一个,并带有一个异常值(在这种情况下为+31) 。还绘制了蓝色的OLS回归线和红色的最小绝对偏差回归线。请注意异常值如何使OLS而非LAD失真:

OLS vs LAD与异常值

我们可以通过蒙特卡罗验证。在蒙特卡洛,我使用相同的和生成了100个观测值的数据集,且上述分布为10,000次。在这10,000次复制中,绝大部分都不会出现异常值。但是在少数情况下,我们会得到一个异常值,并且每次都会使OLS恶化,但不会导致LAD恶化。下面的代码运行蒙特卡洛。这是斜率系数的结果:εxϵR

               Mean   Std Dev   Minimum   Maximum 
Slope by OLS   1.00      0.34     -1.76      3.89 
Slope by LAD   1.00      0.09      0.66      1.36

OLS和LAD均产生无偏估计量(10,000个重复中的斜率均均为1.00)。OLS产生的估计量具有更高的标准偏差,但是0.34 vs 0.09。因此,在这里,OLS在无偏估计量中并不是最佳/最有效的。当然,它仍然是蓝色,但是LAD不是线性的,因此没有矛盾。请注意,OLS可能在“最小值”和“最大值”列中出现百搭错误。LAD并非如此。

这是图形和蒙特卡洛的R代码:

# This program written in response to a Cross Validated question
# http://stats.stackexchange.com/questions/82864/when-would-least-squares-be-a-bad-idea

# The program runs a monte carlo to demonstrate that, in the presence of outliers,
# OLS may be a poor estimation method, even though it is BLUE.


library(quantreg)
library(plyr)

# Make a single 100 obs linear regression dataset with unusual error distribution
# Naturally, I played around with the seed to get a dataset which has one outlier
# data point.

set.seed(34543)

# First generate the unusual error term, a mixture of three components
e <- sqrt(0.04)*rnorm(100)
mixture <- runif(100)
e[mixture>0.9995] <- 31
e[mixture<0.0005] <- -31

summary(mixture)
summary(e)

# Regression model with beta=1
x <- 1:100 / 100
y <- x + e

# ols regression run on this dataset
reg1 <- lm(y~x)
summary(reg1)

# least absolute deviations run on this dataset
reg2 <- rq(y~x)
summary(reg2)

# plot, noticing how much the outlier effects ols and how little 
# it effects lad
plot(y~x)
abline(reg1,col="blue",lwd=2)
abline(reg2,col="red",lwd=2)


# Let's do a little Monte Carlo, evaluating the estimator of the slope.
# 10,000 replications, each of a dataset with 100 observations
# To do this, I make a y vector and an x vector each one 1,000,000
# observations tall.  The replications are groups of 100 in the data frame,
# so replication 1 is elements 1,2,...,100 in the data frame and replication
# 2 is 101,102,...,200.  Etc.
set.seed(2345432)
e <- sqrt(0.04)*rnorm(1000000)
mixture <- runif(1000000)
e[mixture>0.9995] <- 31
e[mixture<0.0005] <- -31
var(e)
sum(e > 30)
sum(e < -30)
rm(mixture)

x <- rep(1:100 / 100, times=10000)
y <- x + e
replication <- trunc(0:999999 / 100) + 1
mc.df <- data.frame(y,x,replication)

ols.slopes <- ddply(mc.df,.(replication),
                    function(df) coef(lm(y~x,data=df))[2])
names(ols.slopes)[2] <- "estimate"

lad.slopes <- ddply(mc.df,.(replication),
                    function(df) coef(rq(y~x,data=df))[2])
names(lad.slopes)[2] <- "estimate"

summary(ols.slopes)
sd(ols.slopes$estimate)
summary(lad.slopes)
sd(lad.slopes$estimate)

@Manuel谢谢。我在我的R程序中发现一个错误-那里应该有一个sqrt(0.04)的值为0.04。它并没有改变答案的重点。它对结果影响不大。但是,如果您以前复制过代码,则应立即再次复制。
比尔

7

一个示例就是您不想估计均值的地方。这是我过去所做的工作,我们在估算艾滋病毒/艾滋病传播的一部分时,会估算人们拥有的性伴侣的数量。分布的尾部引起了更多兴趣:哪些人有很多合作伙伴?

在这种情况下,您可能需要分位数回归;我认为这是一种未被充分利用的方法。


您不想估计均值是什么意思?我正在考虑将作为常用方法中的固定参数,如果您在说的话。β
曼努埃尔2014年

还是您的意思是的均值?Y
曼努埃尔

是的,我的意思是Y的均值。这就是OLS回归所做的。
彼得·弗洛姆

好点,+ 1。只需考虑表达式并计算其最小值。它是a和b之间的中点。这与误差函数(又称稳健回归)形成鲜明对比 L 1(xa)2+(xb)2L1
jpmuc 2014年

6

如果是条件不良的矩阵或恰好是奇异的,那么您的最小二乘估计量将非常不稳定,在实践中将毫无用处。 X

如果将注意力集中在的分布上,则应牢记高斯-马尔可夫定理确保最小二乘解将是最小方差无偏估计量。 ϵ

然而,若分配足够极端,那么它可以构建例子,其中估计的分布具有不良特性(特别是在非常大的错误的可能性(虽然可能性很低)),尽管是最低方差。 βϵβ


的极端分布是什么?请记住,它具有恒等协方差矩阵。ε
曼努埃尔2014年

1
此外,高斯-马可夫(Gauss-Markov)确保最小二乘是线性之间的最小方差无偏估计量。对于某些分布,线性估计量可能不是合理的。这就是我想了解的。
曼努埃尔

ϵi=0ϵi=1000.00005ϵi=1000.00005X=Iβϵ

X=1β=0β^

我相信您的第二个评论就是我想要的。这让我不大可能发生。同样从该示例中可以很清楚地了解到错误的分布时如何构建更好的估计器。
曼努埃尔
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.