Проаналізуйте пропорції


13

У мене є набір даних, що містить декілька пропорцій, які складають до 1. Мене цікавить зміна цих пропорцій уздовж градієнта (див. Нижче, наприклад, дані).

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()

введіть тут опис зображення

Додаткова інформація: Це не обов'язково повинно бути лінійним, я це робив просто для прикладу. Оригінальні підрахунки, з яких обчислюються ці пропорції, також доступні. Справжній набір даних містить більше змінних, що додають до 1 (наприклад, B1, B2 і B3, C1 до C4 тощо) - тому натяк на багатоваріантне рішення також буде корисним ... Але поки я буду дотримуватися універсаріат сторона статистики.

Питання: Як можна аналізувати подібні дані? Я трохи почитав, і, можливо, підходить багаточленна модель або glm? - Якщо я виконую 3 (або 2) glms, як я можу включити обмеження, що передбачувані значення дорівнюють 1? Я не хочу лише будувати такі дані, я також хочу зробити більш глибоку регресію, як аналіз. Я бажаю використовувати R - як це зробити в R?


Команда proprcsplineв Stata може бути тим, що ви шукаєте (я знаю, що ви хочете використовувати R, але, можливо, це може бути відправною точкою): proprcspline обчислює обмежений кубічний сплайн з рівнем пропорцій спостережень у кожній категорії yvar, що дається xvar, і графік їх як складений графік площі. Необов'язково, ці згладжені пропорції можна регулювати для набору контрольних змінних (cvars).
боскович

Не могли б ви детальніше розібратися, що означає "зацікавлений"? Ви просто хочете побудувати пропорції проти градієнта? Або ви маєте на увазі глибший аналіз? Якщо так, яка його природа - що саме ви сподіваєтесь дізнатися з цих даних? Крім того, чи є у вас початкові підрахунки (що було б добре) або лише пропорції? Не могли б ви сказати трохи більше про те, з чого складаються ці дані та як вони збираються?
whuber

1
@whuber: Я хочу зробити більш глибокий аналіз з цими даними. Моя гіпотеза - пропорції будуть змінюватися з градієнтом. Підрахунки також доступні.
EDi

1
Здається, у вас є композиційні дані. Я не знаю багато про це, але робота Ейчісона - це місце для початку. На CRAN є пакет, композиції.
Аарон покинув Стек Переповнення

Відповіді:


13

В одному вимірі це звучить як робота для бета-регресії (з змінною дисперсією або без неї). Це регресійна модель із змінною бета-розподіленою змінною, природно обмеженою 0-1. Пакет R - це бетарег, і документ, що описує його використання, знаходиться тут .
За більш ніж двох пропорцій звичайне розширення бета-версії призводить до регресії Діріхле. Доступний R-пакет DirichletReg , описаний, наприклад, тут .

Є деякі причини не використовувати посилання logit і багаточленну логістичну регресію для справжніх композиційних даних, здебільшого це стосується того, які сильні припущення мають на увазі для дисперсії. Однак, якщо ваші дані все на самому справі нормовані відліки (змісту?), Ці припущення можуть бути правильними і пропозиція Петра, ймовірно , буде шляхом.


Дякую за посилання, я перегляну їх. DirichletReg виглядає перспективно! Наприклад, слайд 3 вашого посилання: "Якщо" ймовірність "відповіді в певній категорії поширена на вибір, підхід Діріхле є більш інформативним." . Тому що я не знав, як це зробити з mlogit, тому що вибір не повинен бути унікальним. Також хороший спосіб графічної репрезентації - не задумувався над цим ...
EDi

Для графіки вам можуть бути корисні функції splineplot та cdplot . Дійсно, якщо ви просто хотіли встановити лінії та не потребували великої кількості регресійної техніки, то, ймовірно, ви могли б примусити cdplot дати вам відповідні криві (це лише густина під ними)
кон'югатор

Вибачте, я мав на увазі, що я мав на увазі набрати spineplot вище, очевидно.
кон'югатприор

Зауважте, що пакет DirichletReg тепер доступний на CRAN , а віньєтка була опублікована.
jbaums

4

Я не впевнений, що саме ви намагаєтесь з’ясувати, але як щодо багаточленної логістичної регресії з градієнтом як незалежною змінною?

У R одним із способів цього є функція mlogit у бібліотеці mlogit. Дивіться цю віньєтку

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.