Пристосування експоненціальної моделі до даних


21

У мене є дві змінні, обидві з класу "числові":

> head(y)
[1] 0.4651804 0.6185849 0.3766175 0.5489810 0.3695258 0.4002567

> head(x)
[1] 59.32820 68.46436 80.76974 132.90824 216.75995 153.25551

Я побудував їх, і тепер я хотів би встановити експоненціальну модель до даних (і додати її до графіку), але не можу знайти жодної інформації про примірні моделі для багатовимірних даних у R! Тільки для однозначних даних може хтось допомогти? Я навіть не знаю, з чого почати ... Дякую!


6
Це трохи заплутано. Ви кажете, що у вас є дві "незалежні" змінні (я віддаю перевагу "предиктору", але це не важливо). Чи є у вас змінні "залежні" / "відповіді"? Якщо це обидві змінні відповіді, я можу уявити, що підходить параметричний, двовимірний розподіл ймовірностей (із змінними провісника або без нього, від яких залежать параметри розподілу) - або 2D оцінка щільності ядра. Можливо, ви могли б пояснити контекст трохи більше. (PS, хто звертається з питанням, повинен знати, що це означає ... комусь байдуже
звучати

У будь-якому випадку для таких питань краще перейти на crossvalidated.com . або на незрозумілий веб-сайт під назвою Google. Він знайшов інформацію про підгонку моделей для багатовимірних даних. Досить багато (4 мільйони двісті тридцять тисяч, якщо бути точним)
Joris Meys

Я б порекомендував bing - це врешті-решт двигун рішення, пошукові системи настільки 20 століття ... просто подивіться на Yahoo та Ask Jeeves, наскільки вони неважливі сьогодні?!?
Чейз

@Ben Bolker - Дякую за допомогу, я вийняв незалежне, тому що це було неправильно. У мене є відстань між місцями (x) та співвідношеннями кількості опадів між місцями (y)

зауважте, що вам доведеться використовувати спеціальні методи, якщо ви хочете робити статистичні умовиводи за цими даними, оскільки якщо відстані були обчислені на загальному наборі локацій, вони не є незалежними - шукайте, наприклад, "Тест
Мантеля

Відповіді:


20

Я не зовсім впевнений, про що ви просите, тому що у вас вийшов ланг. Але якщо припустити, що ваші змінні не залежать одна від одної (якщо вони були, то вони не мають відношення до пошуку), я спробую. Якщо xваша незалежна (або передбачувальна) змінна і yваша залежна (або відповідь) змінна, то це має працювати.

# generate data
beta <- 0.05
n <- 100
temp <- data.frame(y = exp(beta * seq(n)) + rnorm(n), x = seq(n))

# plot data
plot(temp$x, temp$y)

# fit non-linear model
mod <- nls(y ~ exp(a + b * x), data = temp, start = list(a = 0, b = 0))

# add fitted curve
lines(temp$x, predict(mod, list(x = temp$x)))

дякую за вашу відповідь, я вийняв слово "незалежний", як ви вказали, це не мало сенсу. Використовуючи ваш код для моїх даних, я можу відповідати моделі, але результат - десятки рядків на графіку, а не лише один. Будь-яка ідея чому?

@sbg - Ні, вибачте, я не можу придумати причину. Чи nls()підходить модель?
Річард Геррон

Я думаю, що так, я отримую: модель нелінійної регресії: y ~ exp (a + b * x) дані: DF ab -0.535834 -0.002024 Залишкова сума квадратів: 18.62 Кількість ітерацій до конвергенції: 6 Досягнута толерантність конвергенції: 8.08 e-06

3
@sbg спробуйте сортувати свою xзмінну:lines(sort(temp$x),predict(mod, list(x=sort(temp$x)))
Бен Болкер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.