# Analysis of the QAR(1) Melbourne Temperature Example
# Using new type = "fhat" option in predict.rqs
require(splines)
  if(interactive()){ 
    oldpar <- par(ask = TRUE)
    data(MelTemp)
    x <- MelTemp[-3650]
    y <- MelTemp[-1]
    s <- (x<40)  #Delete a few (influential, ridiculously hot) days
    x <- x[s]
    y <- y[s]
    z <- seq(10,36,length=100)

	fit <- rq(y~ bs(x,knots=quantile(x,c(.05,.25,.5,.75,.95))), tau =  1:19/20)
	par(cex=1,pty="s")
	xlab <- "yesterday's max temperature"
	ylab <- "today's max temperature"
	plot(x,y,pch=".",xlab=xlab,ylab=ylab)
	matlines(z,predict(fit, newdata = data.frame(x = z)), lty = 1)
	abline(c(0,1),lty=3)
	title("Melbourne QAR Model")

	taus <- 1:199/200
	xs <- c(11,16,21,25,30,35)
	fit <- rq(y~ bs(x,knots=quantile(x,c(.05,.25,.5,.75,.95))), tau = taus)
	fhats <- predict(fit,newdata = data.frame(x = xs), type = "fhat", h = 1)
	par(mfrow = c(2,3))
	for(i in 1:length(xs)){
		fhat <- fhats[[i]]
		x <- environment(fhat)$x
		xlab <- "today's max temperature"
		plot(x,fhat(x),type="l",xlab=xlab,ylab="density")
		abline(v=xs[i], col="red")
		title(paste("Yesterday's Temp", format(round(xs[i]))))
		}
	par(oldpar)
    }
