Orijinal farkı doğru bir şekilde not ettiğiniz gibi, ilk durumda "ham" polinomları, ikinci durumda ise ortogonal polinomları kullanmanızdır. Daha sonra nedenle lmçağrı içine değiştirilmiş: fit3<-lm(y~ poly(x,degree=2, raw = TRUE) -1)biz arasına aynı sonuçları alacağı fitve fit3. Nedeni neden biz bu durumda aynı sonuçları almak için "önemsiz" dir; taktığımızla aynı modele uyuyoruz fit<-lm(y~.-1,data=x_exp), orada sürpriz yok.
İki modelin model matrislerinin aynı olup olmadığını kolayca kontrol edebilirsiniz all.equal( model.matrix(fit), model.matrix(fit3) , check.attributes= FALSE) # TRUE).
Daha ilginç olan, bir kesişim kullanırken neden aynı grafikleri elde edeceğinizdir. Dikkat edilmesi gereken ilk şey, bir modeli bir araya sokarak takarken
Durumunda fit2basitçe dikey model tahminleri taşımak biz; eğrinin gerçek şekli aynıdır.
Öte yandan, fitsonuçlarda bir kesişim dahil olmak üzere , dikey yerleştirme açısından sadece farklı bir çizgiye değil, genel olarak tamamen farklı bir şekle sahiptir.
Mevcut arsaya sadece aşağıdaki parçaları ekleyerek bunu kolayca görebiliriz.
fit_b<-lm(y~. ,data=x_exp)
yp=predict(fit_b,xp_exp)
lines(xp,yp, col='green', lwd = 2)
fit2_b<-lm(y~ poly(x,degree=2, raw = FALSE) )
yp=predict(fit2_b,data.frame(x=xp))
lines(xp,yp,col='blue')

Tamam ... Kesişim dahil uyumlar aynı iken kesişmesiz uyumlar neden farklıydı? Yakalama bir kez daha diklik durumundadır.
Durumunda fit_bkullanılan model matris gram matrisi, ortogonal olmayan elemanları ihtiva crossprod( model.matrix(fit_b) )çapraz uzaktır; fit2_belemanların dik olması durumunda ( crossprod( model.matrix(fit2_b) )etkili bir şekilde diyagonaldir).
Bu nedenle, fitbir kesişim içerecek şekilde genişlettiğimizde fit_b, Gram matris TX'in köşegen olmayan girişlerini değiştirdik ve sonuçta ortaya çıkan uyum, bir bütün olarak (farklı eğrilik, kesişim, vb.) tarafından sağlanan uygun ile . Durumunda olduğu gibi biz bir yolunu kesmek dahil etmek genişletmek zaman olsa biz sadece zaten biz sütunlara dik olan bir sütun eklemek, diklik ise dereceye 0 sabit polinomun karşı . Bu, takılan hattımızı kesişme noktasından dikey olarak hareket ettirmekle sonuçlanır. Bu nedenle araziler farklı.XTXfitfit2fit2_b
İlginç soru , fit_bve öğelerinin neden fit2_baynı olduğudur; sonuçta model matrislerden alınır fit_bve yüz değerindefit2_b aynı değildir . Burada nihayetinde bunu hatırlamamız ve aynı bilgilere sahip olmamız gerekiyor . sadece lineer bir kombinasyon olduğu için ortaya çıkan uyumları aynı olacaktır. Takılan katsayıda gözlemlenen farklar, değerleri dikleştirmek için değerlerin doğrusal rekombinasyonunu yansıtır . (G. Grothendieck cevaba bakınız burada çok farklı örneğin.)fit_bfit2_bfit2_bfit_bfit_b
=ve<-atama için kullanmanızdır . Bunu gerçekten yapmazdım, tam olarak kafa karıştırıcı değil, ancak kodunuza çok fazla görsel gürültü ekliyor. Kişisel kodunuzda kullanmak için birine ya da diğerine yerleşmeli ve sadece ona uymalısınız.