Analisis proporsi


13

Saya memiliki dataset yang berisi banyak proporsi yang menambahkan hingga 1. Saya tertarik pada perubahan proporsi ini sepanjang gradien (lihat di bawah untuk contoh data).

gradient <- 1:99
A1 <- gradient * 0.005
A2 <- gradient * 0.004
A3 <- 1 - (A1 + A2)

df <- data.frame(gradient = gradient,
                 A1 = A1,
                 A2 = A2,
                 A3 = A3)

require(ggplot2)
require(reshape2)
dfm <- melt(df, id = "gradient")
ggplot(dfm, aes(x = gradient, y = value, fill = variable)) +
  geom_area()

masukkan deskripsi gambar di sini

Informasi tambahan: Tidak perlu linier, saya melakukan ini hanya untuk kemudahan contoh. Hitungan asli dari mana proporsi ini dihitung juga tersedia. Dataset nyata berisi lebih banyak variabel yang ditambahkan hingga 1 (misalnya B1, B2 & B3, C1 ke C4, dll) - jadi petunjuk untuk solusi multivarian juga akan sangat membantu ... Tapi untuk saat ini saya akan tetap menggunakan univariat sisi statistik.

Pertanyaan: Bagaimana kita bisa menganalisis data seperti itu? Saya sudah membaca sedikit di sekitar, dan mungkin model multinomial atau glm cocok? - Jika saya menjalankan 3 (atau 2) glms, bagaimana saya bisa memasukkan batasan yang nilainya diprediksi berjumlah 1? Saya tidak ingin hanya memplot data seperti itu, saya juga ingin melakukan regresi yang lebih dalam seperti analisis. Saya lebih suka ingin menggunakan R - bagaimana saya bisa melakukan ini di R?


Perintah proprcsplinedalam Stata mungkin adalah apa yang Anda cari (saya tahu Anda ingin menggunakan R, tetapi mungkin ini bisa menjadi titik awal): proprcspline menghitung spline kubik terbatas halus dari proporsi pengamatan di setiap kategori yvar diberikan xvar, dan grafik mereka sebagai plot area bertumpuk. Secara opsional, proporsi yang dihaluskan ini dapat disesuaikan untuk satu set variabel kontrol (cvars).
boscovich

Bisakah Anda menguraikan arti "tertarik"? Apakah Anda hanya ingin merencanakan proporsi terhadap gradien? Atau apakah Anda memiliki analisis yang lebih mendalam? Jika demikian, apa sifatnya - apa yang sebenarnya Anda harap dapat pelajari dari data ini? Juga, apakah Anda memiliki jumlah asli yang tersedia (yang akan baik) atau hanya proporsinya? Bisakah Anda mengatakan sedikit lebih banyak tentang apa data ini terdiri dan bagaimana mereka dikumpulkan?
whuber

1
@whuber: Saya ingin melakukan analisis yang lebih dalam dengan data ini. Hipotesis saya adalah proporsi akan berubah dengan gradien. Hitungannya juga tersedia.
EDi

1
Sepertinya Anda memiliki data komposisi. Saya tidak tahu banyak tentang itu, tetapi pekerjaan Aitchison adalah tempat untuk memulai. Ada paket, komposisi, di CRAN.
Aaron meninggalkan Stack Overflow

Jawaban:


13

Dalam satu dimensi, ini terdengar seperti pekerjaan untuk regresi beta (dengan atau tanpa dispersi variabel). Ini adalah model regresi dengan variabel dependen terdistribusi beta, secara alami 0-1 dibatasi. Paket R adalah betareg dan kertas yang menjelaskan penggunaannya ada di sini .
Untuk lebih dari dua proporsi, perpanjangan biasa distribusi Beta mengarah ke regresi Dirichlet. Paket R DirichletReg tersedia, dijelaskan misalnya di sini .

Ada beberapa alasan untuk tidak menggunakan tautan logit dan regresi logistik multinomial untuk data komposisi yang benar, sebagian besar berkaitan dengan asumsi kuat apa yang mereka maksudkan untuk varian. Namun, jika data Anda semua benar - benar dinormalkan hitungan (kelimpahan?), Asumsi-asumsi itu mungkin benar dan saran Peter mungkin akan menjadi cara untuk pergi.


Terima kasih atas tautannya, saya akan melihatnya. DirichletReg terlihat menjanjikan! Misalnya Geser 3 dari tautan Anda: "Jika 'probabilitas' untuk menjawab dalam kategori tertentu tersebar di seluruh pilihan, pendekatan Dirichlet lebih informatif." . Karena saya tidak tahu bagaimana melakukan ini dengan mlogit, karena pilihannya tidak perlu unik. Juga cara yang bagus untuk penyajian grafis - belum memikirkan tentang itu ...
EDI

Untuk grafik, Anda mungkin menemukan fungsi splineplot dan cdplot bermanfaat. Memang jika Anda hanya menginginkan garis yang pas dan tidak membutuhkan banyak mesin regresi maka Anda mungkin bisa membujuk cdplot agar memberi Anda kurva yang relevan (hanya kepadatan di bawahnya)
conjugateprior

Maaf, saya bermaksud mengetik spineplot di atas, jelas.
conjugateprior

Perhatikan bahwa paket DirichletReg sekarang tersedia di CRAN , dan sketsa telah diterbitkan.
jbaums

4

Saya tidak yakin persis apa yang ingin Anda cari tahu, tetapi bagaimana dengan regresi logistik multinomial dengan gradien sebagai variabel independen?

Di R, salah satu cara untuk melakukan ini adalah fungsi mlogit di perpustakaan mlogit. Lihat sketsa ini

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.