Для грубой силы не существует понятия сходимости. Он просто оценивает целевую функцию по заданному начальному значению или значениям и возвращает объект или объекты nls в зависимости от конкретных аргументов. Подробнее см. ?nls2
.
Обычно он используется для получения начальных значений для ввода в nls или другую функцию оптимизации, для исследования сингулярных значений (поскольку nls
подавляет их, а nls2
нет) или просто оценивает nls
целевую функцию при известных значениях.
Поскольку пример из документации, воспроизведенный в вопросе, дал nls2 одно начальное значение, он оценил цель по этому единственному значению и вернул. Оценки параметра — это просто значения параметра, при которых он был оценен, а именно начальное значение.
> coef(xx)
a b
1 1
xx$m$Rmat()
— это матрица, вектор сингулярных значений которой содержит хотя бы один нуль, если задача сингулярна в вычисляемой точке. Функция R svd(...)
возвращает список, в котором компонент d является вектором сингулярных значений, а u и v являются следующими двумя компонентами, где v является собственным вектором. Вы здесь нас не интересуете, поэтому [-2] было использовано, чтобы опустить его.
Для этого конкретного случая мы видим, что второе сингулярное значение равно нулю:
s <- sv(xx$m$Rmat)
s$d
## [1] 6.708204 0.000000
и соответствует собственному вектору
v2 <- s$v[, 2]; v2
## [1] -0.8944272 0.4472136
и поскольку собственные векторы определяются только до скалярного кратного, это то же самое, что:
v2/v2[2]
## [1] -2 1
что является направлением сингулярности в текущей точке оценки. В этом случае добавление любого кратного (-2, 1) к (1, 1) дает правую шкалу, идентичную по значению правой части в точке (1, 1), поэтому она явно сингулярна в этом направлении. В этом случае он проще общего случая из-за линейности RHS, но работает аналогично относительно касательного пространства, т.е. бесконечно мало, для нелинейных целевых функций.
person
G. Grothendieck
schedule
26.06.2017