Seperti yang Anda perhatikan dengan benar, perbedaan aslinya adalah karena dalam kasus pertama Anda menggunakan polinomial "mentah" sedangkan dalam kasus kedua Anda menggunakan polinomial ortogonal. Karenanya jika lmpanggilan selanjutnya diubah menjadi: fit3<-lm(y~ poly(x,degree=2, raw = TRUE) -1)kami akan mendapatkan hasil yang sama antara fitdan fit3. Alasan mengapa kami mendapatkan hasil yang sama dalam kasus ini adalah "sepele"; kami cocok dengan model yang sama persis seperti yang kami cocokkan fit<-lm(y~.-1,data=x_exp), tidak ada kejutan di sana.
Seseorang dapat dengan mudah memeriksa bahwa matriks model oleh kedua model itu sama all.equal( model.matrix(fit), model.matrix(fit3) , check.attributes= FALSE) # TRUE).
Yang lebih menarik adalah mengapa Anda akan mendapatkan plot yang sama saat menggunakan intersep. Hal pertama yang perlu diperhatikan adalah bahwa, saat memasang model dengan intersep
Dalam kasus fit2kami hanya memindahkan prediksi model secara vertikal; bentuk kurva yang sebenarnya sama.
Di sisi lain termasuk intersep dalam hal fithasil menjadi tidak hanya garis yang berbeda dalam hal penempatan vertikal tetapi dengan keseluruhan bentuk yang berbeda secara keseluruhan.
Kita dapat dengan mudah melihat bahwa hanya dengan menambahkan kecocokan berikut pada plot yang ada.
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')

OKE ... Mengapa cocok no-intersep berbeda sedangkan cocok intercept-termasuk adalah sama? Tangkapan sekali lagi pada kondisi orthogonality.
Dalam kasus fit_bmatriks model yang digunakan mengandung unsur-unsur non-ortogonal, matriks Gram crossprod( model.matrix(fit_b) )jauh dari diagonal; dalam kasus fit2_bunsur-unsurnya ortogonal ( crossprod( model.matrix(fit2_b) )efektif diagonal).
Seperti halnya dalam kasus fitketika kami memperluasnya untuk memasukkan intersep dalam fit_bkami mengubah entri off-diagonal dari matriks Gram dan dengan demikian cocok yang dihasilkan berbeda secara keseluruhan (kelengkungan berbeda, intersep, dll.) Sebagai perbandingan dengan fit yang disediakan oleh . Dalam kasus ketika kita memperluasnya untuk memasukkan intersep seperti pada kita hanya menambahkan kolom yang sudah ortogonal ke kolom yang kita miliki, ortogonalitas berlawanan dengan polinomial konstan derajat 0 . Ini hanya menghasilkan memindahkan garis dipasang secara vertikal oleh intersep. Inilah sebabnya mengapa plotnya berbeda.XTXfitfit2fit2_b
Yang menarik dari pertanyaan adalah mengapa fit_bdan fit2_bitu sama; setelah semua model dari matriks fit_bdan fit2_btidak sama dalam nilai nominal . Di sini kita hanya perlu mengingat itu pada akhirnya fit_bdan fit2_bmemiliki informasi yang sama. fit2_bhanya kombinasi linear dari fit_bjadi pada dasarnya cocok mereka akan sama. Perbedaan yang diamati dalam koefisien yang sesuai mencerminkan rekombinasi linear dari nilai-nilai fit_buntuk membuatnya ortogonal. (lihat G. Grothendieck menjawab di sini juga untuk contoh berbeda.)
=dan<-untuk penugasan tidak konsisten. Saya benar-benar tidak akan melakukan ini, itu tidak benar-benar membingungkan, tetapi menambahkan banyak suara visual ke kode Anda tanpa manfaat. Anda harus memilih satu atau yang lain untuk digunakan dalam kode pribadi Anda, dan tetap menggunakannya.