Làm thế nào để bao gồm một thuật ngữ tuyến tính và bậc hai khi cũng bao gồm tương tác với các biến đó?


9

Khi thêm một công cụ dự đoán số với các công cụ dự đoán phân loại và tương tác của chúng, thường được coi là cần thiết để căn giữa các biến ở mức 0 trước. Lý do là các hiệu ứng chính khó diễn giải khi chúng được đánh giá với bộ dự đoán số ở mức 0.

Câu hỏi của tôi bây giờ là làm thế nào để căn giữa nếu một không chỉ bao gồm biến số ban đầu (như một thuật ngữ tuyến tính) mà còn cả thuật ngữ bậc hai của biến này? Ở đây, hai cách tiếp cận khác nhau là cần thiết:

  1. Trung tâm cả hai biến tại trung bình cá nhân của họ. Điều này có nhược điểm đáng tiếc là 0 bây giờ ở vị trí khác nhau cho cả hai biến xem xét biến ban đầu.
  2. Căn giữa cả hai biến tại giá trị trung bình của biến ban đầu (nghĩa là trừ trung bình từ biến ban đầu cho thuật ngữ tuyến tính và trừ đi bình phương của giá trị trung bình của biến ban đầu từ thuật ngữ bậc hai). Với cách tiếp cận này, 0 sẽ đại diện cho cùng một giá trị của biến ban đầu, nhưng biến số bậc hai sẽ không được định tâm ở 0 (nghĩa là giá trị trung bình của biến sẽ là 0).

Tôi nghĩ rằng cách tiếp cận 2 có vẻ hợp lý đưa ra lý do cho việc định tâm sau tất cả. Tuy nhiên, tôi không thể tìm thấy bất cứ điều gì về nó (cũng không có trong các câu hỏi liên quan: ab ).

Hay nói chung là một ý tưởng tồi để bao gồm các thuật ngữ tuyến tính và bậc hai và tương tác của chúng với các biến khác trong một mô hình?


Những vấn đề này nghe có vẻ như mối quan tâm về phong cách. Điều đó không có nghĩa là các câu hỏi không quan trọng, nhưng câu trả lời có thể phụ thuộc nhiều hơn vào các mục tiêu chính xác của bạn để phân tích. Tôi không thấy bất kỳ cách tiếp cận nào mà bạn đề cập sẽ "nói chung là xấu". Có thể dễ dàng hơn để có được câu trả lời mà bạn đang tìm kiếm với một chút nền tảng về vấn đề khoa học, và cụ thể loại tuyên bố diễn giải nào bạn muốn có thể rút ra từ mô hình.
zkurtz

Tôi đề nghị sử dụng đa thức trực giao.
Glen_b -Reinstate Monica

@Glen_b Bạn có thể cho biết thêm chi tiết không?
Henrik

Chi tiết bao gồm. Xin lỗi nó đã mất một vài ngày.
Glen_b -Reinstate Monica

Câu trả lời:


8

Khi bao gồm đa thức và tương tác giữa chúng, tính đa hình có thể là một vấn đề lớn; một cách tiếp cận là xem xét các đa thức trực giao.

Nói chung, đa thức trực giao là một họ của đa thức trực giao đối với một số sản phẩm bên trong.

wabw(x)pm(x)pn(x)dx0m=n

[1,1]

pm(x)Tpn(x)=ipm(xi)pn(xi)

x=1,2,3,4,5

p0(x)=x0=1axbp1(x)=xx¯=x3ax2+bx+cp2(x)=(x3)22=x26x+7

x         p0  p1  p2   
1          1  -2   2   
2          1  -1  -1
3          1   0  -2
4          1   1  -1
5          1   2   2

nn11

Các cách để trực giao hóa một tập hợp các yếu tố dự đoán đa thức bao gồm trực giao Gram-Schmidt và phân tách Cholesky, mặc dù có nhiều cách tiếp cận khác.


Một số ưu điểm của đa thức trực giao:

1) đa cộng đồng là không phát hành - những dự đoán này đều trực giao.

k


Ví dụ trong R ( carsdữ liệu, dừng khoảng cách so với tốc độ): nhập mô tả hình ảnh ở đây

Ở đây chúng tôi xem xét khả năng một mô hình bậc hai có thể phù hợp:

R sử dụng polyhàm để thiết lập các yếu tố dự đoán đa thức trực giao:

> p <- model.matrix(dist~poly(speed,2),cars)
> cbind(head(cars),head(p))
  speed dist (Intercept) poly(speed, 2)1 poly(speed, 2)2
1     4    2           1      -0.3079956      0.41625480
2     4   10           1      -0.3079956      0.41625480
3     7    4           1      -0.2269442      0.16583013
4     7   22           1      -0.2269442      0.16583013
5     8   16           1      -0.1999270      0.09974267
6     9   10           1      -0.1729098      0.04234892

Chúng trực giao:

> round(crossprod(p),9)
                (Intercept) poly(speed, 2)1 poly(speed, 2)2
(Intercept)              50               0               0
poly(speed, 2)1           0               1               0
poly(speed, 2)2           0               0               1

Đây là một âm mưu của đa thức: nhập mô tả hình ảnh ở đây

Đây là đầu ra mô hình tuyến tính:

> summary(carsp)

Call:
lm(formula = dist ~ poly(speed, 2), data = cars)

Residuals:
    Min      1Q  Median      3Q     Max 
-28.720  -9.184  -3.188   4.628  45.152 

Coefficients:
                Estimate Std. Error t value Pr(>|t|)    
(Intercept)       42.980      2.146  20.026  < 2e-16 ***
poly(speed, 2)1  145.552     15.176   9.591 1.21e-12 ***
poly(speed, 2)2   22.996     15.176   1.515    0.136    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 15.18 on 47 degrees of freedom
Multiple R-squared:  0.6673,    Adjusted R-squared:  0.6532 
F-statistic: 47.14 on 2 and 47 DF,  p-value: 5.852e-12

Đây là một âm mưu của sự phù hợp bậc hai: nhập mô tả hình ảnh ở đây


7

Tôi không cảm thấy việc định tâm là đáng giá và việc định tâm làm cho việc giải thích các ước tính tham số trở nên phức tạp hơn. Nếu bạn sử dụng phần mềm đại số ma trận hiện đại, cộng tuyến đại số không phải là vấn đề. Động lực ban đầu của bạn về việc tập trung để có thể diễn giải các tác động chính khi có sự tương tác không phải là một động lực mạnh. Các tác động chính khi ước tính ở bất kỳ giá trị được chọn tự động nào của một yếu tố tương tác liên tục có phần tùy ý và tốt nhất nên nghĩ đây là một vấn đề ước tính đơn giản bằng cách so sánh các giá trị dự đoán. Trong rmsgói Rcontrast.rmschức năng, ví dụ, bạn có thể có được bất kỳ sự tương phản về lợi ích độc lập với mã hóa biến. Dưới đây là một ví dụ về biến phân loại x1 với các mức "a" "b" "c" và biến liên tục x2, được trang bị bằng cách sử dụng một khối vuông giới hạn với 4 nút thắt mặc định. Mối quan hệ khác nhau giữa x2 và y được phép cho x1 khác nhau. Hai trong số các mức của x1 được so sánh tại x2 = 10.

require(rms)
dd <- datadist(x1, x2); options(datadist='dd')
f <- ols(y ~ x1 * rcs(x2,4))
contrast(f, list(x1='b', x2=10), list(x1='c', x2=10))
# Now get all comparisons with c:
contrast(f, list(x1=c('a','b'), x2=10), list(x1='c', x2=10))
# add type ='joint' to get a 2 d.f. test, or conf.type='simultaneous'
# to get simultaneous individual confidence intervals

Với phương pháp này, bạn cũng có thể dễ dàng ước tính độ tương phản ở một số giá trị của (các) yếu tố tương tác, vd

contrast(f, list(x1='b', x2=10:20), list(x1='c', x2=10:20))
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.