Khi tiến hành hồi quy bội, khi nào bạn nên tập trung vào các biến dự đoán của mình & khi nào bạn nên chuẩn hóa chúng?


281

Trong một số tài liệu, tôi đã đọc rằng một hồi quy với nhiều biến giải thích, nếu ở các đơn vị khác nhau, cần phải được tiêu chuẩn hóa. (Tiêu chuẩn hóa bao gồm trừ trung bình và chia cho độ lệch chuẩn.) Trong trường hợp nào khác tôi cần phải chuẩn hóa dữ liệu của mình? Có trường hợp nào tôi chỉ nên tập trung vào dữ liệu của mình (nghĩa là không chia cho độ lệch chuẩn) không?


11
Một bài viết liên quan trong blog của Andrew Gelman.

31
Ngoài các câu trả lời tuyệt vời đã được đưa ra, hãy để tôi đề cập rằng khi sử dụng các phương pháp xử phạt như hồi quy sườn hoặc lasso, kết quả không còn là bất biến đối với tiêu chuẩn hóa. Đó là, tuy nhiên, thường được đề nghị để tiêu chuẩn hóa. Trong trường hợp này không phải vì lý do liên quan trực tiếp đến các diễn giải, mà bởi vì hình phạt sau đó sẽ xử lý các biến giải thích khác nhau trên một nền tảng bình đẳng hơn.
NRH

6
Chào mừng đến với trang web @mathieu_r! Bạn đã đăng hai câu hỏi rất phổ biến. Vui lòng xem xét nâng cấp / chấp nhận một số câu trả lời xuất sắc mà bạn đã nhận được cho cả hai câu hỏi;)
Macro


1
Khi tôi đọc Câu hỏi và trả lời này, nó làm tôi nhớ đến một trang web usenet mà tôi đã tình cờ tìm thấy nhiều năm trước faqs.org/faqs/ai-faq/neural-nets/part2/section-16.html Điều này đưa ra một cách đơn giản một số vấn đề và cân nhắc khi một người muốn bình thường hóa / chuẩn hóa / sắp xếp lại dữ liệu. Tôi không thấy nó được đề cập ở bất cứ đâu trên các câu trả lời ở đây. Nó đối xử với chủ đề từ góc độ học máy nhiều hơn, nhưng nó có thể giúp ai đó đến đây.
Paul

Câu trả lời:


213

Trong hồi quy, người ta thường khuyên nên căn giữa các biến để các yếu tố dự đoán có nghĩa là . Điều này làm cho nó sao cho thuật ngữ chặn được hiểu là giá trị mong đợi của khi các giá trị dự đoán được đặt thành phương tiện của chúng . khác, phần chặn được hiểu là giá trị mong đợi của khi các yếu tố dự đoán được đặt thành 0, có thể không phải là tình huống thực tế hoặc có thể giải thích được (ví dụ: nếu các yếu tố dự đoán là chiều cao và cân nặng thì sao?). Một lý do thực tế khác để nhân rộng trong hồi quy là khi một biến có quy mô rất lớn, ví dụ nếu bạn đang sử dụng quy mô dân số của một quốc gia làm công cụ dự báo. Trong trường hợp đó, các hệ số hồi quy có thể rất0Y i Y i 10 - 6YiYithứ tự cường độ nhỏ (ví dụ ) có thể gây khó chịu đôi chút khi bạn đọc đầu ra của máy tính, do đó bạn có thể chuyển đổi biến thành, ví dụ, kích thước dân số tính bằng triệu. Quy ước mà bạn chuẩn hóa các dự đoán chủ yếu tồn tại sao cho các đơn vị của các hệ số hồi quy là như nhau.106

Vì @gung ám chỉ và @ MånsT hiển thị rõ ràng (+1 cho cả hai, btw), việc định tâm / chia tỷ lệ không ảnh hưởng đến suy luận thống kê của bạn trong các mô hình hồi quy - các ước tính được điều chỉnh phù hợp và giá trị sẽ giống nhau.p

Các tình huống khác trong đó định tâm và / hoặc chia tỷ lệ có thể hữu ích:

  • khi bạn đang cố gắng tính tổng hoặc các biến trung bình ở các thang đo khác nhau , có lẽ để tạo ra một số điểm tổng hợp của một số loại. Không có tỷ lệ, có thể xảy ra trường hợp một biến có tác động lớn hơn đến tổng do hoàn toàn do quy mô của nó, điều này có thể không mong muốn.

  • Để đơn giản hóa các tính toán và ký hiệu. Ví dụ: ma trận hiệp phương sai mẫu của ma trận các giá trị được căn giữa bởi phương tiện mẫu của chúng chỉ đơn giản là . Tương tự, nếu một biến ngẫu nhiên đơn biến có nghĩa là trung tâm, thì và phương sai có thể được ước tính từ một mẫu bằng cách xem xét trung bình mẫu của bình phương quan sát được các giá trị.XXXvar(X)=E(X2)

  • Liên quan đến đã nói ở trên, PCA chỉ có thể được hiểu là sự phân rã giá trị số ít của ma trận dữ liệu khi các cột lần đầu tiên được căn giữa bởi phương tiện của chúng.

Lưu ý rằng việc chia tỷ lệ là không cần thiết trong hai điểm đạn cuối cùng mà tôi đã đề cập và định tâm có thể không cần thiết trong viên đạn đầu tiên tôi đã đề cập, vì vậy cả hai không cần phải đi tay và tay mọi lúc.


2
+1, đây là những điểm tốt tôi không nghĩ tới. Để rõ ràng, hãy để tôi liệt kê một số ví dụ cụ thể trong đó một nhà nghiên cứu có thể muốn kết hợp các biến giải thích trước khi chạy hồi quy, và do đó cần phải chuẩn hóa. Một trường hợp có thể là để nghiên cứu về rối loạn hành vi của trẻ em; các nhà nghiên cứu có thể nhận được xếp hạng từ cả phụ huynh và giáo viên, và sau đó muốn kết hợp chúng thành một biện pháp sai lầm duy nhất. Một trường hợp khác có thể là một nghiên cứu về mức độ hoạt động tại một viện dưỡng lão với sự tự đánh giá của người dân và số chữ ký trên các tờ đăng ký cho các hoạt động.
gung

2
Nhưng trên lý thuyết chúng ta không nên sử dụng trung bình dân số và độ lệch chuẩn để định tâm / chia tỷ lệ? Trong thực tế, nó có đơn giản như sử dụng trung bình mẫu / SD hoặc có nhiều hơn không?
AlefSin

3
Vì lợi ích của sự hoàn chỉnh, hãy để tôi thêm vào câu trả lời đẹp này mà của trung tâm và chuẩn X là ma trận tương quan. XXX
cbeleites

1
@AlefSin: bạn thực sự có thể muốn sử dụng một cái gì đó ngoài ý nghĩa dân số / sd, xem câu trả lời của tôi. Nhưng quan điểm của bạn rằng chúng ta nên nghĩ những gì sử dụng để định tâm / nhân rộng là rất tốt.
cbeleites

@AlefSin, tất cả các nhận xét của tôi được đưa ra giả sử bạn đang sử dụng giá trị trung bình mẫu / SD. Nếu bạn căn giữa mẫu có nghĩa là việc giải thích đánh chặn vẫn giống nhau, ngoại trừ đó là giá trị mong đợi của khi các yếu tố dự đoán được đặt nghĩa là mẫu của chúng . Thông tin trong ba gạch đầu dòng của tôi vẫn được áp dụng khi bạn căn giữa / tỷ lệ theo số lượng mẫu. Cũng đáng lưu ý rằng nếu bạn căn giữa trung bình mẫu, kết quả là một biến có giá trị trung bình 0 nhưng tỷ lệ theo độ lệch chuẩn của mẫu không, nói chung tạo ra kết quả với độ lệch chuẩn 1 (ví dụ: thống kê t). Yi
Macro

143

β1=.6β2=.3, sau đó biến giải thích đầu tiên quan trọng gấp đôi biến thứ hai. Trong khi ý tưởng này là hấp dẫn, thật không may, nó không hợp lệ. Có một số vấn đề, nhưng có lẽ dễ theo dõi nhất là bạn không có cách nào để kiểm soát các hạn chế phạm vi có thể có trong các biến. Suy ra 'tầm quan trọng' của các biến giải thích khác nhau liên quan đến nhau là một vấn đề triết học rất phức tạp. Không có gì trong số đó là đề xuất rằng tiêu chuẩn hóa là xấu hay sai , chỉ là nó thường không cần thiết .

XX2XX


(Cập nhật thêm nhiều sau này :) Một trường hợp tương tự mà tôi quên đề cập đến là tạo các thuật ngữ tương tác . Nếu thuật ngữ tương tác / sản phẩm được tạo từ hai biến không tập trung vào 0, một số lượng cộng tuyến sẽ được tạo ra (với số lượng chính xác tùy thuộc vào các yếu tố khác nhau). Trung tâm đầu tiên giải quyết vấn đề tiềm năng này. Để được giải thích đầy đủ hơn, hãy xem câu trả lời xuất sắc này từ @Affine: Chẩn đoán cộng tác chỉ có vấn đề khi bao gồm thuật ngữ tương tác .


12
Nếu có ai quan tâm, tôi cũng nói về ý tưởng sai lầm khi sử dụng betas được tiêu chuẩn hóa để suy ra 'tầm quan trọng' tương đối ở đây: thử nghiệm đa tuyến tính-hồi quy-cho-giả thuyết
gung

Cảm ơn vì đã trả lời. Tôi nghĩ rằng tôi đã tìm ra nó trong khi đó: người ta có thể nghĩ về thuật ngữ bình phương khi X tương tác với chính nó, vì vậy để nói và quan điểm của bạn về biến tương tác sẽ tổng quát hơn.
Abhimanyu Arora

6
XX

Giới thiệu về beta1 = 0,6 và beta2 = 0,3, tôi không chắc việc nói beta1 quan trọng gấp đôi so với beta2 là phù hợp hay không, nhưng tôi nghĩ rằng vì chúng được chuẩn hóa nên chúng có cùng "tỷ lệ", tức là các đơn vị là độ lệch chuẩn từ trung bình Phải nói rằng, phản ứng của Y sẽ cao gấp đôi trong trường hợp beta1 (giữ x2 không đổi) so với beta2 (giữ x1 không đổi). Đúng? Hay tôi đã hiểu nhầm một cái gì đó trên đường?
chao

@chao, bạn chưa thực sự thoát khỏi các đơn vị nội tại của 2 biến; bạn vừa giấu chúng. Bây giờ, các đơn vị của X1 là trên 13,9 cm và các đơn vị của X2 là trên 2,3 độ C.
gung

80

Ngoài các nhận xét trong các câu trả lời khác, tôi muốn chỉ ra rằng quy mô và vị trí của các biến giải thích không ảnh hưởng đến tính hợp lệ của mô hình hồi quy theo bất kỳ cách nào.

y=β0+β1x1+β2x2++ϵ

β1,β2,x1,x2,β0

x1aβ^11/a

β^1(x1)=i=1n(x1,ix¯1)(yiy¯)i=1n(x1,ix¯1)2.

Do vậy

β^1(ax1)=i=1n(ax1,iax¯1)(yiy¯)i=1n(ax1,iax¯1)2=ai=1n(x1,ix¯1)(yiy¯)a2i=1n(x1,ix¯1)2=β^1(x1)a.

β^2

Do đó, tỷ lệ đơn giản tương ứng với tỷ lệ các độ dốc tương ứng.

ai=1/sisix1xi


1
Có phải là một ý tưởng tốt để làm nổi bật các biến rất sai lệch hay tốt hơn là chỉ tiêu chuẩn hóa các biến phân phối đối xứng? Chúng ta chỉ nên sao chép các biến đầu vào hay kết quả?
skan

31

Trong trường hợp bạn sử dụng độ dốc gốc để phù hợp với mô hình của mình, việc chuẩn hóa các biến số có thể tăng tốc độ hội tụ (bởi vì khi bạn có các biến số không được đánh giá, các tham số tương ứng có thể chi phối không chính xác độ dốc). Để minh họa điều này, một số mã R:

> objective <- function(par){ par[1]^2+par[2]^2}  #quadratic function in two variables with a minimum at (0,0)
> optim(c(10,10), objective, method="BFGS")$counts  #returns the number of times the function and its gradient had to be evaluated until convergence
    function gradient 
          12        3 
> objective2 <- function(par){ par[1]^2+0.1*par[2]^2}  #a transformation of the above function, corresponding to unscaled covariates
> optim(c(10,10), objective2, method="BFGS")$counts
function gradient 
      19       10 
> optim(c(10,1), objective2, method="BFGS")$counts  #scaling of initial parameters doesn't get you back to original performance
function gradient 
      12        8

Ngoài ra, đối với một số ứng dụng của SVM, chia tỷ lệ có thể cải thiện hiệu suất dự đoán: Chia tỷ lệ tính năng trong mô tả dữ liệu vectơ hỗ trợ .


25

Tôi thích "lý do vững chắc" cho cả định tâm và tiêu chuẩn hóa (chúng tồn tại rất thường xuyên). Nói chung, chúng có liên quan nhiều đến tập dữ liệu và vấn đề hơn là phương pháp phân tích dữ liệu.

Rất thường xuyên, tôi thích tập trung (nghĩa là chuyển nguồn gốc của dữ liệu) sang các điểm khác về mặt vật lý / hóa học / sinh học / ... có ý nghĩa hơn so với giá trị trung bình (xem thêm câu trả lời của Macro), vd

  • giá trị trung bình của nhóm kiểm soát

  • tín hiệu trống

Độ ổn định số là một lý do liên quan đến thuật toán đối với dữ liệu trung tâm và / hoặc tỷ lệ.

Ngoài ra, hãy xem câu hỏi tương tự về tiêu chuẩn hóa . Mà cũng bao gồm "chỉ trung tâm".


24

Để minh họa vấn đề ổn định số được đề cập bởi @cbeleites, đây là một ví dụ từ Simon Wood về cách "phá vỡ" lm(). Trước tiên, chúng tôi sẽ tạo một số dữ liệu đơn giản và phù hợp với một đường cong bậc hai đơn giản.

set.seed(1); n <- 100
xx <- sort(runif(n))
y <- .2*(xx-.5)+(xx-.5)^2 + rnorm(n)*.1
x <- xx+100
b <- lm(y ~ x+I(x^2))

plot(x,y)
lines(x, predict(b), col='red')

nhập mô tả hình ảnh ở đây

Nhưng nếu chúng ta thêm 900 vào X, thì kết quả sẽ khá giống nhau ngoại trừ chuyển sang phải, phải không? Không may măn...

X <- x + 900
B <- lm(y ~ X+I(X^2))
plot(X,y)
lines(X, predict(B), col='blue')

nhập mô tả hình ảnh ở đây

Chỉnh sửa để thêm vào nhận xét của @Scortchi - nếu chúng ta nhìn vào đối tượng được trả về bởi lm (), chúng ta thấy rằng thuật ngữ bậc hai chưa được ước tính và được hiển thị là NA.

> B
Call:
lm(formula = y ~ X + I(X^2))

Coefficients:
(Intercept)            X       I(X^2)  
  -139.3927       0.1394           NA  

Và thực sự như được đề xuất bởi @Scortchi, nếu chúng ta nhìn vào ma trận mô hình và cố gắng giải quyết trực tiếp, nó sẽ "phá vỡ".

> X <- model.matrix(b) ## get same model matrix used above
> beta.hat <- solve(t(X)%*%X,t(X)%*%y) ## direct solution of ‘normal equations’
Error in solve.default(t(X) %*% X, t(X) %*% y) : 
  system is computationally singular: reciprocal condition number = 3.9864e-19

Tuy nhiên, lm()không cung cấp cho tôi bất kỳ cảnh báo hoặc thông báo lỗi nào ngoài NAcác I(X^2)dòng summary(B)trên R-3.1.1. Các thuật toán khác tất nhiên có thể bị "phá vỡ" theo những cách khác nhau với các ví dụ khác nhau.


10
(+1) Lưu ý lmkhông ước tính được hệ số cho thuật ngữ bậc hai và đưa ra cảnh báo về ma trận thiết kế số ít - có lẽ minh họa trực tiếp hơn cho vấn đề so với các lô này.
Scortchi

3

Tôi nghi ngờ một cách nghiêm túc về việc tập trung hoặc chuẩn hóa dữ liệu gốc có thực sự giảm thiểu được vấn đề đa cộng đồng hay không khi các thuật ngữ bình phương hoặc các thuật ngữ tương tác khác được đưa vào hồi quy, như một số bạn, đặc biệt, đã đề nghị ở trên.

Để minh họa quan điểm của tôi, hãy xem xét một ví dụ đơn giản.

Giả sử đặc tả thực sự có dạng sau sao cho

yi=b0+b1xi+b2xi2+ui

Do đó phương trình OLS tương ứng được cho bởi

yi=yi^+ui^=b0^+b1^xi+b2^xi2+ui^

yi^yiui ^ b 2 b0b2zi=x 2 ib0^b2^b0b2zi=xi2

Thông thường, chúng ta biết và có khả năng tương quan cao và điều này sẽ gây ra vấn đề đa cộng đồng. Để giảm thiểu điều này, một đề xuất phổ biến sẽ tập trung vào dữ liệu gốc bằng cách trừ trung bình của khỏi trước khi thêm các thuật ngữ bình phương.x 2 y i y ixx2yiyi

Khá dễ dàng để chỉ ra rằng giá trị trung bình của được đưa ra như sau: trong đó , , là các phương tiện của , và .yiˉ y ˉ x

y¯=b0^+b1^x¯+b2^z¯
y¯x¯ yixiziz¯yixizi

Do đó, trừ khỏi sẽ cho yiy¯yi

yiy¯=b1^(xix¯)+b2^(ziz¯)+ui^

trong đó , và là các biến trung tâm. và - các tham số cần ước tính, vẫn giống như các tham số trong hồi quy OLS ban đầu.yiy¯xix¯ziz¯b1^b2^

Tuy nhiên, rõ ràng là trong ví dụ của tôi, các biến RHS- và có chính xác cùng một hiệp phương sai / tương quan như và , tức là .x 2 xxx2x corr ( x , z ) = corr ( x - ˉ x , z - ˉ z )x2corr(x,z)=corr(xx¯,zz¯)

Tóm lại, nếu sự hiểu biết của tôi về định tâm là chính xác, thì tôi không nghĩ dữ liệu định tâm sẽ giúp giảm thiểu vấn đề MC gây ra bằng cách bao gồm các thuật ngữ bình phương hoặc các thuật ngữ bậc cao khác vào hồi quy.

Tôi rất vui khi nghe ý kiến ​​của bạn!


2
Cảm ơn sự đóng góp của bạn, @ rudi0086021. Bạn có thể đúng, nhưng tôi thấy một vài vấn đề ở đây. Thứ nhất, định tâm là về trừ trung bình của x , không phải trừ trung bình của y ; Thứ 2, bạn cần phải tập trung trước, trung tâm trả lời không có tác dụng như bạn lưu ý. Hãy xem xét : x = c(1,2,3); x2 = x^2; cor(x, x2); # [1] 0.9897433; xc = c(-1,0,1); xc2 = xc^2; cor(xc, xc2) # [1] 0.
gung

Cảm ơn bạn đã trả lời của bạn, @gung. Đây là suy nghĩ của tôi. Thứ nhất, cá nhân tôi thấy không có lý do thuyết phục nào để đối xử với các biến phụ thuộc và độc lập khác nhau, nghĩa là đối với các biến độc lập, trong khi không làm như vậy đối với các biến phụ thuộc.
rudi0086021

2
Thứ hai, như bạn đã nói, có lẽ chúng ta nên tập trung dữ liệu trước khi tạo các thuật ngữ bình phương. Một thực hành như vậy sẽ giảm thiểu vấn đề MC. Tuy nhiên, nó có thể dẫn đến các ước tính sai lệch, hoặc cụ thể hơn là sai lệch biến bị bỏ qua (OVB). Để minh họa, xem ví dụ sau: giả sử thông số kỹ thuật thực sự là: y = b0 + b1 * x + b2 * x ^ 2 + u. Việc định tâm dữ liệu trước sẽ cho: y = b0 + b1 * (x-xhar) + b2 * (x-xbar) ^ 2 + v, trong đó thuật ngữ lỗi mới v = u + b1 * xbar-b2 * xbar ^ 2 + 2b2 * xbar * x. Rõ ràng là cov (x-xbar, v)! = 0. Do đó, thật không may, việc định tâm dữ liệu trước sẽ dẫn đến các ước tính sai lệch.
rudi0086021

@ rudi0086021 Có vẻ như trong nhận xét cuối cùng của bạn, bạn cho rằng bạn sẽ nhận được các hệ số tương tự khi khớp dữ liệu trung tâm như bạn có khi khớp dữ liệu không được kiểm duyệt. Nhưng việc định tâm trước khi lấy hình vuông không phải là một sự thay đổi đơn giản bởi một hằng số, vì vậy người ta không nên mong đợi có được các hệ số tương tự. Sự phù hợp nhất sau khi định tâm được đưa ra bởi B0 + B1 * (x-xbar) + B2 * (x-xbar) ^ 2 trong đó B0 = b0 + b1 * xbar + b2 * xbar ^ 2, B1 = b1 + 2 * b2 * xbar và B2 = b2. Do đó, v = u. Xin lỗi để trả lời nhận xét này quá muộn màng, nhưng luôn có thể có những người khác như tôi nhìn thấy nó lần đầu tiên ngày hôm nay.
Tim Goodman
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.