Saya mencoba menyesuaikan model linier pada beberapa data hanya dengan satu prediktor (katakanlah (x, y)). Data sedemikian rupa sehingga untuk nilai x yang kecil, nilai y memberikan kesesuaian yang ketat dengan garis lurus, namun begitu nilai x meningkat, nilai y menjadi lebih tidak stabil. Berikut adalah contoh dari data tersebut (kode R)
y = c(3.2,3.4,3.5,3.8,4.2,5.5,4.5,6.8,7.4,5.9)
x = seq(1,10,1)
Saya ingin tahu apakah ada transformasi daya (Box cox mungkin?) Yang memungkinkan saya mendapatkan kecocokan yang lebih baik untuk data daripada sekadar melakukan pencocokan linear seperti yang ditunjukkan di bawah ini.
fit = lm(y ~ x)
r
regression
variance
data-transformation
Brokoli
sumber
sumber
Jawaban:
Paket MASS yang datang dengan R Anda sudah terinstal, memiliki
boxcox()
fungsi yang dapat Anda gunakan: Setelah membaca data, lakukan:Kemudian lihat grafik yang dihasilkan ini, yang menunjukkan secara grafis interval kepercayaan 95% untuk parameter transformasi boxcox. Tetapi Anda tidak benar-benar memiliki data yang cukup (n = 10) untuk melakukan ini, interval kepercayaan yang dihasilkan hampir dari -2 ke 2!, Dengan perkiraan kemungkinan maksimum sekitar 0 (log-transform, seperti yang dikatakan sebelumnya). Jika data nyata Anda memiliki lebih banyak pengamatan, Anda harus mencoba ini.
Seperti yang orang lain katakan, transformasi ini benar-benar berusaha menstabilkan varian. Ini tidak benar-benar jelas dari teori, apa yang dilakukannya, adalah mencoba untuk memaksimalkan fungsi kemungkinan berbasis distribusi normal, yang mengasumsikan varians konstan. Orang dapat berpikir bahwa memaksimalkan kemungkinan berdasarkan normal akan mencoba untuk menormalkan distribusi residu, tetapi dalam praktiknya kontribusi utama untuk memaksimalkan kemungkinan berasal dari menstabilkan varian. Ini mungkin tidak begitu mengejutkan, mengingat bahwa kemungkinan kita memaksimalkan didasarkan pada varian normal keluarga distribusi normal!
Saya pernah menulis demo berbasis slider di XLispStat, yang menunjukkan ini dengan jelas!
sumber
Ketika Anda memiliki hubungan linear, tetapi varians tidak sama maka Anda biasanya perlu mengubah baik x dan y untuk mendapatkan hubungan linier dengan varians yang sama (atau hanya menggunakan regresi kuadrat terkecil tertimbang pada variabel yang tidak diubah).
Prosedur AVAS dapat digunakan untuk menyarankan kemungkinan transformasi.
sumber
glm
kerangka kerja dengan fungsi tautan Poisson memotongnya?Nah, di R Anda bisa mencoba ini:
Tapi itu benar-benar tergantung pada apa yang Anda maksud dengan 'lebih cocok dengan data'
sumber
baik jika semua data Anda untuk x tidak negatif maka Anda dapat menggunakan kotak transformasi cox ... untuk memperkirakan nilai ideal dari parameter lambda dari transformasi Anda dapat menggunakan matlab ... http://www.mathworks.in/ bantuan / keuangan / boxcox.html
sumber