다중 회귀 방정식에 입력 할 수있는 최대 독립 변수 수


19

다중 회귀 방정식에 입력 할 수있는 독립 변수의 수에는 제한이 있습니까? 결과 변수에 대한 상대적 기여도 측면에서 조사하고자하는 예측 변수가 10 개 있습니다. 여러 분석을 조정하기 위해 bonferroni 수정을 사용해야합니까?

답변:


25

"제한"의 의미에 대해 생각해야합니다. 경우보다 예측 변수가 많은 경우와 같이 한계가 있습니다. 모수 추정에 문제가 있습니다 (이 답변의 맨 아래에있는 작은 R 시뮬레이션 참조).

그러나 나는 당신이 통계적 힘과 좋은 통계 실습과 관련된 소프트 한계에 대해 더 많이 이야기하고 있다고 상상합니다. 이 경우 "제한"의 언어는 실제로 적절하지 않습니다. 오히려 표본 크기가 클수록 더 많은 예측 변수를 갖는 것이 더 합리적인 경향이 있으며, 얼마나 많은 예측 변수가 합리적인지에 대한 임계 값이 합리성의 연속성에있을 수 있습니다. 다수의 회귀 분석 규칙 에서 다수의 회귀 분석에서 표본 크기에 대한 경험 법칙에 대한 논의는 여러 예측 변수의 수를 참조하므로 알 수 있습니다.

몇 가지 포인트

  • 개별 예측 변수의 통계적 유의성보다 전체 예측에 더 관심이있는 경우 개별 예측 변수의 통계적 유의성에 관심이있는 경우보다 더 많은 예측 변수를 포함시키는 것이 합리적입니다.
  • 연구 문제와 관련된 특정 통계 모델을 테스트하는 데 더 관심이있는 경우 (예 : 많은 사회 과학 응용 프로그램에서 일반적으로 사용되는) 특정 예측 변수를 포함 할 이유가있을 수 있습니다. 그러나 포함 할 예측 변수를 선택적으로 선택할 수도 있습니다 (예 : 유사한 구성을 측정하는 여러 변수가있는 경우 변수 중 하나만 포함 할 수 있음). 이론 기반 모델 테스트를 수행 할 때는 다양한 선택이 있으며, 어떤 예측 변수를 포함 시킬지 결정하려면 이론과 연구 질문 사이의 밀접한 관련이 있어야합니다.
  • Bonferroni 보정을 사용하는 연구원이 회귀 계수의 유의성 검정에 적용되는 경우가 종종 없습니다. 이에 대한 한 가지 합리적인 이유는 연구자들이 모델의 전체 특성을 평가하는 데 더 관심이 있기 때문일 수 있습니다.
  • 예측 변수의 상대적 중요성을 평가하는 데 관심이있는 경우 예측 변수와 결과 간의 이변 량 관계와 다른 예측 변수에 대한 예측 변수와 결과 제어 간의 관계를 모두 검토하는 것이 유용합니다. 예측 변수가 많은 경우 상호 상관성이 높은 예측 변수를 포함 할 가능성이 높습니다. 이 경우, 이변 량 의미에서 중요한 변수가 다른 상관 예측 변수에 의해 모델에서 숨겨 질 수 있으므로 이변 량 및 모형 기반 중요도 지수의 해석이 유용 할 수 있습니다 ( 여기서는 링크로 자세히 설명합니다 ).


약간의 R 시뮬레이션

다중 회귀 분석에서 표본 크기와 모수 추정 간의 관계를 강조하기 위해이 작은 시뮬레이션을 작성했습니다.

set.seed(1)

fitmodel <- function(n, k) {
  # n: sample size
  # k: number of predictors
  # return linear model fit for given sample size and k predictors
  x <- data.frame(matrix( rnorm(n*k), nrow=n))
  names(x) <- paste("x", seq(k), sep="")
  x$y <- rnorm(n)  
  lm(y~., data=x)
}

fitmodel함수는 n표본 크기와 k예측 변수 수에 대해 두 가지 인수 를 사용합니다 . 상수를 예측 변수로 계산하지 않지만 추정됩니다. 그런 다음 임의의 데이터를 생성하고 예측 변수에서 y 변수를 예측하는 회귀 모델을 k피팅하고 피팅을 반환합니다.

귀하의 질문에 10 개의 예측 변수가 너무 많은지에 관심이 있다고 언급 한 경우 다음 함수 호출은 표본 크기가 각각 9, 10, 11 및 12 일 때 발생하는 상황을 보여줍니다. 즉, 표본 크기는 예측 변수 수보다 1이 적고 예측 변수 수보다 2가 더 큽니다.

summary(fitmodel(n=9, k=10))
summary(fitmodel(n=10, k=10))
summary(fitmodel(n=11, k=10))
summary(fitmodel(n=12, k=10))

> 요약 (fitmodel (n = 9, k = 10))

Call:
lm(formula = y ~ ., data = x)

Residuals:
ALL 9 residuals are 0: no residual degrees of freedom!

Coefficients: (2 not defined because of singularities)
            Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.31455         NA      NA       NA
x1           0.34139         NA      NA       NA
x2          -0.45924         NA      NA       NA
x3           0.42474         NA      NA       NA
x4          -0.87727         NA      NA       NA
x5          -0.07884         NA      NA       NA
x6          -0.03900         NA      NA       NA
x7           1.08482         NA      NA       NA
x8           0.62890         NA      NA       NA
x9                NA         NA      NA       NA
x10               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 8 and 0 DF,  p-value: NA 

표본 크기는 예측 변수 수보다 1이 적습니다. 9 개의 매개 변수 만 추정 할 수 있으며 그 중 하나는 상수입니다.

> 요약 (fitmodel (n = 10, k = 10))

Call:
lm(formula = y ~ ., data = x)

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)   0.1724         NA      NA       NA
x1           -0.3615         NA      NA       NA
x2           -0.4670         NA      NA       NA
x3           -0.6883         NA      NA       NA
x4           -0.1744         NA      NA       NA
x5           -1.0331         NA      NA       NA
x6            0.3886         NA      NA       NA
x7           -0.9886         NA      NA       NA
x8            0.2778         NA      NA       NA
x9            0.4616         NA      NA       NA
x10               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 

표본 크기는 예측 변수 수와 같습니다. 10 개의 매개 변수 만 추정 할 수 있으며 그 중 하나는 상수입니다.

> 요약 (fitmodel (n = 11, k = 10))

Call:
lm(formula = y ~ ., data = x)

Residuals:
ALL 11 residuals are 0: no residual degrees of freedom!

Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept)  -0.9638         NA      NA       NA
x1           -0.8393         NA      NA       NA
x2           -1.5061         NA      NA       NA
x3           -0.4917         NA      NA       NA
x4            0.3251         NA      NA       NA
x5            4.4212         NA      NA       NA
x6            0.7614         NA      NA       NA
x7           -0.4195         NA      NA       NA
x8            0.2142         NA      NA       NA
x9           -0.9264         NA      NA       NA
x10          -1.2286         NA      NA       NA

Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared:     1,  Adjusted R-squared:   NaN 
F-statistic:   NaN on 10 and 0 DF,  p-value: NA 

표본 크기는 예측 변수 수보다 하나 더 큽니다. 상수를 포함하여 모든 매개 변수가 추정됩니다.

> 요약 (fitmodel (n = 12, k = 10))

Call:
lm(formula = y ~ ., data = x)

Residuals:
        1         2         3         4         5         6         7         8         9        10        11 
 0.036530 -0.042154 -0.009044 -0.117590  0.171923 -0.007976  0.050542 -0.011462  0.010270  0.000914 -0.083533 
       12 
 0.001581 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept)  0.14680    0.11180   1.313   0.4144  
x1           0.02498    0.09832   0.254   0.8416  
x2           1.01950    0.13602   7.495   0.0844 .
x3          -1.76290    0.26094  -6.756   0.0936 .
x4           0.44832    0.16283   2.753   0.2218  
x5          -0.76818    0.15651  -4.908   0.1280  
x6          -0.33209    0.18554  -1.790   0.3244  
x7           1.62276    0.21562   7.526   0.0841 .
x8          -0.47561    0.18468  -2.575   0.2358  
x9           1.70578    0.31547   5.407   0.1164  
x10          3.25415    0.46447   7.006   0.0903 .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.2375 on 1 degrees of freedom
Multiple R-squared: 0.995,  Adjusted R-squared: 0.9452 
F-statistic: 19.96 on 10 and 1 DF,  p-value: 0.1726 

표본 크기는 예측 변수 수보다 2 배 더 많으며 최종적으로 전체 모형의 적합도를 추정 할 수 있습니다.


누군가 첫 번째 시나리오 (n = 9, k = 10)의 표준 오류가 NA 인 이유를 설명해 주시겠습니까? 표준 오류 수식이 있지만 NA를 얻기 위해 분모가 0이되는 방법을 보지 못합니다.
matsuo_basho

12

필자는 종종 특정 수의 매개 변수를 갖춘 모델이 원래 모델 개발 샘플에서 이루어진 예측만큼 정확한 예측치가 아닌 샘플을 예측할 수 있는지의 관점에서 이것을 봅니다. 보정 곡선, X * Beta의 평균 제곱 오차 및 예측 식별 지수는 일반적으로 사용되는 측정 값 중 일부입니다. 이것은 15 : 1 규칙 (검사 또는 추정 된 매개 변수 당 유효 샘플 크기 15)과 같은 경험 법칙의 일부입니다.

다중 성과 관련하여 모델 보유 및 분포 가정이 충족되었다고 가정하면 다중도에 대한 완벽한 조정은 인터셉트 이외의 모든 베타가 0이라는 글로벌 테스트입니다. 일반적으로 우도 비 또는 F 검정을 사용하여 검정합니다.

잘 작동하는 모델 개발에 대한 두 가지 전반적인 접근 방식이 있습니다. (1) 적절한 표본 크기를 갖고 사전 지정된 전체 모형에 적합하며, (2) 현재 표본 크기가 지원하는만큼 회귀에서 유효 자유도 만 허용하기 위해 처벌 된 최대 우도 추정치를 사용했습니다. [벌칙이없는 단계적 변수 선택은 작동하지 않는 것으로 알려져 있기 때문에 아무런 역할을해서는 안된다.]


이러한 경험 규칙은 실제 회귀 계수의 크기와 오차 분산의 크기에 대한 가정을 기반으로합니까? 오차 분산이 매우 작은 것으로 알려진 경우, 데이터 포인트 대 파라미터의 비율이 훨씬 적을 것이라고 생각할 수 있습니까?
mark999

1
그것은 내가 언급하지 않은 훌륭한 요점입니다. 15 : 1 규칙은 생체 의학 및 사회 과학에서 볼 수있는 신호 : 소음 비율의 유형에 적용됩니다. 잔차 분산이 낮 으면 더 많은 모수를 정확하게 추정 할 수 있습니다.
Frank Harrell

10

나는 관측치와 후보 예측자를 가지고있다. 실제 모델이 후보 예측 변수 중 변수 의 선형 조합이라고 가정합니다 . 이 모델을 여전히 식별 할 수 있도록 (한계)에 상한이 있습니까? 직관적으로, 이 비해 너무 크 거나 비해 크면 올바른 모델을 식별하기가 어려울 수 있습니다. 다른 말로하면 : 모델 선택에 제한이 있습니까?p m p m m n pnpmpmmnp

이 질문에, Candes 및 계획은 자신의 논문에서 긍정적 인 답변을 제공 "근처에 이상적 모델 선택 최소화"1 : , 가장 큰 특이 값 의 예측 된 매트릭스의 . 이것은 깊은 결과이며 여러 기술적 조건에 의존하지만 통한 관측치 수 와 추정치 수를 연결합니다. σ 1 X σ 1 pmKpσ1/log(p)σ1Xσ1p


6

원칙적으로 예측할 수있는 예측 변수 수에는 제한이 없습니다. 원칙적으로 20 억 개의 "베타"를 추정 할 수 있습니다. 그러나 실제로 일어나는 일은 충분한 데이터 나 충분한 사전 정보가 없다면 그다지 유익하지 않은 운동이 될 수 없다는 것입니다. 특정 매개 변수는 잘 결정되지 않으며 분석에서 많이 배우지 않습니다.

모델에 대한 사전 정보가 많지 않은 경우 (모델 구조, 매개 변수 값, 노이즈 등)이 정보를 제공하려면 데이터가 필요합니다. 일반적으로 이미 가장 잘 알려진 상황에 대해 데이터를 수집하고 $$$를 소비 할 꽤 좋은 이유가 필요하기 때문에 이는 일반적으로 가장 일반적인 상황입니다. 이것이 귀하의 상황이라면, 합리적인 한계는 매개 변수 당 많은 수의 관측치를 갖는 것입니다. 12 개의 매개 변수 (10 개의 기울기 베타, 1 개의 가로 채기 및 노이즈 매개 변수)가 있으므로 100 개가 넘는 관측 값을 사용하면 결론을 내릴 수있을만큼 충분히 매개 변수를 결정할 수 있습니다.

그러나 "단단하고 빠른"규칙은 없습니다. 10 개의 예측 변수 만 있으면 계산 시간에 문제가 없어야합니다 (그렇다면 더 나은 컴퓨터를 사용하십시오). 11 차원의 데이터를 흡수하여 데이터를 시각화하기 어렵 기 때문에 주로 더 많은 작업을 수행해야합니다. 종속 변수가 1 개인 회귀 분석의 기본 원리는 실제로 그렇게 다르지 않습니다.

bonferroni 보정의 문제점은 너무 많은 전력을 희생하지 않고 유의 수준을 조절할 수있는 합리적인 방법이기 때문에 독립적 인 것으로 수정해야한다는 가설이 필요하다는 것입니다 (즉, 하나의 가설이 참인지 학습하면 또 다른 가설은 사실이다). 예를 들어 계수가 0 인 다중 회귀 분석의 표준 "t- 검정"의 경우에는 해당되지 않습니다. 검정 통계량은 모형의 다른 항목에 따라 달라집니다. 이는 가설이 종속적이라고 말하는 원형 길입니다. 또는, 더 빈번하게 말하는 것은 i 번째 예측 자에 대한 조건부 t- 값의 샘플링 분포가 0 인 다른 매개 변수가 무엇인지에 달려 있다는 것입니다. 따라서 bonferroni 수정을 사용하면 실제로 "전체"가 낮아질 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.