Số lượng biến độc lập tối đa có thể được nhập vào phương trình hồi quy bội


19

Giới hạn số lượng biến độc lập mà người ta có thể nhập trong phương trình hồi quy bội là gì? Tôi có 10 dự đoán mà tôi muốn kiểm tra về sự đóng góp tương đối của chúng vào biến kết quả. Tôi có nên sử dụng hiệu chỉnh bonferroni để điều chỉnh cho nhiều phân tích không?

Câu trả lời:


25

Bạn cần suy nghĩ về những gì bạn có nghĩa là "giới hạn". Có các giới hạn, chẳng hạn như khi bạn có nhiều yếu tố dự đoán hơn các trường hợp, bạn gặp phải các vấn đề trong ước tính tham số (xem mô phỏng R nhỏ ở cuối câu trả lời này).

Tuy nhiên, tôi tưởng tượng bạn đang nói nhiều hơn về các giới hạn mềm liên quan đến sức mạnh thống kê và thực hành thống kê tốt. Trong trường hợp này, ngôn ngữ của "giới hạn" không thực sự phù hợp. Thay vào đó, kích thước mẫu lớn hơn có xu hướng làm cho hợp lý hơn khi có nhiều người dự đoán hơn và ngưỡng của bao nhiêu người dự đoán là hợp lý được cho là rơi vào sự liên tục của tính hợp lý. Bạn có thể tìm thấy các cuộc thảo luận về quy tắc ngón tay cái cho kích thước mẫu trong nhiều hồi quy có liên quan, vì nhiều quy tắc ngón tay cái như vậy làm tham chiếu đến số lượng dự đoán.

Một vài điểm

  • Nếu bạn quan tâm nhiều hơn đến dự đoán tổng thể hơn là có ý nghĩa thống kê của các yếu tố dự đoán riêng lẻ, thì có lẽ hợp lý để bao gồm nhiều yếu tố dự đoán hơn là nếu bạn quan tâm đến ý nghĩa thống kê của các yếu tố dự đoán riêng lẻ.
  • Nếu bạn quan tâm nhiều hơn đến việc thử nghiệm một mô hình thống kê cụ thể liên quan đến câu hỏi nghiên cứu của bạn (ví dụ, như thường thấy trong nhiều ứng dụng khoa học xã hội), có lẽ bạn có lý do để đưa vào các dự đoán cụ thể. Tuy nhiên, bạn cũng có thể có cơ hội chọn lọc trong đó các yếu tố dự đoán mà bạn đưa vào (ví dụ: nếu bạn có nhiều biến đo lường một cấu trúc tương tự, bạn chỉ có thể bao gồm một trong số chúng). Khi thực hiện kiểm tra mô hình dựa trên lý thuyết, có rất nhiều sự lựa chọn và quyết định về việc dự đoán sẽ bao gồm những gì liên quan chặt chẽ giữa lý thuyết và câu hỏi nghiên cứu của bạn.
  • Tôi thường không thấy các nhà nghiên cứu sử dụng hiệu chỉnh bonferroni được áp dụng cho các thử nghiệm quan trọng về hệ số hồi quy. Một lý do hợp lý cho điều này có thể là các nhà nghiên cứu quan tâm hơn đến việc đánh giá các thuộc tính tổng thể của mô hình.
  • Nếu bạn quan tâm đến việc đánh giá tầm quan trọng tương đối của các yếu tố dự đoán, tôi thấy hữu ích khi kiểm tra cả mối quan hệ hai biến giữa yếu tố dự đoán và kết quả, cũng như mối quan hệ giữa yếu tố dự đoán và kiểm soát kết quả đối với các yếu tố dự đoán khác. Nếu bạn bao gồm nhiều yếu tố dự đoán, nhiều khả năng bạn sẽ bao gồm các yếu tố dự đoán có tính tương quan cao. Trong các trường hợp như vậy, việc giải thích cả hai chỉ số quan trọng dựa trên mô hình và mô hình có thể hữu ích, vì một biến quan trọng trong ý nghĩa bivariate có thể được ẩn trong một mô hình bởi các yếu tố dự đoán tương quan khác ( tôi giải thích thêm về điều này ở đây với các liên kết ).


Mô phỏng R nhỏ

Tôi đã viết mô phỏng nhỏ này để làm nổi bật mối quan hệ giữa kích thước mẫu và ước lượng tham số trong hồi quy bội.

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)
}

Các fitmodelchức năng nhận hai đối số ncho kích thước mẫu và kcho số dự đoán. Tôi không tính hằng số là một công cụ dự đoán, nhưng nó được ước tính. Sau đó tôi tạo dữ liệu ngẫu nhiên và phù hợp với mô hình hồi quy dự đoán biến ay từ kcác biến dự đoán và trả về sự phù hợp.

Cho rằng bạn đã đề cập trong câu hỏi của mình rằng bạn quan tâm đến việc 10 dự đoán có quá nhiều hay không, các lệnh gọi hàm sau cho biết điều gì xảy ra khi kích thước mẫu lần lượt là 9, 10, 11 và 12. Tức là, cỡ mẫu nhỏ hơn một lần so với số lượng dự đoán nhiều hơn hai lần so với số lượng dự đoán

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

> tóm tắt (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 

Cỡ mẫu nhỏ hơn một lượng so với số lượng dự đoán. Chỉ có thể ước tính 9 tham số, một trong số đó là hằng số.

> tóm tắt (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 

Cỡ mẫu giống như số lượng người dự đoán. Chỉ có thể ước tính 10 tham số, một trong số đó là hằng số.

> tóm tắt (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 

Cỡ mẫu là nhiều hơn số lượng dự đoán. Tất cả các tham số được ước tính bao gồm cả hằng số.

> tóm tắt (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 

Cỡ mẫu lớn hơn hai lần so với số lượng dự đoán và cuối cùng có thể ước tính mức độ phù hợp của mô hình tổng thể.


Ai đó có thể giải thích tại sao các lỗi tiêu chuẩn trong kịch bản đầu tiên (n = 9, k = 10) là NA không? Tôi có công thức lỗi tiêu chuẩn, nhưng không thấy mẫu số sẽ là 0 như thế nào để chúng tôi có được NA.
matsuo_basho

12

Tôi thường xem xét điều này từ quan điểm về việc liệu một mô hình được trang bị một số tham số nhất định có khả năng đưa ra các dự đoán ngoài mẫu chính xác như các dự đoán được đưa ra trên mẫu phát triển mô hình ban đầu hay không. Đường cong hiệu chuẩn, sai số bình phương trung bình của X * Beta và chỉ số phân biệt dự đoán là một số biện pháp thường được sử dụng. Đây là nơi một số quy tắc của ngón tay cái xuất phát, chẳng hạn như quy tắc 15: 1 (cỡ mẫu hiệu quả là 15 trên mỗi tham số được kiểm tra hoặc ước tính).

Về tính đa dạng, một sự điều chỉnh hoàn hảo cho tính đa bội, giả sử rằng mô hình giữ và các giả định phân phối được đáp ứng, là thử nghiệm toàn cầu rằng tất cả các betas (trừ chặn) đều bằng không. Điều này thường được kiểm tra bằng cách sử dụng tỷ lệ khả năng hoặc kiểm tra F.

Có hai cách tiếp cận tổng thể để phát triển mô hình có xu hướng hoạt động tốt. (1) Có cỡ mẫu phù hợp và phù hợp với toàn bộ mô hình được chỉ định trước và (2) đã sử dụng ước tính khả năng tối đa bị phạt để chỉ cho phép nhiều mức độ tự do hiệu quả trong hồi quy như cỡ mẫu hiện tại sẽ hỗ trợ. [Lựa chọn biến theo từng bước mà không bị phạt sẽ không có vai trò gì, vì điều này được biết là không hoạt động.]


Là những quy tắc ngón tay cái dựa trên các giả định về kích thước của các hệ số hồi quy thực và kích thước của phương sai lỗi? Tôi có đúng không khi nghĩ rằng nếu phương sai lỗi được biết là rất nhỏ, tỷ lệ điểm dữ liệu nhỏ hơn nhiều so với tham số sẽ được chấp nhận?
đánh dấu999

1
Đó là một điểm tuyệt vời mà tôi bỏ qua đề cập đến. Quy tắc 15: 1 dành cho các loại tín hiệu: tỷ lệ nhiễu nhìn thấy trong khoa học y sinh và xã hội. Khi bạn có phương sai dư thấp, bạn có thể ước tính nhiều tham số chính xác hơn.
Frank Harrell

10

npmpmmnp

1mKpσ1/đăng nhập(p)σ1Xσ1p


6

Về nguyên tắc, không có giới hạn cho mỗi lần bạn có thể có bao nhiêu dự đoán. Về nguyên tắc, bạn có thể ước tính 2 tỷ "betas". Nhưng những gì xảy ra trong thực tế là nếu không có đủ dữ liệu, hoặc đủ thông tin trước đó, nó sẽ không chứng minh được một bài tập rất hiệu quả. Không có thông số cụ thể sẽ được xác định rất tốt và bạn sẽ không học được nhiều từ phân tích.

Bây giờ nếu bạn không có nhiều thông tin trước về mô hình của mình (cấu trúc mô hình, giá trị tham số, nhiễu, v.v.) thì bạn sẽ cần dữ liệu để cung cấp thông tin này. Đây thường là tình huống phổ biến nhất, có ý nghĩa, bởi vì bạn thường cần một lý do khá chính đáng để thu thập dữ liệu (và chi $$$) về một cái gì đó bạn đã biết khá rõ. Nếu đây là tình huống của bạn, thì một giới hạn hợp lý là có số lượng lớn các quan sát cho mỗi tham số. Bạn có 12 tham số (10 betas độ dốc, 1 chặn và tham số nhiễu), do đó, bất cứ điều gì trên 100 quan sát đều có thể xác định các thông số của bạn đủ tốt để có thể đưa ra kết luận.

Nhưng không có quy tắc "cứng và nhanh". Chỉ với 10 dự đoán, bạn sẽ không gặp khó khăn với thời gian tính toán (có được một máy tính tốt hơn nếu bạn làm như vậy). Nó chủ yếu có nghĩa là chỉ cần làm nhiều việc hơn, bởi vì bạn có 11 chiều dữ liệu để hấp thụ - gây khó khăn cho việc trực quan hóa dữ liệu. Các nguyên tắc cơ bản từ hồi quy chỉ có 1 biến phụ thuộc không thực sự khác biệt.

Vấn đề với hiệu chỉnh bonferroni là nó là một cách hợp lý để điều chỉnh mức ý nghĩa của bạn mà không mất quá nhiều sức mạnh, bạn yêu cầu giả thuyết rằng bạn đang sửa chữa để độc lập (nghĩa là học một giả thuyết là không đúng cho bạn biết một giả thuyết khác là đúng). Điều này không đúng với "t-test" tiêu chuẩn trong hồi quy bội cho một hệ số hiệu quả bằng 0, chẳng hạn. Thống kê kiểm tra phụ thuộc vào những gì khác trong mô hình - đó là một cách nói vòng vo để giả thuyết phụ thuộc. Hoặc, một cách thường xuyên hơn để nói điều này là phân phối lấy mẫu của điều kiện giá trị t trên bộ dự đoán thứ i bằng 0 phụ thuộc vào các tham số khác bằng không. Vì vậy, sử dụng hiệu chỉnh bonferroni ở đây có thể thực sự mang lại cho bạn "tổng thể" thấp hơn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.