Хочу подогнать модель / найти функциональную форму с помощью 70 серии. У меня есть 30 значений для каждого из них. График показывает, что тенденция не является линейной, поэтому я пытаюсь использовать NLS.
Не уверен, что это правильный подход. Раньше я этого не реализовывал. Должен ли я использовать что-то еще для моделирования? Я получаю следующую ошибку:
Ошибка в nls (y ~ a * exp (b * x), start = list (a = a_start, b = b_start)):
сингулярный градиент
x имеет значения 1:30, которые повторяются 70 раз. Значения Y варьируются от 0 до 1. Должен ли я использовать 71 вектор (длиной 30) или я должен собрать их все в два столбца. На данный момент я собрал их все в две колонки.
Данные выглядят примерно так:
a_start<-0.2
b_start<-2*log(2)/a_start
nls
, но с тех пор, как я его использовал, одна из самых сложных задач - передать ему начальные значения, которые достаточно близки, чтобы он мог найти решение. Я не уверен, связана ли эта ошибка, но это будет проблемой при попытке автоматизировать подгонку многих серий. Для этого вы можете изучить самозапускающиеся модели. См.?selfStart
и ссылки. - person lmo   schedule 03.05.2017