Here's one way to use PROC OPTMODEL to solve this optimization problem with one decision variable: proc optmodel; set ISET; set JSET = 1..5; num one {ISET, JSET}; num three {ISET, JSET}; read data one into ISET=[_N_] {j in JSET} <one[_N_,j]=col('t'||j)>; read data three into [_N_] {j in JSET} <three[_N_,j]=col('t'||j)>; var Index; impvar Two {i in ISET, j in JSET} = probit(one[i,j] - Index); min TotalError = sum {i in ISET, j in JSET} ((three[i,j]-Two[i,j])/three[i,j])^2; solve; print Two; print Index; quit; But you need to clean up the data before you can use PROBIT.
... View more