Apakah polinomial ortogonal multivariat yang dihitung dalam R?


12

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.

z1=a1+b1x
z2=a2+b2x+c2x2
z3=a3+b3x+c3x2+d3x3
ziT·zj=0ij

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).zixx

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.x

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".Rn


Apa maksud Anda ketika Anda mengatakan bahwa polinomial pada suatu titik tidak berkorelasi? Variabel stokastik dapat tidak berkorelasi; vektor dapat memiliki produk titik sama dengan nol.
Superpronker

Ketika dievaluasi pada set poin yang terbatas, kita mendapatkan satu set nilai untuk setiap polinomial. Kita dapat menghitung korelasi antara set nilai tersebut dan untuk polinomial ortogonal kita mendapatkan korelasi nol. Karena korelasi terkait dengan kovarians dan kovarians terkait dengan produk titik, saya berasumsi bahwa nol korelasi dan produk nol titik adalah setara.
Pere

Maaf jika saya salah paham, tapi saya masih tidak mengikuti. Korelasi adalah antara dua vektor di mana Anda memiliki, katakanlah, N pengamatan masing-masing. Apakah maksud Anda bahwa istilah pesanan pertama dan kedua harus tidak berkorelasi? Maka itu tergantung pada titik di mana Anda mengevaluasi. Pada [-1; 1] mereka bukan tetapi pada [0; 1] mereka. Saya pikir Anda intuisi untuk hubungan antara ortogonalitas dan tidak berkorelasi tidak tepat.
Superpronker

Saya memperbarui pertanyaan dengan ini, meskipun dalam konteks regresi ortogonalitas dan tidak berkorelasi hampir sinonim. Saya menautkan sumber. Dan ya, itu tergantung pada poin yang kami evaluasi. Argumen orde pertama poli adalah vektor titik yang kami evaluasi dan langkah pertama dari contoh saya adalah pembuatan vektor titik untuk dievaluasi. Dalam regresi kami tertarik pada vektor ortogonal pada nilai-nilai prediktor kami.
Pere

Saya pikir penyalahgunaan notasi lebih bermasalah daripada yang terlihat; ortogonalitas dari dua polinomial tidak didefinisikan sebagai titik produk menjadi nol di mana pun Anda mengevaluasi polinomial. Sebaliknya, dua istilah polinomial (dari pesanan yang berbeda) harus memiliki produk titik nol dalam "arti fungsi"; dan produk titik untuk fungsi biasanya integral dengan beberapa ukuran (mis. Fungsi Bobot). Lihat en.m.wikipedia.org/wiki/Orthogonal_polynomials . Jika saya benar, ini menjelaskan kebingungan. Tetapi di wiki ada komentar tentang hubungannya dengan momen.
Superpronker

Jawaban:


5

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 Rartinya" 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×kXXnX1,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

X1d1X2d2Xkdk

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.diX1X0n1X1=XX.

Kami bermaksud untuk mengganti model matriks asli dengan koleksi kombinasi monomial. Ketika tingkat setidaknya satu dari monomial ini melebihi ini disebut regresi polinomial.X1,

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 2X d k kXiX1d1X2d2Xkdk

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 dalamXd+1,d+1X,dX.

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

  1. 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.)

  2. 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,Xp0(X),p1(X),p2(X),XX

  1. 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.X0nX1X

  2. The yang saling orthogonal dalam arti bahwa untukpi(X)ij,

    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))
PP=Id+1.
PPId+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),n1=(1,1,,1)±1/n1.

  • 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.X1,X^=X¯1.ϵ=XX^p1(X)=±(1/||ϵ||)ϵ.

...

  • Secara umum, diperoleh dengan melakukan regresi terhadap dan mengubah residu menjadi vektor unit panjangnya. Ada dua pilihan tanda ketika residual tidak semuanya nol. Kalau tidak, prosesnya berakhir: akan sia-sia untuk melihat kekuatan lebih tinggi (Ini adalah teorema yang bagus tapi buktinya tidak perlu mengganggu kita di sini.)pd+1(X)Xd+1p0(X),p1(X),,pd(X)X.

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 Ryang

Perangkat lunak untuk regresi polinomial cenderung berfokus pada komputasi urutan polinomial ortogonal univariat . Merupakan karakteristik untuk Rmemperluas dukungan tersebut secara otomatis ke kelompok polinomial univariat. Ini apa poly. (Pendampingnya polympada dasarnya adalah kode yang sama, dengan lonceng dan peluit yang lebih sedikit; dua fungsi melakukan hal yang sama.)

Secara khusus, polyakan 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 kembaliX,d.dX1,,XkX,

  1. Urutan 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)jd.p0(Xi)R

  2. 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.2d=2, R

p1(X1),p2(X1),p1(X2),p1(X1)p1(X2),p2(X2).

Rtidak 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 .)p2(X1)p1(X2), p1(X1)p2(X2)p1(X2)p2(X2)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=(135624).

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)X10=(1,1,1)p0(X1)=(1,1,1)/3(0.58,0.58,0.58).X11=X1p0(X1),X1p0(X1)p1(X1)X1p1(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.)X12=(1,25,4)p0(X1)p1(X1)X1n=3X1,(t1)(t5)(t4),3,3

Matriks yang dihasilkan mewakili urutan polinomial ortonormal untuk adalahX1

P1=(0.580.570.590.580.790.200.580.230.78)

(untuk dua angka penting).

Dengan cara yang sama, matriks polinomial ortonormal untuk adalahX2

P2=(0.580.620.530.580.770.270.580.150.80).

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).polypolym

P=(0.570.590.620.350.530.790.200.770.610.270.230.780.150.0350.80).

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 (X1X2PP,(1,2),(2,1),(3,5),(5,3)(1,1),(2,2),(3,3),(5,5)(4,4)dalam contoh ini). Memang,

PP=(1010.280.091010.0910.3110.09110.2500.280.30.250.50.320.091100.321).

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."P1017


1
(+1) Sangat bagus dibaca seperti biasa. Saya percaya ada kesalahan ketik kecil: Anda menulis yang Rmenghitung tetapi seharusnya tidak ? p1(X1)p2(X2)p1(X1)p1(X2)
COOLSerdash

1
@ Cool Tangkapan yang bagus - diperbaiki sekarang.
whuber

1
Terima kasih atas jawaban yang bagus itu. Fakta bahwa jawabannya tiba lama setelah saya kehilangan harapan di dalamnya dijawab membuat kejutan yang sangat menyenangkan.
Pere

Dan saya pikir ada kesalahan ketik kecil lain: Saya pikir " sendiri" pada paragraf ke-4 dimaksudkan sebagai " itu sendiri". X 1 = XX1=XX1=X
Pere

Benar sekali. Saya bersyukur Anda membaca teks ini begitu dekat sehingga Anda menemukan kesalahan ini!
whuber
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.