Polinomial ortogonal dalam set titik univariat adalah polinomial yang menghasilkan nilai pada titik-titik tersebut dengan cara yang mana produk titiknya dan korelasi berpasangannya nol. R dapat menghasilkan polinomial ortogonal dengan fungsi poli .
Fungsi yang sama memiliki varian polim yang menghasilkan polinomial ortogonal pada set titik multivariat. Bagaimanapun polinomial yang dihasilkan tidak ortogonal dalam arti memiliki korelasi nol berpasangan. Faktanya, karena polinomial orde pertama dianggap hanya variabel asli, polinomial orde pertama tidak akan ortogonal kecuali variabel asli tidak berkorelasi.
Lalu, pertanyaan saya adalah:
- Apa polinomial ortogonal multivariat yang dihitung oleh polim dalam R? Apakah mereka hanya produk dari polinomial ortogonal univariat? Untuk apa mereka digunakan?
- Dapatkah ada polinomial ortogonal multivariat sejati? Apakah ada cara mudah untuk memproduksinya? Dalam R? Apakah mereka sebenarnya digunakan dalam regresi?
Memperbarui
Menanggapi komentar Superpronker, saya memberikan satu contoh tentang apa yang saya maksud dengan polinomial yang tidak berkorelasi:
> x<-rnorm(10000)
> cor(cbind(poly(x,degree=3)))
1 2 3
1 1.000000e+00 -6.809725e-17 2.253577e-18
2 -6.809725e-17 1.000000e+00 -2.765115e-17
3 2.253577e-18 -2.765115e-17 1.000000e+00
Fungsi poli mengembalikan polinomial ortogonal yang dievaluasi dalam poin x (di sini 10.000 poin untuk setiap polinomial). Korelasi antara nilai pada polinomial yang berbeda adalah nol (dengan beberapa kesalahan numerik).
Saat menggunakan polinomial multivarian, korelasi berbeda dari nol:
> x<-rnorm(1000)
> y<-rnorm(1000)
> cor(cbind(polym(x,y,degree=2)))
1.0 2.0 0.1 1.1 0.2
1.0 1.000000e+00 2.351107e-17 2.803716e-02 -0.02838553 3.802363e-02
2.0 2.351107e-17 1.000000e+00 -1.899282e-02 0.10336693 -8.205039e-04
0.1 2.803716e-02 -1.899282e-02 1.000000e+00 0.05426440 5.974827e-17
1.1 -2.838553e-02 1.033669e-01 5.426440e-02 1.00000000 8.415630e-02
0.2 3.802363e-02 -8.205039e-04 5.974827e-17 0.08415630 1.000000e+00
Karena itu, saya tidak mengerti dalam arti apa polinomial bivariat itu ortogonal.
Perbarui 2
Saya ingin memperjelas arti "polinomial ortogonal" yang digunakan dalam regresi karena konteks ini dapat menyesatkan ketika menerapkan ide-ide dari polinomial ortogonal dalam interval yang terhubung - seperti dalam komentar Superpronker terakhir.
Saya mengutip Praktis Regresi dan Anova Julian J. Faraway menggunakan R halaman 101 dan 102:
Polinomial ortogonal menyelesaikan masalah ini dengan mendefinisikan dll di mana koefisien a, b, c ... dipilih sehingga saat . Z disebut polinomial ortogonal.
Dengan sedikit penyalahgunaan bahasa, di sini penulis menggunakan baik untuk polinomial (sebagai fungsi) maupun untuk vektor nilai-nilai yang diambil polinomial di titik-titik himpunan . Atau mungkin itu bahkan bukan penyalahgunaan bahasa sama sekali karena sejak awal buku telah menjadi prediktor (misalnya serangkaian nilai yang diambil oleh prediktor).
Arti polinomial ortogonal ini sebenarnya tidak berbeda dengan polinom ortogonal pada suatu interval. Kita dapat mendefinisikan polinomial ortogonal dengan cara biasa (menggunakan integral) atas setiap set yang dapat diukur dengan fungsi ukuran apa pun. Di sini kita memiliki himpunan terbatas ( ) dan kita menggunakan produk titik alih-alih integral, tapi itu masih polinomial ortogonal jika kita mengambil fungsi ukuran kita sebagai delta Dirac di titik himpunan terbatas kita.
Dan sehubungan dengan korelasi: titik produk vektor ortogonal dalam (sebagai gambar vektor ortogonal pada himpunan terbatas). Jika titik produk dari dua vektor adalah nol, kovarians adalah nol, dan jika kovarians adalah nol, korelasi adalah nol. Dalam konteks model linear sangat berguna untuk menghubungkan "ortogonal" dan "tidak berkorelasi", seperti dalam "desain eksperimen ortogonal".
Jawaban:
Mari kita jelajahi apa yang terjadi. Saya yakin Anda sudah mengetahui sebagian besar materi berikut, tetapi untuk menetapkan notasi dan definisi serta memperjelas ide-ide, saya akan membahas dasar-dasar regresi polinomial sebelum menjawab pertanyaan. Jika Anda suka, lompat ke tajuk "Apa
R
artinya" sekitar dua pertiga dari jalan ke pos ini, dan kemudian lewati kembali untuk definisi yang mungkin Anda butuhkan.Pengaturan
Kami sedang mempertimbangkan model matriks dari variabel penjelas potensial dalam beberapa jenis regresi. Ini berarti kami memikirkan kolom sebagai vektor dan kami akan membentuk kombinasi linearnya, untuk memprediksi atau memperkirakan respons.n×k X X n X1,X2,…,Xk β1X1+β2X2+⋯+βkXk,
Kadang-kadang regresi dapat ditingkatkan dengan memperkenalkan kolom tambahan yang dibuat dengan mengalikan berbagai kolom satu sama lain, koefisien dengan koefisien. Produk semacam itu disebut "monomial" dan dapat ditulis sepertiX
di mana setiap "kekuatan" adalah nol atau lebih besar, mewakili berapa kali setiap muncul dalam produk. Perhatikan bahwa adalah vektor- dari koefisien konstan ( ) dan itu sendiri. Dengan demikian, monomial (sebagai vektor) menghasilkan ruang vektor yang mencakup ruang kolom asli Kemungkinan bahwa itu mungkin ruang vektor yang lebih besar memberikan prosedur ini ruang lingkup yang lebih besar untuk memodelkan respons dengan kombinasi linear.di X1 X0 n 1 X1=X X.
Kami bermaksud untuk mengganti model matriks asli dengan koleksi kombinasi monomial. Ketika tingkat setidaknya satu dari monomial ini melebihi ini disebut regresi polinomial.X 1,
Gradasi polinomial
The gelar dari monomial adalah jumlah dari kekuasaannya, Derajat kombinasi linear dari monomial (a "polinomial") adalah derajat terbesar di antara istilah monomial dengan koefisien bukan nol. Derajat memiliki makna intrinsik, karena ketika Anda mengubah dasar ruang vektor asli, setiap vektor baru diwakili oleh kombinasi linear dari semua vektor; monomial dengan demikian menjadi polinomial dengan derajat yang sama; dan akibatnya tingkat setiap polinomial tidak berubah.d1+d2+…+dk. X i X d 1 1 X d 2 2 ⋯ X d k kXi Xd11Xd22⋯Xdkk
Derajat menyediakan "gradasi" alami untuk aljabar polinomial ini: ruang vektor yang dihasilkan oleh semua kombinasi linear monomial dalam derajat hingga dan termasuk disebut "polinomial tingkat [atau hingga] derajat di "memperluas ruang vektor polinomial hingga derajat dalamX d+1, d+1 X, d X.
Penggunaan regresi polinomial
Seringkali, regresi polinomial adalah eksplorasi dalam arti bahwa kita tidak tahu pada awalnya monomial mana yang akan dimasukkan. Proses membuat matriks model baru dari monomial dan menyesuaikan regresi mungkin perlu diulang berkali-kali, mungkin sejumlah astronomi kali dalam beberapa pengaturan pembelajaran mesin.
Masalah utama dengan pendekatan ini adalah
Monomial sering memperkenalkan jumlah bermasalah "multikolinieritas" dalam matriks model baru, terutama karena kekuatan variabel tunggal cenderung sangat linier. (Collinearity antara kekuatan dua variabel yang berbeda tidak dapat diprediksi, karena itu tergantung pada bagaimana variabel-variabel tersebut terkait, dan karena itu kurang dapat diprediksi.)
Mengubah hanya satu kolom dari matriks model, atau memperkenalkan yang baru, atau menghapus, mungkin memerlukan "cold restart" dari prosedur regresi, yang berpotensi memakan waktu lama untuk perhitungan.
Gradasi aljabar polinomial menyediakan cara untuk mengatasi kedua masalah.
Polinomial ortogonal dalam satu variabel
Diberikan vektor kolom tunggal satu set "polinomial ortogonal" untuk adalah urutan vektor kolom dibentuk sebagai kombinasi linear dari monomial di saja-- yaitu, sebagai kekuatan dengan properti berikut:X, X p0(X),p1(X),p2(X),… X X
Untuk setiap derajat vektor menghasilkan ruang vektor yang sama dengan (Perhatikan bahwa adalah vektor- dan hanya itu sendiri.)d=0,1,2,…, p0(X),p1(X),…,pd(X) X0,X1,…,Xd. X0 n X1 X
The yang saling orthogonal dalam arti bahwa untukpi(X) i≠j, pi(X)′pj(X)=0.
Biasanya, matriks model pengganti dibentuk dari monomial ini dipilih ortonormal dengan menormalkan kolomnya ke satuan panjang: Karena kebalikan dari muncul di sebagian besar persamaan regresi dan kebalikan dari matriks identitas itu sendiri, ini merupakan keuntungan komputasi yang sangat besar.P=(p0(X)p1(X)⋯pd(X)) P′P=Id+1. P′P Id+1
Orthonormality sangat menentukan Anda dapat melihat ini dengan konstruksi:pi(X).
Polinomial pertama, harus merupakan kelipatan dari -vektor dari satuan panjang. Hanya ada dua pilihan, Merupakan kebiasaan untuk memilih akar kuadrat positif.p0(X), n 1=(1,1,…,1)′ ±1/n−−−√1.
Polinomial kedua, harus ortogonal untuk Ini dapat diperoleh dengan melakukan regresi terhadap yang solusinya adalah vektor nilai rata-rata Jika residual tidak identik nol, mereka memberikan hanya dua solusi yang mungkinp1(X), 1. X 1, X^=X¯1. ϵ=X−X^ p1(X)=±(1/||ϵ||)ϵ.
...
Ini adalah proses Gram-Schmidt yang diterapkan pada urutan intrinsik vektor Biasanya itu dihitung menggunakan dekomposisi QR, yang merupakan hal yang hampir sama tetapi dihitung secara stabil secara numerik.X0,X1,…,Xd,….
Konstruksi ini menghasilkan urutan kolom tambahan untuk dipertimbangkan termasuk dalam matriks model. Regresi polinomial dalam satu variabel karena itu biasanya dilanjutkan dengan menambahkan elemen dari urutan ini satu per satu, secara berurutan, sampai tidak ada perbaikan lebih lanjut dalam regresi yang diperoleh. Karena setiap kolom baru ortogonal dengan yang sebelumnya, termasuk tidak mengubah salah satu dari perkiraan koefisien sebelumnya. Hal ini menjadikan prosedur yang efisien dan mudah diinterpretasikan.
Polinomial dalam banyak variabel
Regresi eksplorasi (dan juga pemasangan model) biasanya dimulai dengan terlebih dahulu mempertimbangkan variabel (asli) mana yang akan dimasukkan dalam model; kemudian menilai apakah variabel-variabel itu dapat ditambah dengan memasukkan berbagai transformasi dari mereka, seperti monomial; dan kemudian memperkenalkan "interaksi" yang terbentuk dari produk dari variabel-variabel ini dan ekspresi ulang mereka.
Maka, melaksanakan program semacam itu akan dimulai dengan membentuk polinomial ortogonal univariat dalam kolom secara terpisah.X Setelah memilih gelar yang sesuai untuk setiap kolom, Anda kemudian akan memperkenalkan interaksi.
Pada titik ini, bagian-bagian dari program univariat mogok. Urutan interaksi apa yang akan Anda terapkan, satu per satu, hingga model yang sesuai diidentifikasi? Terlebih lagi, sekarang setelah kita benar-benar memasuki bidang analisis multivariabel, jumlah opsi yang tersedia dan kompleksitasnya yang semakin besar menunjukkan bahwa mungkin ada pengembalian yang semakin berkurang dalam membangun urutan polinomial ortogonal multivariat. Namun, jika Anda memiliki urutan seperti itu dalam pikiran, Anda dapat menghitungnya menggunakan dekomposisi QR.
Apa
R
yangPerangkat lunak untuk regresi polinomial cenderung berfokus pada komputasi urutan polinomial ortogonal univariat . Merupakan karakteristik untuk
R
memperluas dukungan tersebut secara otomatis ke kelompok polinomial univariat. Ini apapoly
. (Pendampingnyapolym
pada dasarnya adalah kode yang sama, dengan lonceng dan peluit yang lebih sedikit; dua fungsi melakukan hal yang sama.)Secara khusus,X, d. d X1,…,Xk X,
poly
akan menghitung urutan polinomial ortogonal univariat ketika diberi vektor tunggal berhenti pada derajat yang ditentukan (Jika terlalu besar - dan bisa sulit untuk memprediksi seberapa besar terlalu besar - sayangnya melempar kesalahan.) Ketika diberi satu set vektor dalam bentuk matriks itu akan kembaliUrutan polinomial ortonormal untuk setiap ke tingkat maksimum yang diminta (Karena vektor konstan adalah umum untuk semua variabel dan sangat sederhana - biasanya ditampung oleh intersep dalam regresi - tidak repot-repot untuk memasukkannya.)p1(Xj),p2(Xj),…,pd(Xj) j d. p0(Xi)
R
Semua interaksi di antara polinomial ortogonal hingga dan termasuk yang dari derajatd.
Langkah (2) melibatkan beberapa kehalusan. Biasanya dengan "interaksi" di antara variabel yang kami maksud adalah "semua produk yang mungkin," tetapi beberapa produk yang mungkin akan memiliki derajat lebih besar dari Misalnya, dengan variabel dan menghitungd. 2 d=2,
R
R
tidak tidak termasuk interaksi yang lebih tinggi derajat (polinomial derajat 3) atau (polinomial derajat 4). (Ini bukan batasan serius karena Anda dapat dengan mudah menghitung sendiri produk-produk ini atau menentukannya dalam objek regresi .)formula
Kehalusan lainnya adalah tidak ada jenis normalisasi yang diterapkan pada produk multivarian apa pun. Dalam contoh tersebut, satu-satunya produk tersebut adalah Namun, tidak ada jaminan bahkan bahwa rata-rata akan menjadi nol dan hampir pasti tidak akan memiliki norma satuan. Dalam pengertian ini, ini adalah "interaksi" sejati antara dan dan dengan demikian dapat diartikan sebagai interaksi yang biasanya dalam model regresi.p1(X1)p1(X2). p1(X1) p1(X2)
Sebuah contoh
Mari kita lihat sebuah contoh. Saya telah membuat matriks Untuk membuat perhitungan lebih mudah diikuti, semuanya dibulatkan menjadi dua angka penting untuk ditampilkan.X=⎛⎝⎜152364⎞⎠⎟.
Urutan polinomial ortonormal untuk kolom pertama dimulai dengan menormalkan dengan satuan panjang, memberikanLangkah selanjutnya termasuk itu sendiri. Untuk membuatnya ortogonal ke mundur terhadap dan set sama dengan residu dari regresi itu, diubah kembali untuk memiliki panjang unit. Hasilnya adalah standardisasi biasa dari diperoleh dengan memasukkan kembali dan membagi dengan deviasi standarnya,X1=(1,5,2)′ X01=(1,1,1)′ p0(X1)=(1,1,1)′/3–√≈(0.58,0.58,0.58)′. X11=X1 p0(X1), X1 p0(X1) p1(X1) X1 p1(X1)=(−0.57,0.79,−0.23)′. Akhirnya, mengalami kemunduran terhadap dan dan residu-residual tersebut dihitung ulang menjadi satuan panjang. Kami tidak dapat melangkah lebih jauh karena kekuatan tidak dapat menghasilkan ruang vektor lebih dari dimensi. (Kami sampai sejauh ini karena polinomial minimum dari koefisien yaitu memiliki derajat menunjukkan bahwa semua monomial derajat atau lebih besar adalah kombinasi linear dari yang lebih rendah kekuatan dan kekuatan yang lebih rendah itu bebas linear.)X21=(1,25,4) p0(X1) p1(X1) X1 n=3 X1, (t−1)(t−5)(t−4), 3, 3
Matriks yang dihasilkan mewakili urutan polinomial ortonormal untuk adalahX1
(untuk dua angka penting).
Dengan cara yang sama, matriks polinomial ortonormal untuk adalahX2
Istilah interaksi adalah produk dari kolom tengah dari matriks ini, sama dengan Matriks lengkap yang dibuat oleh atau , kemudian, adalah(0.35,0.61,0.035)′.
poly
polym
Perhatikan urutan di mana kolom diletakkan: polinomial ortonormal non-konstan untuk ada di kolom 1 dan 2 sedangkan yang untuk ada di kolom 3 dan 5. Dengan demikian, satu-satunya ortogonalitas yang dijamin dalam output ini adalah di antara ini dua pasang kolom. Ini tercermin dalam perhitungan yang akan memiliki nol di posisi dan (ditunjukkan dengan warna merah di bawah), * tetapi mungkin bukan nol di tempat lain, dan akan ada yang di posisi dan (ditampilkan dalam warna biru di bawah), tetapi kemungkinan tidak memiliki satu di posisi diagonal lainnya (X1 X2 P′P, (1,2),(2,1),(3,5), (5,3) (1,1),(2,2),(3,3), (5,5) (4,4) dalam contoh ini). Memang,
Ketika Anda memeriksa matriks ditunjukkan dalam pertanyaan, dan mengenali bahwa kelipatan benar-benar nol, Anda akan mengamati bahwa pola nol ini di posisi merah berlaku. Ini adalah arti di mana polinomial bivariat itu "ortogonal."P 10−17
sumber
R
menghitung tetapi seharusnya tidak ?