
rrar(Ranks = 1, coefstart = NULL)
"vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
and vgam
.maxits=50
, say, may help.
If convergence is not obtained, you might like to try inputting different
initial values. Setting trace=TRUE
in vglm
is useful for monitoring
the progress at each iteration.
Documentation accompanying the
vglm
,
usagrain
.data(usagrain)
year = seq(1961+1/12, 1972+10/12, by=1/12)
par(mar=c(4,4,2,2)+0.1, mfrow=c(2,2))
for(i in 1:4) {
plot(year, usagrain[,i], main=names(usagrain)[i], type="l", xlab="", ylab="")
points(year, usagrain[,i], pch="*")
}
apply(usagrain, 2, mean) # mu vector
cgrain = scale(usagrain, scale=FALSE) # Center the time series only
fit = vglm(cgrain ~ 1, rrar(Ranks=c(4,1)), trace=TRUE)
summary(fit)
print(fit@misc$Ak1, dig=2)
print(fit@misc$Cmatrices, dig=3)
print(fit@misc$Dmatrices, dig=3)
print(fit@misc$omegahat, dig=3)
print(fit@misc$Phimatrices, dig=2)
par(mar=c(4,4,2,2)+0.1, mfrow=c(4,1))
for(i in 1:4) {
plot(year, fit@misc$Z[,i], main=paste("Z", i, sep=""),
type="l", xlab="", ylab="")
points(year, fit@misc$Z[,i], pch="*")
}
Run the code above in your browser using DataLab