Вопрос по r, regression, smoothing, loess – Loess предсказать с новыми значениями х

11

Я пытаюсь понять, какpredict.loess функция может вычислять новые прогнозные значения (y_hat) в точкахx которые не существуют в исходных данных. Например (это простой пример, и я понимаю, что лесс явно не нужен для примера такого рода, но он иллюстрирует суть):

x 
Интерполяция, экстраполяция или оба? Я думаю, что вы имеете в виду только интерполяцию. smci

Ваш Ответ

3   ответа
2

In this algorithm a set of points typically small in number is selected for direct    
computation using the loess fitting method and a surface is evaluated using an interpolation
method that is based on blending functions. The space of the factors is divided into
rectangular cells using an algorithm based on k-d trees. The loess fit is evaluated at
the cell vertices and then blending functions do the interpolation. The output data
structure stores the k-d trees and the fits at the vertices. This information
is used by predict() to carry out the interpolation.
Я думаю, что вы цитируете этот документ:netlib.org/a/cloess.pdf который, кажется, является приложением к статье или докладу Уильяма С. Кливленда, Эрика Гроссе и Минг-Джен Шью. Хотя я не уверен насчет цитирования, потому что я не нашел основной документ, только приложение. Mark Miller
Какое руководство? Я пытаюсь найти ответ сам и хотел бы видеть функции смешивания. Mark Miller
5

loess.demo функция из пакета TeachingDemos. Это позволяет интерактивно нажимать на график (даже между точками), а затем отображает набор точек и их веса, использованные в прогнозе, и прогнозируемую линию / кривую для этой точки.

Обратите внимание, что по умолчанию дляloess это сделать второе сглаживание / интерполяцию при подгонке лесса, так что то, что вы видите на подобранном объекте, это, вероятно, не истинная информация о подгонке лесса, а вторичное сглаживание.

5

модель» в данном случае это просто детали того, что использовалось для предсказания каждого y_hat

Может быть, вы использовалиprint(mdl) команда или простоmdl чтобы увидеть, что модельmdl содержит, но это не так. Модель действительно сложная и хранит большое количество параметров.

Понять, чтовнутри, вы можете использоватьunlist(mdl) и увидеть большой список параметров в нем.

Это часть руководства команды, описывающая, как она на самом деле работает:

Установка производится на месте. То есть для подгонки в точке x подгонка выполняется с использованием точек в окрестности x, взвешенных по их расстоянию от x (с разницей в ‘параметрический» переменные игнорируются при вычислении расстояния). Размер окрестности контролируется α (устанавливается с помощью span или enp.target). Для α < 1, окрестность включает в себя пропорцию α из точек, и они имеют трикубический вес (пропорционально (1 - (dist / maxdist) ^ 3) ^ 3). Для α > 1, все точки используются, с «максимальное расстояние предполагается, что α^ (1 / p) умноженное на фактическое максимальное расстояние для p объясняющих переменных.

Для семейства по умолчанию подгонка производится с помощью (взвешенных) наименьших квадратов. Для семьи = "симметричный» несколько итераций процедуры M-оценки с Tukey 's вес тела используются. Имейте в виду, что, поскольку начальное значение соответствует подгонке наименьших квадратов, это не должно быть очень устойчивым подгонкой.

Я верю в то, что он пытается подогнать полиномиальную модель в окрестности каждой точки (а не просто один полином для всего множества). Но соседство означает не только одну точку до и одну точку после. Если я реализовывал такую функцию, я придавал больший вес ближайшим точкам к точке x, а меньшие веса - дистальным точкам и пытался подобрать многочлен, подходит для наибольшего общего веса.

Тогда если данный х ' для которого высота должна быть предсказана ближе всего к точке x, я попытался использовать многочлен, подобранный по окрестностям точки x - скажем, P (x) - и применил его к x ' - скажи П (х ') - и это было бы предсказание.

Дайте мне знать, если вы ищете что-то особенное.

отлично, спасибо! Alex
Я обновил ответ Ali
Еще добавлено два абзаца. Дон»не стесняйтесь, если какая-либо часть не ясна Ali
Спасибо за ваш ответ. однако логика / математика, лежащая в основе полиномиальной регрессии, описана в моем вопросе. Я пытаюсь понять, как можно вычислить промежуточные точки. это должно быть через какую-то интерполяцию? Alex

Похожие вопросы