Dalam beberapa literatur, saya telah membaca bahwa regresi dengan berbagai variabel penjelas, jika dalam unit yang berbeda, perlu distandarisasi. (Standarisasi terdiri dari pengurangan mean dan pembagian dengan deviasi standar.) Dalam kasus lain apa saya perlu melakukan standarisasi data? Apakah ada kasus di mana saya hanya harus memusatkan data saya (yaitu, tanpa membagi dengan standar deviasi)?
multiple-regression
standardization
centering
mathieu_r
sumber
sumber
Jawaban:
Dalam regresi, sering direkomendasikan untuk memusatkan variabel sehingga prediktor memiliki rata-rata . Ini membuatnya sehingga istilah intersep diinterpretasikan sebagai nilai yang diharapkan dari ketika nilai-nilai prediktor diatur ke sarana mereka . Kalau tidak, intersep ditafsirkan sebagai nilai yang diharapkan dari ketika prediktor ditetapkan ke 0, yang mungkin bukan situasi yang realistis atau dapat ditafsirkan (misalnya bagaimana jika prediktornya tinggi dan berat?). Alasan praktis lain untuk penskalaan dalam regresi adalah ketika satu variabel memiliki skala yang sangat besar, misalnya jika Anda menggunakan ukuran populasi suatu negara sebagai prediktor. Dalam hal itu, koefisien regresi mungkin sangat0 Yi Yi urutan kecil besarnya (misalnya ) yang dapat sedikit mengganggu ketika Anda membaca output komputer, jadi Anda dapat mengubah variabel menjadi, misalnya, ukuran populasi dalam jutaan. Konvensi yang Anda standarisasi prediksi utamanya ada sehingga satuan koefisien regresi sama.10−6
Seperti @gung menyinggung dan @ MånsT menunjukkan secara eksplisit (+1 untuk keduanya, btw), pemusatan / penskalaan tidak memengaruhi inferensi statistik Anda dalam model regresi - estimasi disesuaikan dengan tepat dan nilai- akan sama.p
Situasi lain di mana pemusatan dan / atau penskalaan mungkin berguna:
ketika Anda mencoba menjumlahkan atau variabel rata-rata yang ada di skala yang berbeda , mungkin untuk membuat skor komposit semacam. Tanpa penskalaan, ini mungkin merupakan kasus bahwa satu variabel memiliki dampak yang lebih besar pada jumlah karena murni skalanya, yang mungkin tidak diinginkan.
Untuk menyederhanakan perhitungan dan notasi. Misalnya, matriks kovarians sampel dari matriks nilai yang dipusatkan dengan sarana sampelnya hanyalah . Demikian pula, jika variabel acak univariat telah berpusat rata-rata, maka dan varians dapat diperkirakan dari sampel dengan melihat rata-rata sampel dari kuadrat yang diamati. nilai-nilai.X′X X var(X)=E(X2)
Terkait dengan yang disebutkan di atas, PCA hanya dapat diartikan sebagai dekomposisi nilai singular dari matriks data ketika kolom pertama kali dipusatkan dengan cara mereka.
Perhatikan bahwa penskalaan tidak diperlukan dalam dua poin terakhir yang saya sebutkan dan pemusatan mungkin tidak diperlukan dalam poin pertama yang saya sebutkan, sehingga keduanya tidak perlu berjalan beriringan setiap saat.
sumber
Anda telah menemukan kepercayaan yang sama. Namun, secara umum, Anda tidak perlu memusatkan atau membakukan data Anda untuk regresi berganda. Variabel penjelas yang berbeda hampir selalu pada skala yang berbeda (yaitu, diukur dalam unit yang berbeda). Ini bukan masalah; beta diperkirakan sedemikian rupa sehingga mereka mengkonversi satuan dari masing-masing variabel penjelas menjadi satuan variabel tanggapan dengan tepat. Satu hal yang kadang-kadang orang katakan adalah bahwa jika Anda telah membuat standar variabel Anda terlebih dahulu, Anda kemudian dapat menafsirkan beta sebagai ukuran penting. Misalnya, jika , danβ1=.6 β2=.3 , maka variabel penjelas pertama dua kali lebih penting dari yang kedua. Meskipun ide ini menarik, sayangnya, itu tidak valid. Ada beberapa masalah, tetapi mungkin yang paling mudah untuk diikuti adalah Anda tidak memiliki cara untuk mengontrol kemungkinan batasan rentang dalam variabel. Menyimpulkan 'pentingnya' variabel penjelas yang berbeda relatif satu sama lain adalah masalah filosofis yang sangat rumit. Tidak ada yang menyarankan bahwa standardisasi itu buruk atau salah , hanya saja itu biasanya tidak diperlukan .
Satu-satunya kasus yang bisa saya pikirkan adalah bagian atas kepala saya di mana keterpusatan membantu adalah sebelum membuat istilah daya. Katakanlah Anda memiliki variabel, , yang berkisar dari 1 hingga 2, tetapi Anda curiga hubungan curvilinear dengan variabel respons, dan karenanya Anda ingin membuat istilah . Jika Anda tidak memusatkan terlebih dahulu, istilah kuadrat Anda akan sangat berkorelasi dengan , yang dapat memperkeruh estimasi beta. Pemusatan pertama mengatasi masalah ini.X X2 X X
(Pembaruan ditambahkan jauh kemudian :) Kasus analog yang saya lupa sebutkan adalah membuat istilah interaksi . Jika istilah interaksi / produk dibuat dari dua variabel yang tidak berpusat pada 0, sejumlah jumlah collinearity akan diinduksi (dengan jumlah yang tepat tergantung pada berbagai faktor). Pemusatan pertama mengatasi masalah potensial ini. Untuk penjelasan yang lebih lengkap, lihat jawaban yang sangat bagus ini dari @Affine: Diagnostik collinearity hanya bermasalah ketika istilah interaksi dimasukkan .
sumber
Selain komentar dalam jawaban lain, saya ingin menunjukkan bahwa skala dan lokasi variabel penjelas tidak memengaruhi validitas model regresi dengan cara apa pun.
Pertimbangkan model .y=β0+β1x1+β2x2+…+ϵ
The kuadrat estimator setidaknya dari tidak terpengaruh oleh pergeseran. Alasannya adalah bahwa ini adalah kemiringan permukaan yang pas - seberapa banyak permukaan berubah jika Anda mengubah satu unit. Ini tidak tergantung pada lokasi. (Namun, estimator tidak.)β1,β2,… x1,x2,… β0
Dengan melihat persamaan untuk estimator Anda dapat melihat bahwa skala dengan faktor timbangan dengan faktor . Untuk melihat ini, perhatikan itux1 a β^1 1/a
Jadi
Dengan melihat rumus yang sesuai untuk (misalnya) jelas (mudah-mudahan) jelas bahwa penskalaan ini tidak memengaruhi penaksir lereng lainnya.β^2
Dengan demikian, penskalaan sama dengan penskalaan lereng yang sesuai.
Seperti yang ditunjukkan gung, beberapa orang suka mengubah skala dengan standar deviasi dengan harapan bahwa mereka akan dapat menafsirkan betapa "pentingnya" variabel-variabel yang berbeda itu. Meskipun praktik ini dapat dipertanyakan, dapat dicatat bahwa ini terkait dengan pemilihan dalam perhitungan di atas, di mana adalah standar deviasi (yang dalam hal aneh dikatakan dimulai, karena adalah diasumsikan bersifat deterministik).ai=1/si si x1 xi
sumber
Jika Anda menggunakan gradient descent agar sesuai dengan model Anda, kovariat standardisasi dapat mempercepat konvergensi (karena ketika Anda memiliki kovariat unscaled, parameter yang sesuai mungkin mendominasi gradien secara tidak tepat). Untuk menggambarkan hal ini, beberapa kode R:
Juga, untuk beberapa aplikasi SVM, penskalaan dapat meningkatkan kinerja prediktif: Penskalaan fitur dalam deskripsi data vektor dukungan .
sumber
Saya lebih suka "alasan kuat" untuk pemusatan dan standardisasi (mereka sangat sering ada). Secara umum, mereka lebih berkaitan dengan set data dan masalah daripada dengan metode analisis data.
Sangat sering, saya lebih suka memusatkan (yaitu menggeser asal data) ke titik lain yang secara fisik / kimia / biologis / ... lebih bermakna daripada rata-rata (lihat juga jawaban Makro), misalnya
rata-rata dari kelompok kontrol
sinyal kosong
Stabilitas numerik adalah alasan terkait algoritma untuk memusatkan dan / atau mengecilkan data.
Lihat juga pertanyaan serupa tentang standardisasi . Yang juga mencakup "pusat saja".
sumber
Untuk mengilustrasikan masalah stabilitas numerik yang disebutkan oleh @cbeleites, berikut adalah contoh dari Simon Wood tentang cara "memecah"
lm()
. Pertama kita akan menghasilkan beberapa data sederhana dan cocok dengan kurva kuadratik sederhana.Tetapi jika kita menambahkan 900 ke X, maka hasilnya harus hampir sama kecuali bergeser ke kanan, bukan? Sayangnya tidak...
Edit untuk menambahkan komentar oleh @Scortchi - jika kita melihat objek yang dikembalikan oleh lm () kita melihat bahwa istilah kuadratik belum diperkirakan dan ditampilkan sebagai NA.
Dan memang seperti yang disarankan oleh @Scortchi, jika kita melihat matriks model dan mencoba menyelesaikannya secara langsung, itu "pecah".
Namun,
lm()
tidak memberi saya peringatan atau pesan kesalahan selain dariNA
s padaI(X^2)
barissummary(B)
di R-3.1.1. Algoritme lain tentu saja dapat "rusak" dengan cara yang berbeda dengan contoh yang berbeda.sumber
lm
gagal memperkirakan koefisien untuk istilah kuadratik, & memberi peringatan tentang matriks desain tunggal - mungkin lebih menggambarkan masalah secara langsung daripada plot-plot ini.Saya ragu dengan serius apakah memusatkan atau membakukan data asli dapat benar-benar mengurangi masalah multikolinieritas ketika istilah kuadrat atau istilah interaksi lainnya dimasukkan dalam regresi, karena beberapa dari Anda, terutama gung, telah merekomendasikan di atas.
Untuk mengilustrasikan poin saya, mari kita pertimbangkan contoh sederhana.
Misalkan spesifikasi yang sebenarnya mengambil bentuk sebagai berikut
Jadi persamaan OLS yang sesuai diberikan oleh
di mana adalah nilai yang pas dari , adalah residual, - menunjukkan perkiraan OLS untuk - - parameter yang akhirnya kami minati. Untuk kesederhanaan, biarkan sesudahnya.yi^ yi ui b0^ b2^ b0 b2 zi=x2i
Biasanya, kita tahu dan cenderung sangat berkorelasi dan ini akan menyebabkan masalah multikolinieritas. Untuk mengurangi ini, saran populer akan memusatkan data asli dengan mengurangi rata-rata dari sebelum menambahkan istilah kuadrat.x x2 yi yi
Cukup mudah untuk menunjukkan bahwa rata-rata diberikan sebagai berikut: mana , , menunjukkan cara masing-masing , dan .yi
Karenanya, mengurangkany¯ yi
Singkatnya, jika pemahaman saya tentang pemusatan adalah benar, maka saya tidak berpikir bahwa pemusatan data akan membantu untuk mengurangi masalah MC yang disebabkan oleh memasukkan istilah kuadrat atau persyaratan tingkat tinggi lainnya ke dalam regresi.
Saya akan senang mendengar pendapat Anda!
sumber
x = c(1,2,3); x2 = x^2; cor(x, x2); # [1] 0.9897433; xc = c(-1,0,1); xc2 = xc^2; cor(xc, xc2) # [1] 0
.