*
* GCONTOUR.RPF
* Example of contour graph
*
* RATS, Introduction, Example from Section 4.13.
*
* Create a series which is mean 0 through entry 50, and mean 10 from 51
* through the end of the sample. We use a SEED to ensure that the graph
* can be reproduced
*
seed 95035
all 100
set x = %if(t>50,10,0)+%ran(1.0)
*
* The sum of squared residuals for a break between B and B+1 and a
* post-break mean of mu (pre-break mean assumed to be zero) is
*
* sum (all t) of x^2 - 2*mu*sum (t>B) of x + (T-B)*mu^2
*
* This generates a contour plot of the concentrated log likelihood,
* assuming Normal residuals, and fixed, but unknown, variance.
*
* Set up the grids for breaks (1,...,100) and mus (.2,.4,...,20)
*
compute breaks=%seqa(1.0,1.0,100)
compute mus =%seqa( .2, .2,100)
*
* This generates as "over" the sum of x for elements above t.
*
acc x / ax
set over = ax(100)-ax(t)
*
* Compute the sum of squares
*
compute x2=%normsqr(x)
*
* Generate the log likelihood for all the combinations of mus and breaks.
*
dec rect f(100,100)
ewise f(i,j)=-50.0*log((x2-2*mus(i)*over(fix(breaks(j)))+(100-breaks(j))*mus(i)^2)/100.0)
*
* Do the contour graph with a grid line across the actual break (50)
*
gcontour(footer="Contour of likelihood for break",$
x=mus,y=breaks,f=f,vgrid=||50||)