Predict не может отображать стандартные ошибки прогнозов с se.fit=TRUE.

Как сказано в справке (predict.nls), когда se.fit=TRUE, следует рассчитать стандартные ошибки прогнозов. Однако мои коды в следующем не отображают это, а только прогнозы.

alloy <- data.frame(x=c(10,30,51,101,203,405,608,810,1013,2026,4052,6078,
                        8104,10130),
                    y=c(0.3561333,0.3453,0.3355,0.327453,0.3065299,0.2839316,
                        0.2675214,0.2552821,0.2455726,0.2264957,0.2049573,
                        0.1886496,0.1755897,0.1651624))
model <- nls(y ~ a * x^(-b), data=alloy, start=list(a=.5, b=.1))
predict(model, se=TRUE)

Что не так с моими кодами? Спасибо!


person Ma Changchen    schedule 14.09.2012    source источник
comment
а затем help(predict.nls) продолжает говорить, что в настоящее время этот аргумент игнорируется..   -  person BenBarnes    schedule 14.09.2012


Ответы (1)


Ничего. В последней строке раздела Description раздела ?predict.nls говорится:

At present ‘se.fit’ and ‘interval’ are ignored.

Возможно, поможет функция deltaMethod в пакете car. (Результаты library("sos"); findFn("{delta method} nls") ...)

обновление: у меня не получилось с car::deltaMethod с первой попытки. Вот попытка использовать функцию deltavar из пакета emdbook. Материал attach()/detach() — это ужасный хак, но это то, что я мог быстро заставить работать (решение на основе with не сработало из-за нестандартной оценки). Улучшения приветствуются.)

 attach(alloy)
> deltavar(a*x^(-b),meanval=coef(model),Sigma=vcov(model))
 [1] 1.445018e-04 6.956934e-05 4.897363e-05 3.287949e-05 2.527709e-05
 [6] 2.379668e-05 2.487129e-05 2.626029e-05 2.762930e-05 3.300235e-05
[11] 3.933191e-05 4.317493e-05 4.588509e-05 4.795406e-05
> detach(alloy)

Предостережения:

  • это отклонения, а не стандартные ошибки;
  • это приближение дельта-метода, которое может быть неточным в случаях сильной нелинейности или сильно негауссовской ошибки (я полагаю, что Брайан Рипли заявлял в прошлом, что он не считает приближения дельта-метода достаточно надежными для общего использования, но он пурист)
  • Я не проверял, что это разумный ответ
person Ben Bolker    schedule 14.09.2012
comment
Большое спасибо за ваш подробный и любезный ответ. Это очень полезно для меня. С наилучшими пожеланиями! - person Ma Changchen; 16.09.2012
comment
Я только что наткнулся на эту страницу, которая мне показалась полезной. @BenBolker, что ты об этом думаешь? sia.webpopix.org/ - person emudrak; 21.12.2018