From: Jennifer Meininger on 17 Jun 2010 04:50 Guys Need your help! I am using the proc nlmixed to model the following data; my codes follows. PROC IML; n_sim = 20; n_debtor = 10000; rho_V = 0.3; rho_Y = 0.25; rho_U = -0.9; beta_0 = -1.5; gamma_0 = 4; sigma = 2.5; Vektor = j(n_debtor,1,1); DO sim=1 TO n_sim; F=RANNOR(0); F_Vektor=F*Vektor; Z_V=j(n_debtor,1,0); ZV_Vektor=TINV(RANUNI(Z_V), 20); Z_Y=j(n_debtor,1,0); ZY_Vektor=TINV(RANUNI(Z_Y), 20); V = -(beta_0 + rho_V * F + SQRT(1 - rho_V*rho_V) * ZV_Vektor); *Defaultprozess; Y = gamma_0 - rho_Y * F + sigma * rho_U *ZV_Vektor+sigma * SQRT(1- rho_U*rho_U)*ZY_Vektor; *Recoveryprozess; Default=V<0; Recovery=Y; sim_Vektor=sim*Vektor; M_TD=M_TD//(Default||Recovery||sim_Vektor||F_Vektor||Vektor); END; CREATE work.M_TV FROM M_TV; APPEND FROM M_TV; QUIT; proc sort DATA=work.M_TV; BY col3; RUN; NLMIXED: proc nlmixed qpoints = 64 data=work.M_TD ITDETAILS GCONV=0; PARMS rho_U = -0.8, rho_V = 0.25, rho_Y = 0.15, sigma = 3, beta_0 = -2, gamma_0 = 3.5; BOUNDS -1 < rho_U < 1, -1 < rho_V < 1, -1 < rho_Y < 1, sigma > 0; linpred_col1 = (beta_0 + rho_V * F) / SQRT(1-rho_V* rho_V); linpred_col2 = gamma_0 - rho_Y * F; f2 = CDF('T', linpred_col1,20); f2a = CDF('T', -linpred_col1,20); do i=linpred_col1 to 1000; f4 = PDF('T',(col2 - linpred_col2+ 20*sigma*rho_U*i)/(sigma*sqrt(20/18- rho_U * rho_U)),20); f6 = PDF('T',i,20); f7= f4*f6; end; f8 = 1/(sigma*sqrt(20/18-rho_U*rho_U)*f2)*f7; ll = ((col1=0) * log(f2a) + (col1=1) * log(f2)+ (col1=1) * log(f8)); model col2 ~ general(ll); RANDOM F ~ NORMAL(0, 1) SUBJECT=col3; run; Sas giving me the error: No valid parameter points were found. Can you tell me what I'm doing wrong. Thanks
|
Pages: 1 Prev: SQL - File does not exist Next: proc sql where clause with macro variable problem with index |