Hãy khám phá những gì đang xảy ra. Tôi chắc rằng bạn đã biết hầu hết các tài liệu sau đây, nhưng để thiết lập các ký hiệu và định nghĩa và để làm cho các ý tưởng rõ ràng, tôi sẽ trình bày các khái niệm cơ bản về hồi quy đa thức trước khi trả lời câu hỏi. Nếu bạn thích, hãy chuyển đến tiêu đề "Cái gì R
" khoảng hai phần ba đường vào bài đăng này, sau đó bỏ qua cho bất kỳ định nghĩa nào bạn có thể cần.
Cài đặt
Chúng tôi đang xem xét một ma trận mô hình n×kX của các biến giải thích tiềm năng trong một số loại hồi quy. Điều này có nghĩa là chúng tôi nghĩ rằng các cột của X là n -vectorX1,X2,…,Xk và chúng tôi sẽ tạo thành tổ hợp tuyến tính của họ,β1X1+β2X2+⋯+βkXk, để dự đoán hoặc ước tính một phản ứng.
Đôi khi một hồi quy có thể được cải thiện bằng cách giới thiệu các cột bổ sung được tạo bằng cách nhân các cột X khác nhau với nhau, hệ số theo hệ số. Những sản phẩm như vậy được gọi là "đơn thức" và có thể được viết như
Xd11Xd22⋯Xdkk
nơi mỗi "sức mạnh" di bằng 0 hoặc lớn hơn, biểu thị số lần mỗiX1 xuất hiện trong sản phẩm. Chú ý rằngX0 là mộtn -vector các hệ số hằng số (1 ) vàX1=X chính nó. Như vậy, monomials (như vectơ) tạo ra một không gian véc tơ đó bao gồm không gian cột ban đầu củaX. Khả năng nó có thể là một không gian vectơ lớn hơn cung cấp cho quy trình này phạm vi lớn hơn để mô hình hóa phản ứng với các kết hợp tuyến tính.
Chúng tôi dự định thay thế ma trận mô hình ban đầu X bằng một tập hợp các đơn thức tuyến tính. Khi mức độ của ít nhất một trong các đơn thức này vượt quá 1, đây được gọi là hồi quy đa thức.
Phân loại đa thức
Các mức độ của một đơn thức là tổng của quyền hạn của mình, d1+d2+…+dk. Mức độ kết hợp tuyến tính của các đơn thức (một "đa thức") là mức độ lớn nhất trong số các thuật ngữ đơn trị với các hệ số khác không. Độ có một ý nghĩa nội tại, bởi vì khi bạn thay đổi cơ sở của không gian vectơ ban đầu, mỗi vectơ Xi mới được biểu diễn bằng một tổ hợp tuyến tính của tất cả các vectơ; đơn thức Xd11Xd22⋯Xdkkdo đó trở thành đa thức có cùng mức độ; và do đó mức độ của bất kỳ đa thức là không thay đổi.
Độ cung cấp một "phân loại" tự nhiên cho đại số đa thức này: không gian vectơ được tạo bởi tất cả các tổ hợp tuyến tính của các đơn thức trong X độ đến và bao gồm d+1, được gọi là "đa thức của [hoặc lên đến] độ d+1 trong X, "mở rộng không gian vector của đa thức lên đến mức độ d trong X.
Công dụng của hồi quy đa thức
Thông thường, hồi quy đa thức là thăm dò theo nghĩa mà chúng ta không biết ngay từ đầu nên bao gồm các đơn thức. Quá trình tạo ma trận mô hình mới ra khỏi các đơn thức và điều chỉnh lại hồi quy có thể cần phải được lặp lại nhiều lần, có lẽ là số lần thiên văn trong một số cài đặt máy học.
Vấn đề chính của phương pháp này là
Monomials thường đưa ra số lượng "đa cộng tuyến" có vấn đề trong ma trận mô hình mới, chủ yếu là do các quyền hạn của một biến duy nhất có xu hướng cộng tuyến cao. (Sự cộng tác giữa các quyền hạn của hai biến khác nhau là không thể dự đoán được, bởi vì nó phụ thuộc vào cách các biến đó có liên quan với nhau và do đó ít có thể dự đoán được.)
Chỉ thay đổi một cột duy nhất của ma trận mô hình hoặc giới thiệu một cột mới hoặc xóa một cột có thể yêu cầu "khởi động lại lạnh" của quy trình hồi quy, có thể mất nhiều thời gian để tính toán.
Sự phân loại của đại số đa thức cung cấp một cách để khắc phục cả hai vấn đề.
Đa thức trực giao trong một biến
Cho một đơn vector cột X, một bộ "đa thức trực giao" cho X là một chuỗi các vectơ cột p0(X),p1(X),p2(X),… được hình thành như kết hợp tuyến tính của monomials trongX một mình - đó là, như quyền hạn củaX - với các thuộc tính sau:
Với mỗi độ d=0,1,2,…, các vectơ p0(X),p1(X),…,pd(X) tạo ra cùng một không gian vectơ như X0,X1,…,Xd. (Lưu ý rằngX0 làn -vector của những người vàX1 chỉ làX chinh no.)
Các pi(X) là đôi bên cùng có trực giao theo nghĩa là cho i≠j, pi(X)′pj(X)=0.
Thông thường, việc thay đổi mô hình ma trận P=(p0(X)p1(X)⋯pd(X))
hình thành từ những monomials được chọn là trực giao bằng cách bình thường hóa cột của mình cho đơn vị chiều dài: P′P=Id+1.
Bởi vì nghịch đảo của P′P xuất hiện trong hầu hết các phương trình hồi quy và nghịch đảo của ma trận sắc Id+1 là chính nó, điều này thể hiện một lợi ích tính toán rất lớn.
Orthonormality gần như xác định pi(X). Bạn có thể thấy điều này bằng cách xây dựng:
Đa thức đầu tiên, p0(X), phải là bội số của n -vector 1=(1,1,…,1)′ của đơn vị chiều dài. Chỉ có hai sự lựa chọn, ±1/n−−−√1. Đó là thông lệ để chọn căn bậc hai tích cực.
Đa thức thứ hai, p1(X), phải trực giao với 1. Nó có thể được thu được bằng suy thoái X chống lại 1, mà giải pháp là vector của các giá trị trung bình X = ˉ X 1 . Nếu dư ε = X - XX^=X¯1.ϵ=X−X^ là không giống nhau không, họ đưa ra chỉ có hai giải pháp khả thi p1(X)=±(1/||ϵ||)ϵ.
...
- Nói chung, pd+1(X) có được bằng cách hồi quy Xd+1 so với p0(X),p1(X),…,pd(X) và định cỡ lại phần dư thành một vectơ có độ dài đơn vị. Có hai sự lựa chọn về dấu hiệu khi phần dư không phải là tất cả bằng không. Nếu không, quá trình đầu: nó sẽ không kết quả để nhìn vào bất kỳ quyền hạn cao hơn củaX. (Đây là một định lý hay nhưng bằng chứng của nó không cần phải làm chúng ta mất tập trung ở đây.)
Đây là quá trình Gram-Schmidt được áp dụng cho chuỗi các vectơ nội tạiX0,X1,…,Xd,…. Thông thường, nó được tính toán bằng cách sử dụngphân tách QR,gần như tương tự nhưng được tính theo cách ổn định về số lượng.
Cấu trúc này mang lại một chuỗi các cột bổ sung để xem xét bao gồm trong ma trận mô hình. Do đó, hồi quy đa thức trong một biến thường được tiến hành bằng cách thêm từng phần tử của chuỗi này theo thứ tự, cho đến khi không có sự cải thiện nào nữa trong hồi quy. Bởi vì mỗi cột mới là trực giao với các cột trước đó, bao gồm nó không thay đổi bất kỳ ước tính hệ số nào trước đó. Điều này làm cho một thủ tục hiệu quả và dễ hiểu.
Đa thức trong nhiều biến
Hồi quy thăm dò (cũng như phù hợp với mô hình) thường được tiến hành bằng cách xem xét đầu tiên các biến (bản gốc) nào được đưa vào trong một mô hình; sau đó đánh giá xem các biến đó có thể được tăng thêm hay không bằng cách đưa vào các biến đổi khác nhau của chúng, chẳng hạn như các đơn thức; và sau đó giới thiệu "tương tác" được hình thành từ các sản phẩm của các biến này và biểu thức lại của chúng.
Sau đó, thực hiện một chương trình như vậy, sẽ bắt đầu bằng việc hình thành các đa thức trực giao đơn biến trong các cột của X một cách riêng biệt. Sau khi chọn một mức độ phù hợp cho mỗi cột, sau đó bạn sẽ giới thiệu các tương tác.
Tại thời điểm này, các phần của chương trình đơn biến bị hỏng. Chuỗi tương tác nào bạn sẽ áp dụng, từng cái một, cho đến khi một mô hình phù hợp được xác định? Hơn nữa, bây giờ chúng ta đã thực sự bước vào lĩnh vực phân tích đa biến, số lượng các tùy chọn có sẵn và độ phức tạp ngày càng tăng của chúng cho thấy có thể có lợi nhuận giảm dần khi xây dựng một chuỗi các đa thức trực giao đa biến. Tuy nhiên, nếu bạn có một trình tự như vậy trong tâm trí, bạn có thể tính toán nó bằng cách sử dụng phân tách QR.
Có gì R
không
Do đó, phần mềm cho hồi quy đa thức có xu hướng tập trung vào tính toán các chuỗi đa thức trực giao đơn biến . Đó là đặc điểm R
để mở rộng hỗ trợ như vậy tự động nhất có thể cho các nhóm đa thức đơn biến. Đây gì poly
không. (Đồng hành của nó polym
về cơ bản là cùng một mã, với ít tiếng chuông và còi hơn; hai chức năng làm cùng một việc.)
Cụ thể, poly
sẽ tính một chuỗi các đa thức trực giao đơn biến khi cho một vectơ X, duy nhất , dừng ở một mức độ xác định d. (Nếu d là quá lớn - và nó có thể khó khăn để dự đoán như thế nào lớn là quá lớn -. Chẳng may ném một lỗi) Khi cung cấp một bộ các vectơ X1,…,Xk dưới dạng một ma trận X, nó sẽ trở lại
Chuỗi các đa thức trực giao p1(Xj),p2(Xj),…,pd(Xj) cho mỗi j ra đến một mức độ tối đa được yêu cầu d. (Vì vectơ không đổi p0(Xi) là phổ biến cho tất cả các biến và rất đơn giản - nó thường được điều chỉnh bởi phần chặn trong hồi quy-- R
không bận tâm đến việc bao gồm nó.)
Tất cả các tương tác giữa các đa thức trực giao lên đến và bao gồm cả các mức độ d.
Bước (2) liên quan đến một số tinh tế. Thông thường bởi một "tương tác" giữa các biến, chúng tôi có nghĩa là "tất cả các sản phẩm có thể", nhưng một số sản phẩm có thể sẽ có độ lớn hơn d. Chẳng hạn, với 2 biến và d=2, R
tính toán
p1(X1),p2(X1),p1(X2),p1(X1)p1(X2),p2(X2).
R
không không bao gồm sự tương tác độ cao p2(X1)p1(X2), p1(X1)p2(X2) (đa thức của mức độ 3) hoặc p1(X2)p2(X2) (một đa thức bậc 4). (Đây không phải là một giới hạn nghiêm trọng vì bạn có thể dễ dàng tự tính toán các sản phẩm này hoặc chỉ định chúng trong một formula
đối tượng hồi quy .)
Một sự tinh tế khác là không có loại bình thường hóa nào được áp dụng cho bất kỳ sản phẩm đa biến nào. Trong ví dụ, sản phẩm duy nhất như vậy là p1(X1)p1(X2). Tuy nhiên, không có gì đảm bảo rằng giá trị trung bình của nó sẽ bằng 0 và gần như chắc chắn sẽ không có định mức đơn vị. Theo nghĩa này, đó là một "tương tác" thực sự giữa p1(X1) và p1(X2) và như vậy có thể được hiểu là các tương tác thường nằm trong mô hình hồi quy.
Một ví dụ
Hãy xem xét một ví dụ. Tôi đã tạo ngẫu nhiên một ma trận X=⎛⎝⎜152364⎞⎠⎟.
Để làm cho các phép tính dễ theo dõi hơn, mọi thứ được làm tròn thành hai con số quan trọng để hiển thị.
The orthonormal polynomial sequence for the first column X1=(1,5,2)′ begins by normalizing X01=(1,1,1)′ to unit length, giving p0(X1)=(1,1,1)′/3–√≈(0.58,0.58,0.58)′.X11=X1 itself. To make it orthogonal to p0(X1), regress X1 against p0(X1) and set p1(X1) equal to the residuals of that regression, rescaled to have unit length. The result is the usual standardization of X1 obtained by recentering it and dividing by its standard deviation, p1(X1)=(−0.57,0.79,−0.23)′. Finally, X21=(1,25,4) is regressed against p0(X1) and p1(X1) and those residuals are rescaled to unit length. We cannot go any further because the powers of X1 cannot generate a vector space of more than n=3 dimensions. (We got this far because the minimal polynomial of the coefficients of X1, namely (t−1)(t−5)(t−4), has degree 3, demonstrating that all monomials of degree 3 or larger are linear combinations of lower powers and those lower powers are linearly independent.)
The resulting matrix representing an orthonormal polynomial sequence for X1 is
P1=⎛⎝⎜0.580.580.58−0.570.79−0.230.590.20−0.78⎞⎠⎟
(to two significant figures).
In the same fashion, an orthonormal polynomial matrix for X2 is
P2=⎛⎝⎜0.580.580.58−0.620.77−0.150.530.27−0.80⎞⎠⎟.
The interaction term is the product of the middle columns of these matrices, equal to (0.35,0.61,0.035)′. The full matrix created by poly
or polym
, then, is
P=⎛⎝⎜−0.570.79−0.230.590.20−0.78−0.620.77−0.150.350.610.0350.530.27−0.80⎞⎠⎟.
Notice the sequence in which the columns are laid out: the non-constant orthonormal polynomials for X1 are in columns 1 and 2 while those for X2 are in columns 3 and 5. Thus, the only orthogonality that is guaranteed in this output is between these two pairs of columns. This is reflected in the calculation of P′P, which will have zeros in positions (1,2),(2,1),(3,5), and (5,3) (shown in red below), *but may be nonzero anywhere else, and will have ones in positions (1,1),(2,2),(3,3), and (5,5) (shown in blue below), but is likely not to have a one in the other diagonal positions ((4,4) in this example). Indeed,
P′P=⎛⎝⎜⎜⎜⎜⎜⎜1010.280.09101−0.0910.311−0.09110.2500.280.30.250.50.320.091100.321⎞⎠⎟⎟⎟⎟⎟⎟.
When you inspect the P matrix shown in the question, and recognize that multiples of 10−17 are really zeros, you will observe that this pattern of zeros in the red positions holds. This is the sense in which those bivariate polynomials are "orthogonal."