Memulihkan koefisien mentah dan varian dari regresi polinomial ortogonal


14

Tampaknya jika saya memiliki model regresi seperti berfungsi dalam R tidak. Saya juga tidak menemukan apa pun di pencarian web saya, termasuk di sini. Apakah merekonstruksi koefisien mentah (dan mendapatkan variansnya) dari koefisien yang dipasang pada polinomial ortogonal ...yiβ0+β1xi+β2xi2+β3xi3Saya dapat memasukkan polinomial mentah dan mendapatkan hasil yang tidak dapat diandalkan atau cocok dengan polinom ortogonal dan mendapatkan koefisien yang tidak memiliki interpretasi fisik langsung (misalnya saya tidak dapat menggunakannya untuk menemukan lokasi ekstrema pada skala asli). Sepertinya saya harus dapat memiliki yang terbaik dari kedua dunia dan dapat mengubah koefisien ortogonal yang pas dan variansnya kembali ke skala mentah. Saya telah mengambil kursus pascasarjana dalam regresi linier terapan (menggunakan Kutner, 5ed) dan saya melihat bab regresi polinomial dalam Draper (3ed, disebut oleh Kutner) tetapi tidak menemukan diskusi tentang bagaimana melakukan ini. Teks bantuan untukpoly()

  1. mustahil untuk dilakukan dan saya membuang-buang waktu.
  2. mungkin mungkin tetapi tidak diketahui bagaimana dalam kasus umum.
  3. mungkin tetapi tidak dibahas karena "siapa yang mau?"
  4. mungkin tetapi tidak dibahas karena "sudah jelas".

Jika jawabannya 3 atau 4, saya akan sangat berterima kasih jika seseorang memiliki kesabaran untuk menjelaskan bagaimana melakukan ini atau menunjuk ke sumber yang melakukannya. Jika angka 1 atau 2, saya masih penasaran untuk mengetahui apa hambatannya. Terima kasih banyak untuk membaca ini, dan saya minta maaf sebelumnya jika saya melihat sesuatu yang jelas.


1
Saya tidak mengerti maksud Anda. x, x 2 dan x 3 tidak ortogonal. Oleh karena itu mereka berkorelasi dan parameter regresi mungkin tidak stabil, tetapi tidak secara otomatis mereka tidak dapat diandalkan. Konversi ke polinomial ortognonal mungkin lebih dapat diandalkan. Tetapi apa yang membuat koefisien kekuatan asli x lebih dapat ditafsirkan daripada koefisien polinomial ortogonal? Jika x adalah satu-satunya variabel seperti dalam model y = a + bx maka ∆y = yi-yi-1 = b∆x dan b dapat ditafsirkan sebagai perubahan y per unit berubah dalam x. Tetapi dengan kekuatan yang terlibat interpretasi seperti itu hilang. 23
Michael R. Chernick

Saya menggunakan model dengan hanya x sebagai variabel untuk kesederhanaan, tetapi pada kenyataannya saya membandingkan kurva antara kelompok perlakuan. Jadi, tergantung pada istilah mana yang signifikan dan besarnya, saya dapat menafsirkannya - misalnya pergeseran keseluruhan ke atas / ke bawah, atau kemiringan awal yang lebih besar / lebih kecil. Juga, seperti pertanyaan saya katakan, perbandingan alami untuk membuat antara kurva adalah lokasi maxima / minima, yang lebih mudah untuk ditafsirkan jika itu pada skala asli. Jadi, pilihan Anda untuk pilihan 3, saya ambil?
f1r3br4nd

Tidak, saya belum tahu apakah itu mungkin atau belum. Saya hanya mengerti mengapa Anda ingin melakukannya.
Michael R. Chernick

4
Nah, perhatikan bahwa model yang sesuai dengan polinomial ortogonal akan memiliki kesesuaian yang sama persis (yaitu sama, nilai yang dipasang sama, dll.) Seperti model yang sesuai dengan istilah polinomial mentah. Jadi, jika Anda ingin mengaitkan ini kembali ke data asli, Anda dapat melihat koefisien untuk istilah mentah tetapi menggunakan polinomial ortogonal untuk melakukan inferensi untuk istilah individual dengan cara yang "memperhitungkan" ketergantungan di antara mereka . R2
Makro

1
Ternyata, splines kubik dan B-splines berada dalam kelas sendiri, dan merupakan yang terbaik dari dua dunia.
Carl

Jawaban:


6

Iya itu mungkin.

Mari menjadi bagian non-konstan polinomial orthogonal dihitung dari x i . (Masing-masing adalah vektor kolom.) Menekan ini terhadap x i harus memberikan yang sempurna. Anda dapat melakukan ini dengan perangkat lunak bahkan ketika itu tidak mendokumentasikan prosedurnya untuk menghitung polinomial ortogonal. Regresi z j menghasilkan koefisien γ i j yangz1,z2,z3xixizjγij

zij=γj0+xiγj1+xi2γj2+xi3γj3.

Hasilnya adalah matriks Γ bahwa, setelah perkalian kanan, mengubah matriks desain X = ( 1 ; x ; x 2 ; x 3 ) ke Z = ( 1 ; z 1 , z 2 ; z 3 ) = X Γ .4×4ΓX=(1;x;x2;x3)

(1)Z=(1;z1;z2;z3)=XΓ.

Setelah pas model

E(Y)=Zβ

β^(1)

Y^=Zβ^=(XΓ)β^=X(Γβ^).

Γβ^x

RKode berikut menggambarkan prosedur ini dan mengujinya dengan data sintetis.

n <- 10        # Number of observations
d <- 3         # Degree
#
# Synthesize a regressor, its powers, and orthogonal polynomials thereof.
#
x <- rnorm(n)
x.p <- outer(x, 0:d, `^`); colnames(x.p) <- c("Intercept", paste0("x.", 1:d))
z <- poly(x, d)
#
# Compute the orthogonal polynomials in terms of the powers via OLS.
#
xform <- lm(cbind(1, z) ~ x.p-1)
gamma <- coef(xform)
#
# Verify the transformation: all components should be tiny, certainly
# infinitesimal compared to 1.
#
if (!all.equal(as.vector(1 + crossprod(x.p %*% gamma - cbind(1,z)) - 1), 
    rep(0, (d+1)^2)))
  warning("Transformation is inaccurate.")
#
# Fit the model with orthogonal polynomials.
#
y <- x + rnorm(n)
fit <- lm(y ~ z)
#summary(fit)
#
# As a check, fit the model with raw powers.
#
fit.p <- lm(y ~ .-1, data.frame(x.p))
#summary(fit.p)
#
# Compare the results.
#
(rbind(Computed=as.vector(gamma %*% coef(fit)), Fit=coef(fit.p)))

if (!all.equal(as.vector(gamma %*% coef(fit)), as.vector(coef(fit.p))))
  warning("Results were not the same.")

Γ

110161

Dua tahun kemudian ... @whuber, mungkinkah untuk memperluas ini ke 95% CI dari koefisien juga?
user2602640

@ user2602640 Ya. Anda perlu mengekstraksi matriks varians-kovarians dari koefisien (gunakan vcovdalam R) untuk mengubah varians yang dihitung dalam satu basis menjadi varians dalam basis baru, dan kemudian menghitung CI secara manual dengan cara biasa.
whuber

@whuber Saya mengikuti komentar Anda tentang setengah jalan, kemudian kehilangan Anda sepenuhnya ... setiap kesempatan Anda akan mengasihani ahli biologi yang ditantang secara matematis dan menuliskannya dalam kode?
user2602640
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.