Câu hỏi về cách bình thường hóa hệ số hồi quy


16

Không chắc chắn nếu bình thường hóa là từ chính xác để sử dụng ở đây, nhưng tôi sẽ cố gắng hết sức để minh họa những gì tôi đang cố gắng hỏi. Công cụ ước tính được sử dụng ở đây là bình phương tối thiểu.

Giả sử bạn có , bạn có thể căn giữa nó theo trung bình bằng trong đó và , vì vậy rằng không còn ảnh hưởng đến việc ước tính . y = β ' 0 + β 1 x ' 1 β ' 0 = β 0 + β 1 ˉ x 1 x ' 1 = x - ˉ x β ' 0 β 1y=β0+β1x1y=β0+β1x1β0=β0+β1x¯1x1=xx¯β0β1

Ý tôi là trong tương đương với trong . Chúng tôi đã giảm phương trình để tính bình phương nhỏ nhất dễ dàng hơn.y=β1x ' 1 β 1y=β0+β1x1β^1y=β1x1β^1y=β0+β1x1

Làm thế nào để bạn áp dụng phương pháp này nói chung? Bây giờ tôi có mô hình , tôi đang cố gắng giảm nó thành . y = β 1 x 'y=β1ex1t+β2ex2ty=β1x


Bạn đang phân tích loại dữ liệu nào và tại sao bạn muốn xóa một đồng biến, , khỏi mô hình của bạn. Ngoài ra, có một lý do bạn đang loại bỏ đánh chặn? Nếu bạn định trung tâm dữ liệu thì độ dốc sẽ giống nhau trong mô hình có / không có chặn, nhưng mô hình với phần chặn sẽ phù hợp với dữ liệu của bạn hơn. ex1t
caburke

@caburke Tôi không quan tâm đến sự phù hợp của mô hình, vì sau khi tôi tính và tôi có thể đưa chúng trở lại mô hình. Điểm cho bài tập này là ước tính . Bằng cách giảm phương trình ban đầu xuống chỉ còn , phép tính bình phương nhỏ nhất sẽ dễ dàng hơn (x' là một phần của những gì tôi đang cố gắng tìm hiểu, nó có thể bao gồm ). Tôi đang cố gắng tìm hiểu các cơ chế, đây là một câu hỏi từ một cuốn sách của Tukey. β 2 β 1 y = β 1 x e x 1 tβ1β2β1y=β1xex1t
Sabre CN

@ca Sự quan sát ở cuối bình luận của bạn thật khó hiểu. Không thể áp dụng cho các biểu thức phi tuyến - chúng không chứa bất kỳ thứ gì có thể được coi là "độ dốc" một cách hợp lý - nhưng nó không chính xác trong cài đặt OLS: sự phù hợp cho dữ liệu tập trung vào chính xác là tốt như phù hợp với một đánh chặn. Saber, mô hình của bạn không rõ ràng: cái nào trong số là các biến và đó là tham số nào? Cấu trúc lỗi dự định là gì? (Và đó sách Tukey là câu hỏi từ đâu?)β1,β2,x1,x2,t
whuber

1
@whuber Đây là từ cuốn sách của Tukey "Phân tích và hồi quy dữ liệu: một khóa học thứ hai về thống kê" chương 14A. là các thông số chúng tôi đang cố gắng để ước tính, là các biến mỗi n quan sát, tôi giả sử là biến thời gian liên quan đến việc quan sát, tuy nhiên nó không nói rõ. Lỗi nên bình thường và có thể bỏ qua cho câu hỏi này. x 1 , x 2 tβ1,β2x1,x2t
Sabre CN

1
@whuber Tôi chủ yếu đề cập đến phần đầu tiên của bài viết, nhưng điều này không rõ ràng trong bình luận của tôi. Ý tôi là nếu bạn chỉ có nghĩa là trung tâm chứ không phải , vì dường như nó đã được đề xuất trong OP, và sau đó loại bỏ phần chặn thì sự phù hợp sẽ tệ hơn, vì nó không nhất thiết là trường hợp . Độ dốc rõ ràng không phải là một thuật ngữ tốt cho hệ số trong mô hình được đề cập trong dòng cuối cùng của OP. y ˉ y = 0xyy¯=0
caburke

Câu trả lời:


38

Mặc dù tôi không thể thực hiện công bằng cho câu hỏi ở đây - điều đó đòi hỏi một chuyên khảo nhỏ - có thể hữu ích để tóm tắt lại một số ý chính.

Câu hỏi

Hãy bắt đầu bằng cách đặt lại câu hỏi và sử dụng thuật ngữ rõ ràng. Các dữ liệu bao gồm một danh sách các cặp có thứ tự . Các hằng số đã biết α 1α 2 xác định các giá trị x 1 , i = exp ( α 1 t i )x 2 , i = exp ( α 2 t i ) . Chúng tôi đặt ra một mô hình trong đó(ti,yi) α1α2x1,i=exp(α1ti)x2,i=exp(α2ti)

yi=β1x1,i+β2x2,i+εi

đối với các hằng số β 2 được ước tính, ε i là ngẫu nhiên và - dù sao cũng là một xấp xỉ tốt - độc lập và có phương sai chung (ước tính cũng được quan tâm).β1β2εi

Bối cảnh: "khớp" tuyến tính

Mosteller và Tukey tham khảo các biến = ( x 1 , 1 , x 1 , 2 , ... )x 2 là "quẹt". Chúng sẽ được sử dụng để "khớp" các giá trị của y = ( y 1 , y 2 , Hoài ) theo một cách cụ thể, mà tôi sẽ minh họa. Tổng quát hơn, đặt yx là hai vectơ bất kỳ trong cùng một không gian vectơ Euclide, với y đóng vai trò là "mục tiêu" và xx1(x1,1,x1,2,)x2y=(y1,y2,)yxyxđó là "que diêm". Chúng tôi chiêm nghiệm một cách hệ thống khác nhau hệ số để gần đúng y bởi nhiều λ x . Giá trị gần đúng nhất đạt được khi λ x càng gần y càng tốt. Tương tự, bình phương chiều dài của y - λ x được giảm thiểu.λyλxλxyyλx

Một cách để hình dung quá trình hợp này là để thực hiện một phân tán của y trên đó được vẽ đồ thị của x bước sóng x . Khoảng cách thẳng đứng giữa các điểm phân tán và đồ thị này là các thành phần của vector còn lại y - λ x ; tổng bình phương của chúng là nhỏ nhất có thể. Lên đến một hằng số tỷ lệ, các hình vuông này là các khu vực của các hình tròn được căn giữa tại các điểm ( x i , y i ) với bán kính bằng với phần dư: chúng tôi muốn giảm thiểu tổng diện tích của tất cả các hình tròn này.xyxλx yλx(xi,yi)

Dưới đây là một ví dụ cho thấy các giá trị tối ưu của trong bảng điều khiển trung:λ

Bảng điều khiển

Các điểm trong biểu đồ tán xạ có màu xanh; đồ thị của là một dòng màu đỏ. Hình minh họa này nhấn mạnh rằng đường màu đỏ bị hạn chế để đi qua gốc ( 0 , 0 ) : đó là trường hợp rất đặc biệt của khớp đường.xλx(0,0)

Nhiều hồi quy có thể thu được bằng cách khớp tuần tự

Quay trở lại các thiết lập của câu hỏi, chúng tôi có một mục tiêu hai quẹt x 1x 2 . Chúng tôi tìm kiếm các số b 1b 2 trong đó y gần đúng nhất có thể bởi b 1 x 1 + b 2 x 2 , một lần nữa theo nghĩa khoảng cách nhỏ nhất. Bắt đầu tùy ý với x 1 , Mosteller & Tukey khớp với các biến còn lại x 2y với x 1yx1x2b1b2yb1x1+b2x2x1x2yx1. Viết dư cho những trận đấu như y 1 , tương ứng: các 1 chỉ ra rằng x 1 đã được "đưa ra khỏi" biến.x21y11x1

Chúng tôi có thể viết

y=λ1x1+y1 and x2=λ2x1+x21.

Sau khi chụp ra khỏi x 2y , chúng tôi tiến hành để phù hợp với mục tiêu dư y 1 đến dư khớp x 2 1 . Phần dư cuối cùng là y 12 . Đại số, chúng tôi đã viếtx1x2yy1x21y12

y1=λ3x21+y12; whencey=λ1x1+y1=λ1x1+λ3x21+y12=λ1x1+λ3(x2λ2x1)+y12=(λ1λ3λ2)x1+λ3x2+y12.

Điều này cho thấy ở bước cuối cùng là hệ số của x 2 trong một kết hợp của x 1x 2 với y .λ3x2x1x2y

Chúng ta có thể chỉ cần cũng đã tiến hành bằng cách lấy đầu ra khỏi x 1y , sản xuất x 1 2y 2 , và sau đó dùng x 1 2 ra khỏi y 2 , năng suất một bộ khác nhau của dư y 21 . Lần này, hệ số của x 1 được tìm thấy ở bước cuối cùng - hãy gọi nó là μ 3 - là hệ số của x 1 trong một kết hợp của x 1x2x1yx12y2x12y2y21x1μ3x1x1 đến y .x2y

Cuối cùng, để so sánh, chúng ta có thể chạy bội số (hồi quy bình phương nhỏ nhất bình thường) của so với x 1x 2 . Đặt các phần dư đó là y l m . Nó chỉ ra rằng các hệ số hồi quy trong nhiều này là chính xác hệ số L 3λ 3 tìm thấy trước đây và rằng tất cả ba bộ dư, y 12 , y 21 , và y l m , giống hệt nhau.yx1x2ytôimμ3λ3y12y21ytôim

Mô tả quá trình

Không có gì mới cả: đó là tất cả trong văn bản. Tôi muốn cung cấp một phân tích hình ảnh, sử dụng một ma trận phân tán của tất cả mọi thứ chúng tôi đã thu được cho đến nay.

Phân tán

Bởi vì những dữ liệu được mô phỏng, chúng tôi có sự sang trọng thể hiện các giá trị tiềm ẩn "true" của vào hàng cuối cùng và cột: đó là những giá trị beta 1 x 1 + β 2 x 2 mà không có lỗi được thêm vào trong.yβ1x1+β2x2

Các biểu đồ tán xạ bên dưới đường chéo đã được trang trí bằng các biểu đồ của các que diêm, chính xác như trong hình đầu tiên. Các biểu đồ có độ dốc bằng không được vẽ bằng màu đỏ: những biểu đồ này cho thấy các tình huống mà trình so khớp cung cấp cho chúng ta không có gì mới; phần dư giống như mục tiêu. Ngoài ra, để tham khảo, nguồn gốc (bất cứ nơi nào nó xuất hiện trong một âm mưu) được hiển thị dưới dạng một vòng tròn màu đỏ mở: nhớ lại rằng tất cả các dòng khớp có thể phải đi qua điểm này.

Nhiều điều có thể được học về hồi quy thông qua việc nghiên cứu cốt truyện này. Một số điểm nổi bật là:

  • Độ khớp của đến x 1 (hàng 2, cột 1) kém. Đây là một điều tốt : nó chỉ ra rằng x 1x 2 đang cung cấp thông tin rất khác nhau; sử dụng cả hai cùng nhau sẽ có khả năng phù hợp với y hơn nhiều so với sử dụng một mình.x2x1x1x2y

  • Khi một biến đã được đưa ra khỏi mục tiêu, sẽ không tốt nếu bạn cố gắng lấy biến đó ra một lần nữa: dòng khớp tốt nhất sẽ bằng không. Xem tán xạ cho so với x 1 hoặc y 1 so với x 1 , ví dụ.x21x1y1x1

  • Các giá trị , x 2 , x 1 2x 2 1 có tất cả được đưa ra khỏi y l m .x1x2x12x21ytôim

  • Nhiều hồi quy của đối với x 1x 2 có thể đạt được đầu tiên bằng cách tính y 1x 2 1 . Các biểu đồ phân tán này xuất hiện tại (hàng, cột) = ( 8 , 1 )( 2 , 1 ) , tương ứng. Với những phần dư này trong tay, chúng tôi xem xét sự phân tán của chúng tại ( 4 , 3 ) . Ba biến mộtyx1x2y1x21(số 8,1)(2,1)(4,3)hồi quy làm các thủ thuật. Như Mosteller & Tukey giải thích, các lỗi tiêu chuẩn của các hệ số có thể được lấy gần như dễ dàng từ các hồi quy này - nhưng đó không phải là chủ đề của câu hỏi này, vì vậy tôi sẽ dừng ở đây.

Những dữ liệu này được (tái tạo) được tạo ra Rbằng một mô phỏng. Các phân tích, kiểm tra và lô cũng được sản xuất với R. Đây là mã.

#
# Simulate the data.
#
set.seed(17)
t.var <- 1:50                                    # The "times" t[i]
x <- exp(t.var %o% c(x1=-0.1, x2=0.025) )        # The two "matchers" x[1,] and x[2,]
beta <- c(5, -1)                                 # The (unknown) coefficients
sigma <- 1/2                                     # Standard deviation of the errors
error <- sigma * rnorm(length(t.var))            # Simulated errors
y <- (y.true <- as.vector(x %*% beta)) + error   # True and simulated y values
data <- data.frame(t.var, x, y, y.true)

par(col="Black", bty="o", lty=0, pch=1)
pairs(data)                                      # Get a close look at the data
#
# Take out the various matchers.
#
take.out <- function(y, x) {fit <- lm(y ~ x - 1); resid(fit)}
data <- transform(transform(data, 
  x2.1 = take.out(x2, x1),
  y.1 = take.out(y, x1),
  x1.2 = take.out(x1, x2),
  y.2 = take.out(y, x2)
), 
  y.21 = take.out(y.2, x1.2),
  y.12 = take.out(y.1, x2.1)
)
data$y.lm <- resid(lm(y ~ x - 1))               # Multiple regression for comparison
#
# Analysis.
#
# Reorder the dataframe (for presentation):
data <- data[c(1:3, 5:12, 4)]

# Confirm that the three ways to obtain the fit are the same:
pairs(subset(data, select=c(y.12, y.21, y.lm)))

# Explore what happened:
panel.lm <- function (x, y, col=par("col"), bg=NA, pch=par("pch"),
   cex=1, col.smooth="red",  ...) {
  box(col="Gray", bty="o")
  ok <- is.finite(x) & is.finite(y)
  if (any(ok))  {
    b <- coef(lm(y[ok] ~ x[ok] - 1))
    col0 <- ifelse(abs(b) < 10^-8, "Red", "Blue")
    lwd0 <- ifelse(abs(b) < 10^-8, 3, 2)
    abline(c(0, b), col=col0, lwd=lwd0)
  }
  points(x, y, pch = pch, col="Black", bg = bg, cex = cex)    
  points(matrix(c(0,0), nrow=1), col="Red", pch=1)
}
panel.hist <- function(x, ...) {
  usr <- par("usr"); on.exit(par(usr))
  par(usr = c(usr[1:2], 0, 1.5) )
  h <- hist(x, plot = FALSE)
  breaks <- h$breaks; nB <- length(breaks)
  y <- h$counts; y <- y/max(y)
  rect(breaks[-nB], 0, breaks[-1], y,  ...)
}
par(lty=1, pch=19, col="Gray")
pairs(subset(data, select=c(-t.var, -y.12, -y.21)), col="Gray", cex=0.8, 
   lower.panel=panel.lm, diag.panel=panel.hist)

# Additional interesting plots:
par(col="Black", pch=1)
#pairs(subset(data, select=c(-t.var, -x1.2, -y.2, -y.21)))
#pairs(subset(data, select=c(-t.var, -x1, -x2)))
#pairs(subset(data, select=c(x2.1, y.1, y.12)))

# Details of the variances, showing how to obtain multiple regression
# standard errors from the OLS matches.
norm <- function(x) sqrt(sum(x * x))
lapply(data, norm)
s <- summary(lm(y ~ x1 + x2 - 1, data=data))
c(s$sigma, s$coefficients["x1", "Std. Error"] * norm(data$x1.2)) # Equal
c(s$sigma, s$coefficients["x2", "Std. Error"] * norm(data$x2.1)) # Equal
c(s$sigma, norm(data$y.12) / sqrt(length(data$y.12) - 2))        # Equal

1
Có thể đạt được nhiều hồi quy của so với x 1x 2 bằng cách tính toán đầu tiên y .1x 2.1 nếu x 1x 2 có tương quan không? Liệu nó có tạo ra sự khác biệt lớn hay không, liệu chúng ta có hồi quy tuần tự y trên x 1x 2.1 hay trên x 2x 1.2 không? Làm thế nào điều này liên quan đến một phương trình hồi quy với nhiều biến giải thích? yx1x2y.1x2.1x1x2yx1x2.1x2x1.2
miura

1
xixijx1x2y.21y.12

1
Tôi đã bắt gặp điều này ngày hôm nay, đây là những gì tôi nghĩ về câu hỏi của @miura, Hãy nghĩ về một không gian 2 chiều trong đó Y sẽ được chiếu như một sự kết hợp của hai vectơ. y = ax1 + bx2 + res (= 0). Bây giờ hãy nghĩ về y là sự kết hợp của 3 biến, y = ax1 + bx2 + cx3. và x3 = mx1 + nx2. Vì vậy, chắc chắn, thứ tự bạn chọn các biến của mình sẽ ảnh hưởng đến các hệ số. Lý do cho điều này là: lỗi tối thiểu ở đây có thể nhận được bằng các kết hợp khác nhau. Tuy nhiên, trong một vài ví dụ, lỗi tối thiểu có thể đạt được chỉ bằng một kết hợp và đó là nơi thứ tự sẽ không quan trọng.
Gaurav Singhal

@whuber Bạn có thể giải thích về cách phương trình này có thể được sử dụng cho hồi quy đa biến cũng có một số hạng không đổi? tức là y = B1 * x1 + B2 * x2 + c? Tôi không rõ làm thế nào thuật ngữ liên tục có thể được bắt nguồn. Ngoài ra, tôi hiểu chung về những gì đã được thực hiện cho 2 biến, ít nhất là đủ để sao chép nó trong Excel. Làm thế nào mà có thể được mở rộng đến 3 biến? x1, x2, x3. Có vẻ như rõ ràng rằng trước tiên chúng ta cần xóa x3 khỏi y, x1 và x2. sau đó loại bỏ x2 khỏi x1 và y. Nhưng tôi không rõ làm thế nào để có được thuật ngữ B3.
Khá Nerdy

Tôi đã trả lời một số câu hỏi của tôi trong phần bình luận ở trên. Đối với hồi quy 3 biến, chúng ta sẽ có 6 bước. Xóa x1 khỏi x2, từ x3 và từ y. Sau đó loại bỏ x2,1 khỏi x3,1 và từ y1. Sau đó loại bỏ x3,21 khỏi y21. Điều đó dẫn đến 6 phương trình, mỗi phương trình có dạng biến = lamda * biến khác nhau + dư. Một trong những phương trình đó có ay là biến đầu tiên và nếu bạn cứ thay thế các biến khác vào, bạn sẽ có được phương trình bạn cần
Khá là Nerdy
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.