สัญชาตญาณเบื้องหลังการโต้ตอบของผลิตภัณฑ์เทนเซอร์ในเกม (แพ็คเกจ MGCV ใน R)


30

ทั่วไปรุ่นสารเติมแต่งเป็นคนที่ ตัวอย่างเช่น ฟังก์ชั่นนั้นราบรื่นและสามารถประเมินได้ มักจะถูกลงโทษโดยเส้นโค้ง MGCV เป็นแพ็คเกจใน R ที่ทำเช่นนั้นและผู้แต่ง (Simon Wood) เขียนหนังสือเกี่ยวกับแพ็คเกจของเขาด้วยตัวอย่าง R Ruppert และคณะ (2003) เขียนหนังสือที่เข้าถึงได้ง่ายขึ้นเกี่ยวกับสิ่งที่เรียบง่ายกว่าในสิ่งเดียวกัน

y=α+f1(x1)+f2(x2)+ei

คำถามของฉันเกี่ยวกับการโต้ตอบภายในแบบจำลองเหล่านี้ ถ้าฉันต้องการทำสิ่งต่อไปนี้: ถ้าเราอยู่ในดินแดน OLS (ที่เป็นเพียงเบต้า) ผมไม่มีปัญหากับการตีความ\หากเราประเมินผ่านเดอร์ไลน์ที่ถูกลงโทษฉันก็ไม่มีปัญหากับการตีความในบริบทเพิ่มเติม 3

y=α+f1(x1)+f2(x2)+f3(x1×x2)+ei
ff^3

แต่แพ็คเกจ MGCV ใน GAM มีสิ่งเหล่านี้เรียกว่า "เมตริกซ์ผลิตภัณฑ์ปรับให้เรียบ" ฉัน google "ผลิตภัณฑ์เมตริกซ์" และดวงตาของฉันก็จ้องมองไปที่การอ่านคำอธิบายที่ฉันพบทันที ไม่ว่าฉันจะฉลาดหรือคณิตศาสตร์ไม่ได้อธิบายได้ดีหรือทั้งสองอย่าง

แทนการเข้ารหัส

normal = gam(y~s(x1)+s(x2)+s(x1*x2))

ผลิตภัณฑ์เทนเซอร์จะทำสิ่งเดียวกัน (?) โดย

what = gam(y~te(x1,x2))

เมื่อฉันทำ

plot(what)

หรือ

vis.gam(what)

ฉันได้รับผลลัพธ์ที่ยอดเยี่ยมจริงๆ แต่ฉันไม่รู้ว่าเกิดอะไรขึ้นภายในกล่องดำนั่นคืออะไรte()และไม่ตีความความเย็นที่ได้กล่าวมาแล้ว เมื่อคืนก่อนฉันฝันร้ายว่าฉันกำลังสัมมนา ฉันแสดงกราฟที่ยอดเยี่ยมทุกคนพวกเขาถามฉันว่ามันมีความหมายอย่างไรและฉันก็ไม่รู้ จากนั้นฉันก็ค้นพบว่าฉันไม่มีเสื้อผ้า

ใครสามารถช่วยทั้งฉันและลูกหลานโดยให้กลไกและสัญชาตญาณว่าเกิดอะไรขึ้นภายใต้ประทุนที่นี่ เป็นการดีที่จะพูดถึงความแตกต่างระหว่างตัวเสริมแบบปกติและตัวเทนเซอร์? คะแนนโบนัสสำหรับการพูดทุกอย่างเป็นภาษาอังกฤษอย่างง่ายก่อนที่จะไปสู่คณิตศาสตร์


ตัวอย่างง่ายๆนำมาจากหนังสือผู้แต่งแพ็คเกจ: ข้อมูลห้องสมุด (mgcv) (ต้นไม้) ct5 <- gam (เล่ม ~ te (ส่วนสูง, เส้นรอบวง, k = 5), ครอบครัว = Gamma (ลิงค์ = บันทึก), ข้อมูล = ต้นไม้) ct5 vis.gam (ct5) พล็อต (ct5, too.far = 0.15)
generic_user

คำตอบ:


30

ฉันจะ (ลอง) ตอบคำถามนี้ในสามขั้นตอน: ก่อนอื่นมาระบุสิ่งที่เราหมายถึงโดยราบรื่นโดยไม่แปรเปลี่ยน ต่อไปเราจะอธิบายตัวแปรหลายตัวแปรให้ราบรื่น (โดยเฉพาะคือตัวแปรสองตัวที่ราบรื่น) ในที่สุดฉันจะพยายามอย่างดีที่สุดเพื่ออธิบายผลิตภัณฑ์เมตริกซ์ให้ราบรื่น

1) Univariate ราบรื่น

สมมติว่าเรามีบางข้อมูลการตอบสนองที่เราคาดเดาเป็นฟังก์ชั่นที่ไม่รู้จักของตัวแปรทำนายxบวกบางข้อผิดพลาดε รูปแบบจะเป็น:Yxε

Y=(x)+ε

ตอนนี้เพื่อให้พอดีกับรูปแบบนี้เรามีการระบุรูปแบบการทำงานของฉวิธีที่เราทำคือการระบุฟังก์ชั่นพื้นฐานซึ่งถูกวางซ้อนเพื่อแสดงฟังก์ชั่นfอย่างครบถ้วน ตัวอย่างง่ายๆคือการถดถอยเชิงเส้นซึ่งฟังก์ชั่นพื้นฐานเป็นเพียงβ 2 xและβ 1 , การสกัดกั้น เราใช้การขยายพื้นฐานfβ2xβ1

y=β1+β2x+ε

ในรูปแบบเมทริกซ์เราจะได้:

Y=Xβ+ε

โดยที่คือเวกเตอร์คอลัมน์ n ต่อ 1, Xเป็นเมทริกซ์โมเดล n-by-2, βคือเวกเตอร์คอลัมน์ 2-1-1 ของสัมประสิทธิ์ของโมเดลและεคือเวกเตอร์คอลัมน์ n-by-1 ของข้อผิดพลาด . Xมีสองคอลัมน์เนื่องจากมีสองเทอมในการขยายพื้นฐานของเรา: คำเชิงเส้นและการสกัดกั้นYXβεX

หลักการเดียวกันนี้ใช้สำหรับการขยายพื้นฐานใน MGCV แม้ว่าฟังก์ชันพื้นฐานนั้นซับซ้อนกว่ามาก โดยเฉพาะฟังก์ชั่นพื้นฐานของแต่ละบุคคลไม่จำเป็นต้องกำหนดไว้ในช่วงโดเมนเต็มรูปแบบของตัวแปรอิสระxกรณีเช่นนี้มักเกิดขึ้นเมื่อใช้ฐานปม (ดู"ตัวอย่างจากปม"x) จากนั้นแบบจำลองจะแสดงเป็นผลรวมของฟังก์ชันพื้นฐานซึ่งแต่ละแบบจะถูกประเมินที่ทุกค่าของตัวแปรอิสระ อย่างไรก็ตามดังที่ฉันได้กล่าวถึงฟังก์ชั่นพื้นฐานบางอย่างใช้ค่าศูนย์นอกช่วงเวลาที่กำหนดดังนั้นจึงไม่ได้มีส่วนช่วยในการขยายพื้นฐานนอกช่วงเวลานั้น ยกตัวอย่างเช่นพิจารณาลูกบาศก์พื้นฐานที่แต่ละฟังก์ชันพื้นฐานสมมาตรเกี่ยวกับค่าที่แตกต่างกัน (ปม) ของตัวแปรอิสระ - ในคำอื่น ๆ ฟังก์ชั่นพื้นฐานทุกอย่างมีลักษณะเหมือนกัน แต่จะเปลี่ยนตามแกนของตัวแปรอิสระ (นี่เป็นคำอธิบายที่มากเกินไปเนื่องจากพื้นฐานทางปฏิบัติใด ๆ จะรวมถึงการสกัดกั้นและคำเชิงเส้น แต่หวังว่าคุณจะได้ความคิด)

หากต้องการให้ชัดเจนการขยายพื้นฐานของมิติที่อาจมีลักษณะดังนี้:i2

y=β1+β2x+β3f1(x)+β4f2(x)+...+βifi2(x)+ε

ฟังก์ชั่นที่แต่ละคือบางทีลูกบาศก์ฟังก์ชั่นของตัวแปรอิสระxfx

สมการเมทริกซ์ยังคงสามารถใช้เพื่อเป็นตัวแทนโมเดลของเราได้ ความแตกต่างเพียงอย่างเดียวคือXคือตอนนี้เมทริกซ์ n-by-i; นั่นคือมันมีคอลัมน์สำหรับทุกคำในการขยายพื้นฐาน (รวมถึงการสกัดกั้นและคำเชิงเส้น) ตั้งแต่ขั้นตอนของการขยายตัวพื้นฐานที่มีให้เราสามารถเป็นตัวแทนของรูปแบบในรูปแบบของสมการเมทริกซ์ที่เราสามารถใช้เส้นตรงสองน้อยที่สุดเพื่อให้พอดีกับรูปแบบและหาค่าสัมประสิทธิ์เบต้าY=Xβ+εXβ

นี่คือตัวอย่างของการถดถอยที่ไม่ได้ทำให้เสียเปรียบและหนึ่งในจุดแข็งหลักของ MGCV คือการประมาณค่าความนุ่มนวลผ่านการปรับค่าปรับและการปรับให้เรียบ กล่าวอีกนัยหนึ่งแทน:

β=(XTX)1XTY

เรามี:

β=(XTX+λS)1XTY

ที่คือสมการกำลังสองi -by- i การลงโทษเมทริกซ์และλเป็นพารามิเตอร์การปรับให้เรียบแบบสเกลาร์ ฉันจะไม่เข้าสู่สเปคของเมทริกซ์การลงโทษที่นี่ แต่มันก็เพียงพอแล้วที่จะกล่าวว่าสำหรับการขยายพื้นฐานที่กำหนดของตัวแปรอิสระบางตัวและคำจำกัดความของการลงโทษ "wigginess" สมการกำลังสอง (ตัวอย่างเช่นการลงโทษอนุพันธ์อันดับสอง) สามารถคำนวณเมทริกซ์โทษSSiiλS

MGCV สามารถใช้วิธีการต่าง ๆ ของการประเมินที่ดีที่สุดให้เรียบพารามิเตอร์λฉันจะไม่เข้าไปในเรื่องนั้นเนื่องจากเป้าหมายของฉันที่นี่คือเพื่อให้ภาพรวมคร่าวๆว่าการสร้างความราบรื่นแบบ univariate นั้นเป็นอย่างไรซึ่งฉันเชื่อว่าฉันได้ทำไปแล้วλ

2) หลายตัวแปรเรียบ

คำอธิบายข้างต้นสามารถทำให้เป็นมาตรฐานได้หลายมิติ ลองกลับไปที่รูปแบบของเราที่จะช่วยให้การตอบสนองเป็นฟังก์ชันของทำนายxและZ ข้อ จำกัด ของตัวแปรอิสระสองตัวจะป้องกันไม่ให้คำอธิบายที่ยุ่งเหยิงด้วยสัญกรณ์ arcane รูปแบบนั้น:yfxz

y=f(x,z)+ε

ตอนนี้มันควรจะเห็นได้ชัดว่าสัญชาตญาณว่าเราจะเป็นตัวแทนของด้วยการขยายพื้นฐาน (นั่นคือการทับซ้อนของฟังก์ชันพื้นฐาน) เช่นเดียวกับที่เราทำในกรณี univariate ของf ( x )ด้านบน นอกจากนี้ยังควรจะชัดเจนว่าอย่างน้อยหนึ่งและอื่น ๆ เกือบจะแน่นอนหลายฟังก์ชั่นพื้นฐานเหล่านี้จะต้องฟังก์ชั่นของทั้งสองxและZ (ถ้ากรณีนี้ไม่ได้แล้วโดยปริยายfจะแยกกันไม่ออกเช่นว่าF ( x , Z ) = f x ( x ) + ff(x,z)f(x)xzf ) ภาพประกอบภาพของพื้นฐานอิสระหลายมิติสามารถพบได้ที่นี่ การขยายพื้นฐานสองมิติแบบเต็มของมิติ i - 3อาจมีลักษณะดังนี้:f(x,z)=fx(x)+fz(z)i3

y=β1+β2x+β3z+β4f1(x,z)+...+βifi3(x,z)+ε

ฉันคิดว่ามันชัดเจนว่าเรายังสามารถแสดงสิ่งนี้ในรูปแบบเมทริกซ์ด้วย:

Y=Xβ+ε

โดยเพียงแค่การประเมินฟังก์ชั่นพื้นฐานแต่ละคนในทุกการผสมผสานเอกลักษณ์ของและZ วิธีการแก้ปัญหายังคงอยู่:xz

β=(XTX)1XTY

Computing the second derivative penalty matrix is very much the same as in the univariate case, except that instead of integrating the second derivative of each basis function with respect to a single variable, we integrate the sum of all second derivatives (including partials) with respect to all independent variables. The details of the foregoing are not especially important: the point is that we can still construct penalty matrix S and use the same method to get the optimal value of smoothing parameter λ, and given that smoothing parameter, the vector of coefficients is still:

β=(XTX+λS)1XTY

Now, this two-dimensional smooth has an isotropic penalty: this means that a single value of λ applies in both directions. This works fine when both x and z are on approximately the same scale, such as a spatial application. But what if we replace spatial variable z with temporal variable t? The units of t may be much larger or smaller than the units of x, and this can throw off the integration of our second derivatives because some of those derivatives will contribute disproportionately to the overall integration (for example, if we measure t in nanoseconds and x in light years, the integral of the second derivative with respect to t may be vastly larger than the integral of the second derivative with respect to x, and thus "wiggliness" along the x direction may go largely unpenalized). Slide 15 of the "smooth toolbox" I linked has more detail on this topic.

It is worth noting that we did not decompose the basis functions into marginal bases of x and z. The implication here is that multivariate smooths must be constructed from bases supporting multiple variables. Tensor product smooths support construction of multivariate bases from univariate marginal bases, as I explain below.

3) Tensor product smooths

Tensor product smooths address the issue of modeling responses to interactions of multiple inputs with different units. Let's suppose we have a response y that is a function f of spatial variable x and temporal variable t. Our model is then:

y=f(x,t)+ε

What we'd like to do is construct a two-dimensional basis for the variables x and t. This will be a lot easier if we can represent f as:

f(x,t)=fx(x)ft(t)

In an algebraic / analytical sense, this is not necessarily possible. But remember, we are discretizing the domains of x and t (imagine a two-dimensional "lattice" defined by the locations of knots on the x and t axes) such that the "true" function f is represented by the superposition of basis functions. Just as we assumed that a very complex univariate function may be approximated by a simple cubic function on a specific interval of its domain, we may assume that the non-separable function f(x,t) may be approximated by the product of simpler functions fx(x) and ft(t) on an interval—provided that our choice of basis dimensions makes those intervals sufficiently small!

Our basis expansion, given an i-dimensional basis in x and j-dimensional basis in t, would then look like:

y=β1+β2x+β3fx1(x)+β4fx2(x)+...+βifx(i3)(x)+βi+1t+βi+2tx+βi+3tfx1(x)+βi+4tfx2(x)+...+β2itfx(i3)(x)+β2i+1ft1(t)+β2i+2ft1(t)x+β2i+3ft1(t)fx1(x)+βi+4ft1(t)fx2(x)+...+β2ift1(t)fx(i3)(x)++βijft(j3)(t)fx(i3)(x)+ε

Which may be interpreted as a tensor product. Imagine that we evaluated each basis function in x and t, thereby constructing n-by-i and n-by-j model matrices X and T, respectively. We could then compute the n2-by-ij tensor product XT of these two model matrices and reorganize into columns, such that each column represented a unique combination ij. Recall that the marginal model matrices had i and j columns, respectively. These values correspond to their respective basis dimensions. Our new two-variable basis should then have dimension ij, and therefore the same number of columns in its model matrix.

NOTE: I'd like to point out that since we explicitly constructed the tensor product basis functions by taking products of marginal basis functions, tensor product bases may be constructed from marginal bases of any type. They need not support more than one variable, unlike the multivariate smooth discussed above.

In reality, this process results in an overall basis expansion of dimension ijij+1 because the full multiplication includes multiplying every t basis function by the x-intercept βx1 (so we subtract j) as well as multiplying every x basis function by the t-intercept βt1 (so we subtract i), but we must add the intercept back in by itself (so we add 1). This is known as applying an identifiability constraint.

So we can represent this as:

y=β1+β2x+β3t+β4f1(x,t)+β5f2(x,t)+...+βijij+1fijij2(x,t)+ε

Where each of the multivariate basis functions f is the product of a pair of marginal x and t basis functions. Again, it's pretty clear having constructed this basis that we can still represent this with the matrix equation:

Y=Xβ+ε

Which (still) has the solution:

β=(XTX)1XTY

Where the model matrix X has ijij+1 columns. As for the penalty matrices Jx and Jt, these are are constructed separately for each independent variable as follows:

Jx=βTIjSxβ

and,

Jt=βTStIiβ

This allows for an overall anisotropic (different in each direction) penalty (Note: the penalties on the second derivative of x are added up at each knot on the t axis, and vice versa). The smoothing parameters λx and λt may now be estimated in much the same way as the single smoothing parameter was for the univariate and multivariate smooths. The result is that the overall shape of a tensor product smooth is invariant to rescaling of its independent variables.

I recommend reading all the vignettes on the MGCV website, as well as "Generalized Additive Models: and introduction with R." Long live Simon Wood.


Nice answer. I've since learned quite a lot more than I knew three years ago. But I'm not sure that I would have understood 3 years ago what you wrote today. Or maybe I would have. I think the place to start is to think of a basis expansion in many dimensions as a "net" across the variable space. I suppose tensors can be described as a net with rectangular patterns... And maybe different "shear" forces pulling from each direction.
generic_user

On another note, I would caution you against thinking of the tensor product as representing something spatial. This is because the actual tensor product of marginal x and t basis functions will include tons of zeros which represent the evaluation of basis functions outside of their defined range. The actual tensor product will usually be very sparse.
Josh

1
Thanks for this great summary! Just one remark: The equation after "Our basis expansion," is not completely correct. It does give the correct basis functions, but it gives a parametrization where the corresponding parameters are of product form (βxiβtj).
jarauh

1
@Josh Ok, I tried. It's not easy to have it correct and easy to understand at the same time (and to follow someone else's notation). By the way, the link to smooth-toolbox.pdf seems to be broken.
jarauh

1
Looks good. Apparently your edit was rejected, but I overrode the rejection and approved it. When I started writing this answer I didn't realize just how confusing the expansions would look. I should probably go back and rewrite it with pi (product) notation one of these days.
Josh
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.