나는 "과적 합 (overfitting)"의 의미를 이해하지만 과적 합 (overfitting)에 적용되는 실제 사례를 제시하는 방법에 대한 도움이 필요합니다.
나는 "과적 합 (overfitting)"의 의미를 이해하지만 과적 합 (overfitting)에 적용되는 실제 사례를 제시하는 방법에 대한 도움이 필요합니다.
답변:
다음 은 xkcd의 대통령 선거 시계 시리즈 모델 의 좋은 예 입니다.
대통령 선거는 56 명, 대통령은 43 명이었습니다. 그것은 배울 많은 데이터가 아닙니다. 예측기 공간이 틀니와 이름의 스크래블 포인트 값을 갖는 것과 같은 것을 포함하도록 확장되면 모델이 데이터의 일반화 가능한 특징 (신호)을 맞추고 노이즈를 맞추기 시작하는 것은 매우 쉽습니다. 이런 일이 발생하면 과거 데이터에 대한 적합도는 향상 될 수 있지만 차기 대통령 선거에 대한 추론에 사용될 때 모델은 비참하게 실패 할 것입니다.
내가 가장 좋아하는 것은 미국 인구 조사 인구 대 시간의 Matlab 예입니다.
(적어도 나는 이것이 과적 합의 예 라고 진심으로 바란다 )
http://www.mathworks.com/help/curvefit/examples/polynomial-curve-fitting.html#zmw57dd0e115
Chen 등의 연구. (2013)은 위도의 함수로서 기대 수명의 불연속성에 두 개의 입체파를 맞 춥니 다.
Chen Y., Ebenstein, A., Greenstone, M. 및 Li, H. 2013. 대기 오염에 대한 지속적인 노출이 중국 Huai River 정책의 기대 수명에 미치는 영향에 대한 증거. 국립 과학 아카데미 110 : 12936–12941의 절차. 요약
뛰어난 저널 등의 저서, 저명한 사람들에 의한 암묵적인 승인에도 불구하고, 나는 이것을 여전히 과잉 적합의 주요한 모범 으로 제시 할 것 입니다.
이야기의 신호는 입체파의 불가능 함입니다. 큐빅을 암시 적으로 적용하면 기대 수명이 거주하는 위도의 3도 다항식으로 변하는 몇 가지 이유가 있다고 가정합니다. 오히려 그럴듯 해 보이지는 않습니다 : 그러한 영향을 초래할 그럴듯한 물리적 메커니즘을 상상하기는 쉽지 않습니다.
이 논문에 대한 자세한 분석을 위해 또한 다음 블로그 게시물을 참조 : 증거를 인과 추론 (석탄 난방이 절반 억 명 5 년까지 수명을 줄일 것을 주장)에 대한 다항식 회귀의 지속 사용의 영향에 .
A의 2014년 3월 14일 기사 과학 , 데이빗 레이저, 라이언 케네디, 게리 왕, 그리고 알레산드로 베스 피 나니 문제 확인 Google 독감 트렌드 가 overfitting하는 속성 있음을.
다음은 오버 피팅의 특성에 대한 설명과 알고리즘이 실패한 이유를 포함하여 스토리를 설명하는 방법입니다.
2013 년 2 월, ... Nature는 GFT가 질병 통제 및 예방 센터 (CDC)보다 인플루엔자 의사 환자 (ILI)에 대한 의사 방문의 두 배 이상을 예측하고 있다고보고했습니다. 이것은 GFT가 CDC 보고서를 예측하기 위해 구축되었다는 사실에도 불구하고 발생했습니다. ...
기본적으로이 방법론은 1152 개의 데이터 포인트에 맞는 5 천만 개의 검색어 중에서 가장 일치하는 것을 찾는 것이 었습니다. 독감의 성향과 일치하지만 구조적으로 관련이 없으므로 미래를 예측하지 못하는 검색어를 찾을 확률은 상당히 높았습니다. 실제로 GFT 개발자는 독감과 관련이 없지만 고등학교 농구 관련 데이터와 같은 CDC 데이터와 밀접한 관련이있는 계절별 검색어를 제거한다고보고합니다. 이는 빅 데이터가 소수의 사례에 비해 적합 하다는 경고 였을 것입니다. 이는 데이터 분석의 표준 문제입니다. GFT가 비 계절적 인플루엔자 A–H1N1 전염병을 완전히 놓쳤을 때 특이한 검색어를 폐기하는이 특별한 방법은 실패했습니다.
[공포도 추가]
몇 주 전에이 이미지를 보았고 현재 질문과 관련이 있다고 생각했습니다.
시퀀스에 선형 적으로 피팅하는 대신, 완벽한 다항식 (quartic polynomial)이 장착되었는데, 이는 완벽하게 맞았지만 분명히 어리석은 답을 얻었습니다.
나에게 가장 좋은 예는 천문학의 프톨레마이오스 시스템 이다. 프톨레마이오스는 지구가 우주의 중심에 있다고 가정 하고 하늘에있는 물체의 움직임을 잘 설명 할 수있는 정교한 원형 궤도 시스템을 만들었습니다 . 천문학 자들은 하루가 너무 복잡 해져서 사람들이 의심하기 시작할 때까지 편차를 설명하기 위해 계속해서 원을 추가해야했습니다. 코페르니쿠스가 더 현실적인 모델을 만들었을 때입니다.
이것이 나에게 과적 응하는 가장 좋은 예입니다. 데이터 생성 프로세스 (DGP)를 데이터에 과적 합시킬 수 없습니다. 잘못 지정된 모형에만 과적 합할 수 있습니다. 사회 과학 분야의 거의 모든 모델이 잘못 지정되어 있으므로 열쇠는이를 기억하고 포용 적입니다. 데이터 세트의 모든 측면을 파악하려고 시도하지 말고 단순화를 통해 필수 기능을 포착하십시오.
그래프에 100 개의 점이 있다고 가정 해 봅시다.
당신은 말할 수 있습니다 : 흠, 나는 다음 것을 예측하고 싶습니다.
다음은이 예제에 대한 간단한 그림입니다.
다항식 차수가 높을수록 기존 도트에 더 잘 맞습니다.
그러나 고차 다항식은 점에 대한 더 나은 모델로 보이지만 실제로는 차수에 적합합니다. 실제 데이터 배포가 아닌 노이즈를 모델링합니다.
결과적으로 완벽하게 맞는 곡선을 사용하여 그래프에 새 점을 추가하면 더 간단한 저차 다항식을 사용하는 것보다 곡선에서 더 멀리 떨어집니다.
후쿠시마 재해에 기여했을 수있는 분석은 과적 합의 예입니다. Earth Science에는 관측 된 "더 작은"지진의 빈도를 고려하여 특정 크기의 지진 발생 가능성을 설명하는 잘 알려진 관계가 있습니다. 이것은 Gutenberg-Richter 관계로 알려져 있으며 수십 년에 걸쳐 일관된 로그를 제공합니다. 원자로 주변에서의 지진 위험 분석 (Nate Silver의 우수한 저서 "The Signal and the Noise"의 다이어그램)은 데이터에 "kink"를 나타냅니다. 꼬임을 무시하면 300에서 약 1의 지진으로 연간 9의 지진이 발생할 위험을 추정 할 수 있습니다. 하나, 이중 슬로프 라인을 과도하게 맞추면 (원자로의 초기 위험 평가에서 명백히 수행 된 것처럼) 13,000 년 내에 위험 예측이 약 1로 줄어 듭니다. 원자력 발전소를 설계하지 않았다는 이유로 엔지니어에게 잘못을 제기 할 수는 없었지만, 데이터를 과적 합 (및 외삽) 한 통계학자는 확실히 잘못 판단해야한다 ...
"아! 팻이 회사를 떠난다. 우리는 어떻게 교체품을 찾을 것인가?"
구인 공고:
구함 : 전기 엔지니어. 전기 공학, 수학 및 축산 분야의 학위를 소지 한 42 세의 남성 남성. 키가 68 인치이고 갈색 머리가 있고 왼쪽 눈에는 두더지가 있으며, 거위와 '고문'이라는 단어의 오용에 대해 긴 바람이 부는 경향이 있습니다.
수학적 의미에서, 과적 합은 종종 필요한 것보다 많은 매개 변수를 가진 모델을 만들어 특정 데이터 세트에 더 적합하지만 관심있는 클래스의 다른 데이터 세트에 맞는 관련 세부 사항을 캡처하지 않는 것을 말합니다.
위의 예에서 포스터는 관련성을 무관 한 특성과 구별 할 수 없습니다. 그 결과로 얻은 자격은 이미 알고있는 한 사람 만 해당 직무에 적합하지만 더 이상 원하지는 않습니다.
이것은 구성되었지만 사건을 설명하기를 바랍니다.
실시 예 1
set.seed(123)
k <- 100
data <- replicate(k, rnorm(100))
colnames(data) <- make.names(1:k)
data <- as.data.frame(data)
이제 선형 회귀 분석을 해보자.
fit <- lm(X1 ~ ., data=data)
다음은 처음 10 명의 예측 변수에 대한 요약입니다.
> summary(fit)
Call:
lm(formula = X1 ~ ., data = data)
Residuals:
ALL 100 residuals are 0: no residual degrees of freedom!
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.502e-01 NA NA NA
X2 3.153e-02 NA NA NA
X3 -6.200e-01 NA NA NA
X4 7.087e-01 NA NA NA
X5 4.392e-01 NA NA NA
X6 2.979e-01 NA NA NA
X7 -9.092e-02 NA NA NA
X8 -5.783e-01 NA NA NA
X9 5.965e-01 NA NA NA
X10 -8.289e-01 NA NA NA
...
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 99 and 0 DF, p-value: NA
결과가 이상하게 보이지만 플롯 해 봅시다.
> sum(abs(data$X1-fitted(fit)))
[1] 0
0이므로 플롯이 우리에게 거짓말하지 않았습니다. 모델이 완벽하게 맞습니다. 그리고 분류에서 얼마나 정확합니까?
> sum(data$X1==fitted(fit))
[1] 100
실시 예 2
하나 더 예. 더 많은 데이터를 구성 할 수 있습니다.
data2 <- cbind(1:10, diag(10))
colnames(data2) <- make.names(1:11)
data2 <- as.data.frame(data2)
그래서 다음과 같이 보입니다 :
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11
1 1 1 0 0 0 0 0 0 0 0 0
2 2 0 1 0 0 0 0 0 0 0 0
3 3 0 0 1 0 0 0 0 0 0 0
4 4 0 0 0 1 0 0 0 0 0 0
5 5 0 0 0 0 1 0 0 0 0 0
6 6 0 0 0 0 0 1 0 0 0 0
7 7 0 0 0 0 0 0 1 0 0 0
8 8 0 0 0 0 0 0 0 1 0 0
9 9 0 0 0 0 0 0 0 0 1 0
10 10 0 0 0 0 0 0 0 0 0 1
이제 이것에 선형 회귀를 맞출 수 있습니다.
fit2 <- lm(X1~., data2)
그래서 우리는 다음과 같은 추정치를 얻습니다.
> summary(fit2)
Call:
lm(formula = X1 ~ ., data = data2)
Residuals:
ALL 10 residuals are 0: no residual degrees of freedom!
Coefficients: (1 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 10 NA NA NA
X2 -9 NA NA NA
X3 -8 NA NA NA
X4 -7 NA NA NA
X5 -6 NA NA NA
X6 -5 NA NA NA
X7 -4 NA NA NA
X8 -3 NA NA NA
X9 -2 NA NA NA
X10 -1 NA NA NA
X11 NA NA NA NA
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 9 and 0 DF, p-value: NA
설명이 필요 없습니다. 예 1 을 예 2 와 비슷 하지만 "소음"이 추가 된 것으로 생각할 수 있습니다 . 데이터가 충분하고 무언가를 "예측"하는 데 사용하는 경우 단일 "기능"으로 인해 종속 변수를 잘 설명하는 "패턴"이 있음을 확신 할 수 있지만 이는 우연의 일치 일 수 있습니다. 예제 2 에서는 실제로 예측 된 것이 없지만 예제 1 에서 정확히 동일하게 발생했지만 변수 값만 다릅니다.
실제 사례
이에 대한 실제 사례는 2001 년 9 월 11 일 테러 공격을 예측 한 것으로, 세계 의식 프로젝트 (Global Consciousness Project) 에 의해 컴퓨터 의사 난수 생성기 또는 "Moby Dick"의 "비밀 메시지"에 의해 무작위로 그려진 숫자로 "패턴"을 보면서 유명인의 암살에 대한 사실을 밝히고 있습니다. ( 성경의 비슷한 결과에서 영감을 얻음 ).
결론
당신이 충분히 열심히 보면, 당신은 무엇이든 "패턴"을 찾을 수 있습니다. 그러나 이러한 패턴은 우주에 대해 아무것도 배울 수 없으며 일반적인 결론에 도달하는 데 도움이되지 않습니다. 그것들은 당신의 데이터에 완벽하게 맞을 것이지만, 데이터 자체와 다른 어떤 것도 맞지 않기 때문에 쓸모가 없습니다. 그들은 당신이 할 일은 데이터를 설명하는 것보다 오히려 모방하기 때문에 합리적인 샘플 외부 예측을 할 수 없습니다.
실제 생활에 과적 합을 초래하는 일반적인 문제는 올바르게 지정된 모형에 대한 항에 더해, 적절한 항의 관련이없는 힘 (또는 다른 변환), 관련이없는 변수 또는 관련이없는 상호 작용이 필요하다는 것입니다.
올바르게 지정된 모델에 나타나지 않아야하는 변수를 추가하지만 변수 바이어스가 생략 되는 것을 두려워하여 삭제하지 않으려는 경우에는 다중 회귀 분석이 발생합니다 . 물론 전체 모집단을 볼 수없고 표본 만 볼 수 있으므로 정확한 사양이 무엇인지 확실하게 알 수 없으므로 잘못 포함했는지 알 방법이 없습니다. (@Scortchi가 의견에서 지적했듯이 "올바른"모델 사양과 같은 것은 없을 수 있습니다. 그 의미에서 모델링의 목표는 "충분히 좋은"사양을 찾는 것입니다. 과적 합을 피하기 위해서는 모델 복잡성을 피해야합니다 사용 가능한 데이터에서 유지할 수있는 것보다 큽니다.) 실제 과적 합의 예를 원할 때 마다이 문제가 발생 합니다.다른 잠재적 인 효과가 부분적으로 표시되면 모든 잠재적 예측 변수를 실제로 회귀 모형에 넣습니다.
이러한 유형의 과적 합을 사용하면 이러한 관련이없는 항을 포함해도 추정치의 편차가 발생하지 않으며 매우 큰 표본에서는 관련이없는 항의 계수가 0에 가까워 야합니다. 그러나 나쁜 소식도 있습니다. 샘플의 제한된 정보가 더 많은 매개 변수를 추정하는 데 사용되고 있기 때문에 정확도가 떨어질 수 있습니다. 정확히 관련된 항의 표준 오류가 증가합니다. 즉, 정확하게 지정된 회귀 분석의 추정치보다 실제 값에서 멀어 질 가능성이 있음을 의미합니다. 즉, 설명 변수의 새로운 값이 주어지면 과적 합 모형의 예측이 예측보다 덜 정확합니다. 올바르게 지정된 모델
다음은 2010 년 미국 50 개 주에 대한 로그 인구에 대한 로그 GDP의 도표입니다. 10 개 상태의 무작위 샘플이 선택되었으며 (빨간색으로 강조 표시됨) 해당 샘플에 대해 간단한 선형 모형과 5 차 다항식을 적합합니다. 다항식은 추가 자유도를 가지므로 직선보다 관측 된 데이터에 더 가까이 도달 할 수 있습니다. 그러나 50 개 주가 전체적으로 거의 선형 관계에 따르기 때문에, 표본 외 40 개 지점에서 다항식 모델의 예측 성능은 특히 외삽 할 때 덜 복잡한 모형에 비해 매우 열악합니다. 다항식은 표본의 랜덤 구조 (소음)의 일부에 효과적으로 맞았으며, 이는 더 많은 모집단에 일반화되지 않았습니다. 관찰 된 샘플 범위를 넘어서 외삽하는 것이 특히 나빴습니다.이 답변의 개정판 .)
R
require(MASS) #for multivariate normal simulation
nsample <- 25 #sample to regress
nholdout <- 1e6 #to check model predictions
Sigma <- matrix(c(1, 0.5, 0.4, 0.5, 1, 0.3, 0.4, 0.3, 1), nrow=3)
df <- as.data.frame(mvrnorm(n=(nsample+nholdout), mu=c(5,5,5), Sigma=Sigma))
colnames(df) <- c("x1", "x2", "x3")
df$y <- 5 + 2 * df$x1 + rnorm(n=nrow(df)) #y = 5 + *x1 + e
holdout.df <- df[1:nholdout,]
regress.df <- df[(nholdout+1):(nholdout+nsample),]
overfit.lm <- lm(y ~ x1*x2*x3, regress.df)
correctspec.lm <- lm(y ~ x1, regress.df)
summary(overfit.lm)
summary(correctspec.lm)
holdout.df$overfitPred <- predict.lm(overfit.lm, newdata=holdout.df)
holdout.df$correctSpecPred <- predict.lm(correctspec.lm, newdata=holdout.df)
with(holdout.df, sum((y - overfitPred)^2)) #SSE
with(holdout.df, sum((y - correctSpecPred)^2))
require(ggplot2)
errors.df <- data.frame(
Model = rep(c("Overfitted", "Correctly specified"), each=nholdout),
Error = with(holdout.df, c(y - overfitPred, y - correctSpecPred)))
ggplot(errors.df, aes(x=Error, color=Model)) + geom_density(size=1) +
theme(legend.position="bottom")
다음은 한 번의 실행 결과입니다. 그러나 여러 번 생성 된 샘플의 효과를 보려면 시뮬레이션을 여러 번 실행하는 것이 가장 좋습니다.
> summary(overfit.lm)
Call:
lm(formula = y ~ x1 * x2 * x3, data = regress.df)
Residuals:
Min 1Q Median 3Q Max
-2.22294 -0.63142 -0.09491 0.51983 2.24193
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 18.85992 65.00775 0.290 0.775
x1 -2.40912 11.90433 -0.202 0.842
x2 -2.13777 12.48892 -0.171 0.866
x3 -1.13941 12.94670 -0.088 0.931
x1:x2 0.78280 2.25867 0.347 0.733
x1:x3 0.53616 2.30834 0.232 0.819
x2:x3 0.08019 2.49028 0.032 0.975
x1:x2:x3 -0.08584 0.43891 -0.196 0.847
Residual standard error: 1.101 on 17 degrees of freedom
Multiple R-squared: 0.8297, Adjusted R-squared: 0.7596
F-statistic: 11.84 on 7 and 17 DF, p-value: 1.942e-05
> summary(correctspec.lm)
Call:
lm(formula = y ~ x1, data = regress.df)
Residuals:
Min 1Q Median 3Q Max
-2.4951 -0.4112 -0.2000 0.7876 2.1706
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.7844 1.1272 4.244 0.000306 ***
x1 1.9974 0.2108 9.476 2.09e-09 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.036 on 23 degrees of freedom
Multiple R-squared: 0.7961, Adjusted R-squared: 0.7872
F-statistic: 89.8 on 1 and 23 DF, p-value: 2.089e-09
> with(holdout.df, sum((y - overfitPred)^2)) #SSE
[1] 1271557
> with(holdout.df, sum((y - correctSpecPred)^2))
[1] 1052217
(올바로 지정된 모델보다 더 많은 자유도를 가지므로 "더 나은"맞춤을 얻을 수 있습니다). 회귀 계수를 추정하는 데 사용하지 않은 홀드 아웃 세트의 예측에 대한 제곱 오차의 합을 살펴보고 과적 합 모델이 얼마나 더 나쁜지를 알 수 있습니다. 실제로 정확하게 지정된 모델은 최상의 예측을하는 모델입니다. 모델 추정에 사용한 데이터 세트의 결과를 기반으로 예측 성능 평가를 수행해서는 안됩니다. 올바른 모델 사양으로 0에 가까운 더 많은 오류를 생성하는 오류 밀도도는 다음과 같습니다.
시뮬레이션은 여러 관련 실제 상황을 명확하게 나타냅니다 (단일 예측 변수에 의존하는 실제 반응을 상상하고 모형에 불필요한 "예측 변수"를 포함하는 것을 상상하십시오). 그러나 데이터 생성 프로세스를 사용할 수 있다는 이점이 있습니다. , 표본 크기, 과적 합 모델의 특성 등. 이것은 관측 된 데이터에 대해 일반적으로 DGP에 액세스 할 수 없으므로 과적 합의 영향을 검사 할 수있는 가장 좋은 방법이며, 여전히 데이터를 검토하고 사용할 수 있다는 의미에서 "실제"데이터입니다. 다음은 실험 해 볼만한 가치있는 아이디어입니다.
n <- 1e6
Sigma
. 양의 반 정도를 유지하는 것을 잊지 마십시오 (대칭 포함). 다중 공선 성을 줄이면 과적 합 된 모델이 그렇게 나쁘게 수행되지 않는다는 것을 알아야합니다. 그러나 상관 예측 변수는 실제 생활에서 발생한다는 점을 명심하십시오.df$y <- 5 + 2*df$x1 + rnorm(n=nrow(df))
df$y <- 5 + 2 * df$x1 + 0.1*df$x2 + 0.1*df$x3 + rnorm(n=nrow(df))
nsample <- 25
nsample <- 1e6
, 약한 효과를 꽤 잘 추정 할 수 있으며 시뮬레이션은 복잡한 모형이 단순한 모형보다 우수한 예측력을 가지고 있음을 보여줍니다. 이것은 "과적 합 (overfitting)"이 모델 복잡성과 이용 가능한 데이터의 문제인 방법을 보여줍니다.내가 이것을 직접 이해하려고 할 때, 나는 실제 물체를 묘사하는 것과 유사하게 생각하기 시작했다. 그래서 당신이 일반적인 생각을 이해하고 싶다면 그것이 얻을 수있는 "실제 세계"라고 생각한다.
누군가에게 의자의 개념을 설명하여 그들이 찾은 새로운 물체가 의자인지를 예측할 수있는 개념적 모델을 얻도록한다고 가정 해 봅시다. 이케아에 가서 의자 샘플을 얻고 두 가지 변수를 사용하여 의자를 설명하기 시작하십시오. 앉을 수있는 다리가 4 개인 물체입니다. 글쎄, 그것은 또한 대변이나 침대 또는 다른 많은 것을 묘사 할 수 있습니다. 변수가 너무 적은 복잡한 분포를 모형화하려고하는 것처럼 모형이 적합하지 않습니다. 따라서 변수의 수를 늘리고 예를 들어 객체에 등이 있어야 함을 추가하십시오. 이제 의자 세트를 설명하는 꽤 수용 가능한 모델이 있지만 새 객체를 하나로 식별 할 수있을 정도로 일반적입니다. 모델은 데이터를 설명하고 예측할 수 있습니다. 그러나 모든 의자가 검은 색 또는 흰색이며 나무로 만들어진 세트가 있다고 가정하십시오. 모델에 이러한 변수를 포함하기로 결정하면 갑자기 플라스틱 노란색 의자가 의자로 식별되지 않습니다. 따라서 모형에 과적 합한 경우 일반적으로 의자의 특징 인 것처럼 데이터 세트의 특징을 포함 시켰습니다 (원하는 경우 샘플의 임의 변동을 다음과 같이 해석하여 "노이즈"를 "신호"로 식별 함). 전체 "실제 의자"의 특징). 따라서 샘플을 늘리고 새로운 재료와 색상을 포함 시키거나 모델의 변수 수를 줄이려고합니다. t 플라스틱 노란색 의자를 의자로 식별합니다. 따라서 모형에 과적 합한 경우 일반적으로 의자의 특징 인 것처럼 데이터 세트의 특징을 포함 시켰습니다 (원하는 경우 샘플의 임의 변동을 다음과 같이 해석하여 "노이즈"를 "신호"로 식별 함). 전체 "실제 의자"의 특징). 따라서 샘플을 늘리고 새로운 재료와 색상을 포함 시키거나 모델의 변수 수를 줄이려고합니다. t 플라스틱 노란색 의자를 의자로 식별합니다. 따라서 모형에 과적 합한 경우 일반적으로 의자의 특징 인 것처럼 데이터 세트의 특징을 포함 시켰습니다 (원하는 경우 샘플의 임의 변동을 다음과 같이 해석하여 "노이즈"를 "신호"로 식별 함). 전체 "실제 의자"의 특징). 따라서 샘플을 늘리고 새로운 재료와 색상을 포함 시키거나 모델의 변수 수를 줄이려고합니다.
이것은 추가 조사에서 단순한 유추와 분석이 될 수 있지만 일반적인 개념화로 작동한다고 생각합니다 ... 일부 설명이 필요하면 알려주십시오.
예측 모델링에서 아이디어는 현재 데이터를 사용하여 존재하며 향후 데이터로 일반화 될 수있는 추세를 발견하는 것입니다. 중요하지 않은 사소한 영향을 미치는 변수를 모델에 포함시킴으로써이 아이디어를 버리고 있습니다. 당신이하고있는 일은 특정 샘플에서 특정 기본 트렌드가 아닌 실제 노이즈 대신 랜덤 노이즈로 인해 발생하는 특정 트렌드를 고려하는 것입니다. 다시 말해, 변수가 너무 많은 모델은 신호를 발견하기보다는 노이즈에 적합합니다.
여기 내가 말하는 것에 대한 과장된 그림이 있습니다. 여기에서 점은 관측 된 데이터이고 선은 우리의 모델입니다. 완벽하게 맞는 것을보십시오. 정말 멋진 모델입니다! 그러나 트렌드를 실제로 발견 했습니까? 아니면 노이즈에 적합합니까? 아마도 후자 일 것입니다.
과적 합의 형태는 스포츠에서 상당히 흔합니다. 즉, 미래 결과를 예측할 수있는 모호한 힘이 없거나 적지 않은 요인으로 과거 결과를 설명하는 패턴을 식별하는 것입니다. 이러한 "패턴"의 공통적 인 특징은 패턴에 대한 순수한 가능성이 아마도 가장 타당한 설명 일 수 있도록 종종 매우 적은 경우에 근거한다는 것입니다.
예를 들면 다음과 같은 것들이 있습니다 ( "따옴표"는 저에 의해 만들어 지지만 종종 비슷해 보입니다)
코치가 마법의 빨간 자켓을 입기 시작한 이래 팀 A는 모든 X 게임에서 승리했습니다.
비슷한:
우리는 플레이 오프 동안 자신을 면도하지 않을 것입니다. 왜냐하면 그것은 과거의 X 게임에서 승리하는 데 도움이 되었기 때문입니다.
덜 미신적이지만 과적 합의 형태 :
보루시아 도르트문트는 적어도 한 번만 득점 한 이전 분데스리가 원정 경기에서 2 골 이상을 잃었을 때 스페인 리그 챔피언스 리그 홈 경기에서 패배 한 적이 없습니다.
비슷한:
로저 페더러 (Roger Federer)는 그해 호주 오픈에서 준결승에 진출했을 때 그의 데이비스 컵 경기에서 유럽 상대에게 모두 우승했습니다.
처음 두 가지는 분명한 말도 안됩니다 (적어도 나에게는). 마지막 두 가지 예는 샘플에서 완벽하게 잘 맞을 수 있지만 (예 : 과거),이 "정보"가 도르트문트가 마드리드를 4 번 잃었을 때 그의 승률에 실질적으로 영향을 미치는 상대에게 베팅하는 것이 가장 기쁠 것입니다. 지난 토요일 샬케에서 1 명 또는 페더러가 조코 빅을 때리고 페더러가 그해 호주 오픈에서 우승 했음에도 불구하고.
여기에 누군가가 연구에서 그것을 발견했다는 의미가 아니라 많은 통계 관련 용어없이 일상적인 개념을 사용한다는 의미에서 "실제 세계"의 예가 있습니다. 어쩌면이 방법은 다른 분야의 훈련을받는 사람들에게 더 도움이 될 것입니다.
드문 질환이있는 환자에 대한 데이터가있는 데이터베이스가 있다고 상상해보십시오. 의대생이며이 질병의 위험 요소를 인식 할 수 있는지 확인하고 싶습니다. 이 병원에서 8 건의 질병이 발생했으며, 연령, 인종, 출생 순서, 어린이로서 홍역을 앓은 적이 있는지에 대한 100 가지의 무작위 정보를 기록했습니다. 또한이 질환이없는 8 명의 환자에 대한 데이터를 기록했습니다.
위험 요소에 대해 다음 휴리스틱을 사용하기로 결정합니다. 질병에 걸린 환자 중 둘 이상에서 한 요소가 특정 값을 가지지 만 통제 범위가 0 인 경우에는 위험 요소로 간주됩니다. (실제로는 더 나은 방법을 사용하지만 간단하게 유지하고 싶습니다). 환자 중 6 명은 채식주의 자이며 (대조군 중 어느 것도 채식주의 자 아님) 3 명은 스웨덴어 조상이 있으며, 2 명은 말더듬에 장애가 있습니다. 다른 97 가지 요인 중 하나 이상에서 발생하는 것은 없지만 대조군에는 존재하지 않습니다.
몇 년 후, 다른 누군가가이 고아 병에 관심을 가지고 당신의 연구를 복제합니다. 그는 다른 병원과 데이터 공유 협력을하는 더 큰 병원에서 근무하기 때문에 8 건이 아닌 106 건에 관한 데이터를 사용할 수 있습니다. 그리고 그는 말더듬의 유병률이 환자 그룹과 통제 그룹에서 동일하다는 것을 발견했다. 말더듬은 위험 요소가 아닙니다.
여기서 일어난 일은 당신의 소그룹이 우연히 25 %의 말더듬을 가지고 있다는 것입니다. 휴리스틱은 이것이 의학적으로 관련이 있는지 알 방법이 없었습니다. 모델에 포함하기에 충분한 "관심있는"데이터 패턴을 고려할시기를 결정하는 기준을 부여했으며 이러한 기준에 따라 말더듬이 충분히 흥미로 웠습니다.
실수와 실제로는 관련이없는 매개 변수가 실수로 포함되어있어 모델이 과적 합되었습니다. 환자 8 명 + 대조군 8 명에 적합하지만 실제 데이터에는 적합하지 않습니다. 모형이 현실을 설명하는 것보다 표본을 더 잘 설명하면 초과 적합이라고합니다.
기능이있는 8 명의 환자 중 3 명의 임계 값을 선택했다면 발생하지 않았을 것입니다. 그러나 실제로 흥미로운 것을 놓칠 확률이 더 높습니다. 특히 많은 사람들이 위험 인자를 보이는 소수의 사람들에게만 질병이 발생하는 의학에서, 그것은 어려운 절충안입니다. 그것을 피하는 방법이 있습니다 (기본적으로 두 번째 샘플과 비교하여 설명력이 동일하게 유지되는지 또는 떨어지는 지 확인하십시오). 그러나 이것은 또 다른 질문의 주제입니다.
다음은 내가 과잉을 돕고 실패하는 것을 피하는 데 도움이 된 실제 과장된 예입니다.
나는 각각 50 개 이하의 데이터 포인트를 가진 수천 개의 독립적 인 이변 량 시계열을 가지고 있었고, 모델링 프로젝트는 각각에 벡터 자동 회귀 (VAR)를 맞추는 것을 포함했다. 관측에 걸쳐 정규화, 분산 성분 추정 등을 시도하지 않았습니다. 시점은 1 년 동안 측정되었으므로 데이터는 각 시계열에서 한 번만 나타나는 모든 종류의 계절 및 주기적 효과를 적용했습니다.
데이터의 한 부분 집합은 나머지 데이터와 비교할 때 엄청나게 높은 Granger 인과 관계를 나타 냈습니다. 스팟 검사는이 서브 세트에서 긍정적 인 스파이크가 한두 개의 간격으로 발생하고 있지만 두 스파이크가 외부 소스에 의해 직접적으로 발생했으며 한 스파이크가 다른 스파이크를 유발 하지 않았 음 을 명확하게 알 수 있습니다 . 이 모델을 사용한 표본 외부 예측은 모델이 과적 합 되었기 때문에 아마도 잘못되었을 것입니다. 스파이크를 나머지 데이터로 평균화하여 스파이크를 "평활화"하는 대신 실제로 스파이크가 실제로 추진하고 있다는 관찰은 거의 없었습니다. 추정치.
전반적으로, 나는 프로젝트가 나쁘게 진행되지 않았다고 생각하지만 그것이 그 어느 때보 다 유용한 결과를 낳지 않았다고 생각합니다. 그 이유 중 하나는 단지 하나 또는 두 개의 지연만으로도 많은 독립적 인 VAR 절차가 데이터와 노이즈를 구별하는 데 어려움을 겪고 있었기 때문에 이에 대한 통찰력을 제공하는 비용으로 후자에게 적합했기 때문입니다. 전자.
이 스레드의 많은 지적인 사람들은 --- 나보다 통계에 훨씬 더 정통합니다. 그러나 나는 여전히 평신도의 예를 이해하기 쉽지 않습니다. 대통령의 예는 전형적인 과적 합과 관련하여 법안에 크게 영향을 미치지 않습니다. 왜냐하면 그것이 과장된 주장 각각에 기술적으로 과적 합하는 반면, 과적 합 모델은 단지 한 요소 만이 아니라 주어진 소음보다 과적 합하기 때문입니다.
나는 wikipedia의 바이어스-분산 트레이드 오프 설명의 차트를 정말로 좋아합니다 : http://en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff
(가장 낮은 차트는 과적 합의 예입니다).
완전한 점보 점보처럼 들리지 않는 실제 예를 생각하기가 어렵습니다. 아이디어는 데이터가 측정 가능하고 이해하기 쉬운 변수 --- 부분 노이즈로 인해 발생한다는 것입니다. 이 노이즈를 패턴으로 모델링하려고하면 정확도가 떨어집니다.
고전적인 예는 MS Excel에서 R ^ 2를 기반으로 SOLELY를 기반으로 모델링하는 것입니다 (무의미한 방법에 관계없이 다항식을 사용하여 데이터에 최대한 가깝게 방정식 / 모델을 맞추려고합니다).
온도에 따라 아이스크림 판매를 모델링하려고한다고 가정 해 봅시다. "실제"데이터가 있습니다. 데이터를 플로팅하고 R ^ 2를 최대화하려고합니다. 실제 데이터를 사용하면 가장 가까운 적합 방정식이 선형 또는 2 차가 아닙니다 (논리적 의미가 있음). 거의 모든 방정식과 마찬가지로 더 무의미한 다항식 항을 더 많이 추가하면 (x ^ 6 -2x ^ 5 + 3x ^ 4 + 30x ^ 3-43.2x ^ 2-29x) 데이터에 더 가깝습니다. 그렇다면 온도가 아이스크림 판매와 어떻게 관련이 있습니까? 그 말도 다항식을 어떻게 설명하겠습니까? 사실, 그것은 진정한 모델이 아닙니다. 데이터가 과적 합되었습니다.
당신은 소음에 대해 잘 모르고 있습니다. 판매 촉진이나 다른 변수 또는 "노이즈"가 우주에서 날개를 퍼덕 거리는 나비와 같은 "노이즈"때문일 수 있습니다 .--- 온도를 기준으로 모델링하려고 시도했습니다. 일반적으로 노이즈 / 오류의 평균이 0이 아니거나 자동 상관 관계인 경우, 더 많은 변수가 있다는 의미입니다. 결국에는 랜덤하게 분포 된 노이즈에 도달하지만 여전히 최선의 방법입니다. 설명 해봐.
제가 가장 좋아하는 것은 1998 년 월드컵 축구 대회 전에 발견 된“3964 공식”입니다.
브라질은 1970 년과 1994 년에 우승했습니다.이 두 숫자를 합하면 3964를 얻게됩니다. 독일은 1974 년과 1990 년에 승리하여 3964 년에 다시 합산했다. 아르헨티나가 1978 년과 1986 년에 우승 한 것과 같은 것 (1978 + 1986 = 3964).
이것은 매우 놀라운 사실이지만 모든 사람들은 그 규칙에 근거하여 미래의 예측을 근거로 삼는 것이 바람직하지 않다는 것을 알 수 있습니다. 실제로이 규칙은 1998 년 월드컵 우승자가 1966 년 + 1998 년 = 3964 년 이후 잉글랜드 였고 1966 년 영국이 승리 했어야한다고 규정하고 있습니다.
조금 직관적이지만 도움이 될 것입니다. 새로운 언어를 배우고 싶다고 가정 해 봅시다. 어떻게 배우나요? 코스에서 규칙을 배우는 대신 예제를 사용합니다. 특히, TV 쇼. 그래서 당신은 범죄 쇼를 좋아하고 몇 가지 경찰 쇼 시리즈를 볼 수 있습니다. 그런 다음 또 다른 범죄 쇼를보고 그 중 일부 시리즈를 시청하십시오. 세 번째 쇼에서 당신은 거의 모든 것을 알고 문제 없습니다. 영어 자막이 필요하지 않습니다.
그러나 다음에 방문 할 때 새로 배운 언어를 길거리에서 시험 해보면 "책임자! 그 남자가 내 가방을 들고 그 여자를 쏴 버렸다!" 귀하의 '훈련 오류'가 0 인 동안, 언어의 '과적 합', 제한된 단어의 하위 집합만을 연구하고 충분히 가정하여 '테스트 오류'가 높습니다.