2016-03-08 5 views
0

Я хотел бы, чтобы соответствовать два перспективе экспоненциальной модели к моим данным, приведенным в (х, у), т.е.Как подобрать двухмерную экспоненту в R?

f(x) = a * exp(b * x) + c * exp(d * x) 

В сущности, мне нужно повторить тип exp2 модели Matlab в R рассчитывается как

f = fit(x, y, 'expo') 
+0

Есть ли у вас образец данных для отображения? Является ли 'х' отрицательным? Является ли 'y' отрицательным? –

+1

@Benjamin - просто уточнить, '? Nls' - это функция, включенная в R по умолчанию. – thelatemail

+0

Вы указали функцию nls (пакет статистики), который является хорошим местом для начала. Посмотрите документацию и покажите нам, что вы пробовали. См. Http://robinlovelace.net/2013/10/23/nls-demonstation.html несколько советов. – Benjamin

ответ

1

This post делает хорошую работу, объясняя, как соответствовать абстрактной модели. Тэк его использовать nls() это- чтобы соответствовать «Нелинейный метод наименьших квадратов» модель:

# Using the mpg data in ggplot2 
library(ggplot2) 
# Create list of initial estimates 
insertList = list(a=1,b=-0.01,c=1,d=-0.01) 
# fit model 
m1 = nls(displ ~ a*exp(b*cty) + c*exp(d*cyl),data =mpg, start = insertList) 

и функции должны делать остальное ...

Твердая часть находит оценки для вашей модели это не даст вам ошибки при вводе этого. Ссылка дает представление об этом. Удачи!

Редактировать: внесены изменения @Ben Bolker предложил; также, не понимал, что mpg находится в ggplot2, а не в базе R, спасибо за разъяснение.

+0

Возможно, вы захотите определить переменную, прежде чем использовать ее ... и объясните, как добраться до mpg. – Benjamin

+0

'mpg' находится в пакете' ggplot2', а не в базе R. И было бы лучше использовать 'm1 = nls (смещение ~ a * exp (b * cty) + c * exp (d * cyl), данные = mpg, ...) ' –

+0

... и попробуйте' insertList = list (a = 1, b = -0.01, c = 1, d = -0.01) 'для условий запуска, которые * do * работают ... –

 Смежные вопросы

  • Нет связанных вопросов^_^