在SAS官网找到的程序,其实,帮助文件里也有,贴给你看看
proc model data=switch;
parms sig1=10 sig2=10 int1 b11 b13 int2 b21 b23 p;
bounds 0.0001 < sig1 sig2;
a = p*dif(rate); /* Upper bound of integral */
d = probnorm(a); /* Normal CDF as an approx of switch */
/* Regime 1 */
y1 = int1 + zlag(starts)*b11 + decjanfeb *b13 ;
/* Regime 2 */
y2 = int2 + zlag(starts)*b21 + decjanfeb *b23 ;
/* Composite regression equation */
starts = (1 - d)*y1 + d*y2;
/* Resulting log-likelihood function */
logL = (1/2)*( (318*log(2*3.1415)) +
log( (sig1**2)*((1-d)**2)+(sig2**2)*(d**2) )
+ (resid.starts*( 1/( (sig1**2)*((1-d)**2)+
(sig2**2)*(d**2) ) )*resid.starts) ) ;
errormodel starts ~ general(logL);
fit starts / method=marquardt converge=1.0e-5;
/* Test for significant differences in the parms */
test int1 = int2 ,/ lm;
test b11 = b21 ,/ lm;
test b13 = b23 ,/ lm;
test sig1 = sig2 ,/ lm;
run;
另外,你也可以参考下面的链接:
http://support.sas.com/rnd/app/da/new/802ce/ets/chap4/sect13.htm
不知道能不能帮上你。