최소 제곱이 나쁜 생각은 언제입니까?


11

I는 회귀 경우 :

와이=엑스β+ε
V[ε]=나는아르 자형×이자형[ε]=(0,,0) ,

사용 할 때 βOLS ,의 정규 방정식 추정 β , 추정량에 대한 빈약 한 선택?

최소 제곱이 제대로 작동하지 않는 예를 찾으려고합니다. 따라서 이전 가설을 만족 시키지만 나쁜 결과를 산출하는 오류 분포를 찾고 있습니다. 분포의 패밀리가 평균과 분산에 의해 결정된다면 그것은 좋을 것입니다. 그렇지 않으면 괜찮습니다.

나는 "나쁜 결과"가 약간 모호하다는 것을 알고 있지만 그 아이디어는 이해할 만하다고 생각합니다.

혼란을 피하기 위해 최소 제곱이 최적이 아니며 능선 회귀와 같은 더 나은 추정기가 있다는 것을 알고 있습니다. 그러나 그것은 내가 목표로하는 것이 아닙니다. 예를 들어 최소 제곱이 부자연 스럽을 것입니다.

오류 벡터 ϵRn 의 볼록하지 않은 영역에 있다고 생각할 수 있지만 확실하지 않습니다.

편집 1 : 답변을 돕기위한 아이디어 (더 이상 수행하는 방법을 알 수 없음). βOLS 는 청색입니다. 따라서 선형 편향 추정기가 언제 좋은 생각이 아닌지 생각하는 것이 도움이 될 수 있습니다.

편집 2 : Brian이 지적했듯이 XX 가 조건이 좋지 않으면 분산이 너무 커서 βOLS 가 나쁜 생각이며 대신 Ridge Regression을 사용해야합니다. 나는 분배해야하는지 알고에 더 관심이 있어요 ε 최소 제곱 작업 불량을하기 위해.

βOLSβ+(XX)1Xε 제로 평균 및 ID 분산 행렬 분포 있습니까ε 이 추정되지 효율적?


1
나는 가혹하게 들리고 싶지 않지만, 당신이 원하는 것을 완전히 확신하지는 못합니다. 선택의 여지가없는 방법에는 여러 가지가 있습니다. 일반적으로 바이어스 , 분산 , 견고성효율성 과 같은 측면에서 추정값 을 평가 합니다 . 예를 들어, OLS 추정기는 BLUE 입니다.
gung-복직 모니카

1
OTOH, 분산은 쓸모 없을 정도로 커져서 분산이 적지 만 리지와 같은 바이어스 추정기가 선호됩니다. 또 다른 예는 OLS가 데이터의 모든 정보를 최대로 사용하지만 이로 인해 특이 치에 취약하다는 것입니다. 효율성을 유지하면서보다 강력한 대체 손실 기능이 많이 있습니다. 이와 같은 용어로 질문을 재구성 할 수 있다면 더 명확 할 것입니다. 견적자가 "부자연 스럽다"는 것이 무엇을 의미하는지 모르겠습니다.
gung-복직 모니카

귀하의 의견에 감사드립니다, 그것은 질문의 모호성을 깨닫게했습니다. 더 명확
Manuel

이 답변 의 회귀를 참조하십시오 . 즉, 영향력있는 특이 치가 문제가 될 수 있습니다.
Glen_b-복지 모니카

답변:


8

Brian Borchers의 대답은 상당히 훌륭합니다. 이상한 특이 치가 포함 된 데이터는 종종 OLS에서 잘 분석되지 않습니다. 그림, Monte Carlo 및 일부 R코드 를 추가하여이 기능을 확장하려고 합니다.

매우 단순 회귀 모델을 고려 :

와이나는=β1엑스나는+ϵ나는 ϵ나는={(0,0.04)..0.99931..0.000531..0.0005

이 모델은 경사 계수가 1 인 설정을 따릅니다.

첨부 된 그림은 x 변수가 0에서 1까지 실행되는이 모델에서 100 개의 관측치로 구성된 데이터 집합을 보여줍니다. 플롯 된 데이터 집합에는 이상치 (이 경우 +31)로 나타나는 오류에 대한 하나의 그림이 있습니다. . OLS 회귀선은 파란색으로 표시되고 최소 절대 편차 회귀선은 빨간색으로 표시됩니다. 특이 치에 의해 OLS는 있지만 LAD는 어떻게 왜곡되는지 확인하십시오.

특이 치가있는 OLS vs LAD

Monte Carlo를 통해이를 확인할 수 있습니다. Monte Carlo 에서 위의 분포를 10,000 번 사용하여 동일한 ϵ 를 사용하여 100 개의 관측치 데이터 집합을 생성합니다 . 10,000 번의 복제에서 우리는 대다수의 이상 치를 얻지 못할 것입니다. 그러나 몇 가지 경우에 이상 치가 나오고 매번 LAD가 아닌 OLS를 망칠 것입니다. 아래 코드는 몬테 카를로를 실행합니다. 기울기 계수에 대한 결과는 다음과 같습니다.엑스ϵ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와 0.09보다 훨씬 높은 추정량을 생성합니다. 따라서 OLS는 편향되지 않은 추정기 중에서 가장 효율적이지 않습니다. 물론 여전히 파란색이지만 LAD는 선형이 아니므로 모순이 없습니다. 최소 및 최대 열에서 OLS가 발생할 수있는 와일드 오류를 확인하십시오. LAD가 아닙니다.

그래프와 Monte Carlo에 대한 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가있었습니다. 답의 추력은 바뀌지 않았습니다. 결과에 약간의 차이가있었습니다. 그러나 이전에 코드를 복사 한 경우 지금 다시 복사해야합니다.
Bill

7

한 가지 예는 평균을 추정하지 않으려는 경우입니다. 이것은 HIV / AIDS의 확산을 모델링하는 일환으로 사람들이 가지고있는 성 파트너의 수를 추정 할 때 사용했던 작업에서 나타났습니다. 배포판의 꼬리에 더 많은 관심이있었습니다 : 어떤 사람들이 많은 파트너를 가지고 있습니까?

이 경우 분위수 회귀를 원할 수 있습니다. 내 의견으로는, 사용되지 않는 방법.


β

와이

예, 저는 Y의 평균을 의미했습니다. 이것이 OLS 회귀가하는 일입니다.
Peter Flom

(엑스)2+(엑스)21

6

엑스

ϵ

ϵβ


ε

1
게다가 Gauss-Markov는 최소 제곱이 선형 중에서 최소 편차 비 편향 추정량을 보장합니다. 어떤 종류의 분포에 대해서는 선형 추정기가 재화 가능하지 않을 수 있습니다. 그것이 내가 이해하고 싶은 것입니다.
Manuel

ϵ나는=0ϵ나는=1000.00005ϵ나는=1000.00005엑스=나는βϵ

엑스=1β=0β^

나는 당신의 두 번째 의견이 내가 찾고있는 것이라고 믿습니다. 그것은 단지 일어날 가능성이 낮은 것을 귀찮게합니다. 또한이 예제에서 오류의 분포를 알 때 더 나은 추정기를 작성하는 방법이 매우 분명합니다.
Manuel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.