МОДЕЛИРОВАНИЕ ФУНКЦИИ ЛЕССЫ В R

Используя лесс (y ~ x) и прогноз, я нашел оценку лесса случайной величины в R. Теперь я хочу выполнить 100 симуляций Монте-Карло, чтобы найти стандартную ошибку. Я использовал следующий код R, но он возвращает одно и то же значение во всех 100 симуляциях. Скажите, пожалуйста, где я ошибся.

set.seed(6)
pn = replicate(100,predict(fit,data=data.frame(X=78)),simplify=FALSE)
plot(pn)
sd(pn)

person Anju Jacob    schedule 24.08.2020    source источник
comment
если вы всегда предоставляете один и тот же X (например, X = 78) и подходите, вы получите то же значение. Что именно ты пытаешься сделать   -  person StupidWolf    schedule 24.08.2020
comment
Если вы прогнозируете модель в той же точке data.frame(X=78), результат будет таким же.   -  person Rui Barradas    schedule 24.08.2020
comment
Оценка лесса - случайная величина. Я пытаюсь найти стандартную ошибку оценки лесса, выполнив 1000 симуляций Монте-Карло.   -  person Anju Jacob    schedule 24.08.2020
comment
Я подозреваю, что вы хотите найти стандартную ошибку предсказания? Обычный подход - бутстрап.   -  person Roland    schedule 24.08.2020


Ответы (1)


Как было объяснено в комментариях: если вы дадите прогноз для одного и того же объекта fit и того же значения X, он всегда будет возвращать один и тот же ответ. Есть два очевидных подхода к этому.

Во-первых. Используемая predict функция действительно predict.loess из пакета stats. У него есть аргумент se, и если вы вызовете predict(fit, ..., se = TRUE), он вернет предполагаемую стандартную ошибку для каждого прогнозируемого значения. Так что проверьте, делает ли это то, что вы хотите, без вашего программирования для себя: ср. http://www.rdocumentation.org/packages/stats/versions/3.6.2/topics/predict.loess.

Во-вторых: Если вы хотите, чтобы ваш predict вызов предсказывал разные прогнозы, вам нужно будет передать ему разные fit объекты. Вы можете получить их, загрузив данные, которые вы скармливаете loess, как предложил Роланд в комментариях.

person Bernhard    schedule 24.08.2020
comment
Спасибо вам всем. Большое спасибо @Bernhard - person Anju Jacob; 24.08.2020