Zainstalowałem model używając nlme()
z package nlme
.dopasowanie nlme: vcov versus podsumowanie
Teraz chcę zasymulować niektóre przedziały predykcyjne, biorąc pod uwagę niepewność parametru.
W tym celu muszę wyodrębnić macierz zależności dla ustalonych efektów.
O ile mi wiadomo, istnieją dwa sposoby, aby to zrobić:
vcov(fit)
i
summary(fit)$varFix
Te dwa dają taką samą matrycę.
Jednak gdybym skontrolować
diag(vcov(fit))^.5
wcale nie jest taka sama, jak donosi Std Błąd w summary(fit)
Mylę się spodziewać tych dwóch będzie tak samo?
Edit: Tutaj jest przykład kodu
require(nlme)
f=expression(exp(-a*t))
a=c(.5,1.5)
pts=seq(0,4,by=.1)
sim1=function(t) eval(f,list(a=a[1],t))+rnorm(1)*.1
y1=sapply(pts,sim1)
sim2=function(t) eval(f,list(a=a[2],t))+rnorm(1)*.1
y2=sapply(pts,sim2)
y=c(y1,y2)
t=c(pts,pts)
batch=factor(rep(1:2,82))
d=data.frame(t,y,batch)
nlmeFit=nlme(y~exp(-a*t),
fixed=a~1,
random=a~1|batch,
start=c(a=1),
data=d
)
vcov(nlmeFit)
summary(nlmeFit)$varFix
vcov(nlmeFit)^.5
summary(nlmeFit)
Jesteś bardziej prawdopodobne aby uzyskać pomoc, jeśli podasz swój zestaw danych lub przynajmniej próbkę reprezentatywną i pokażesz kod użyty do dopasowania. – jlhoward
Zgadzam się. Ale zbiór danych nie jest mój i uzasadniłem, że ktokolwiek, kto byłby w stanie odpowiedzieć, użyłby nlme w przeszłości i dlatego też jest łatwo dostępny. Ponieważ wskazuję na problem, który powinien być ogólnie niezależny od danych, miałem nadzieję, że nie stanie się to problemem. Oznacza to, że jeśli ludzie nie mogą potwierdzić nierówności obu macierzy w ich własnych przykładach, byłoby to dość dużą wskazówką, że robię coś złego. Ale mogę odejść i zasymulować zestaw danych, jeśli uważasz, że to pomoże. –
Tak, pokazanie problemu z danymi, które możesz publikować jest ważne. – jlhoward