Hi,
Though this question is not directly related to Matlab or MathWorks products, and since you have not provided specific details about implementation of the model, I will try to answer it from a general perspective.
I am assuming that you have written a custom function for DMP model in Matlab, say 'dmp'. Now, since you have added another arguement to the model i.e. option to crime, you might need to follow either an iterative approach or leverage optimization toolbox to ascertain the appropriate values for 'unemployment', 'employment' and 'being in jail'.
You can estimate initial guess by understanding how sensitive your model's outcomes are to the initial guesses of these values passed to the 'dmp' method. You can even script loops or use the 'arrayfun' function to systematically vary your initial guesses and observe the impact on model outcomes. For instance, I initialized the values of employment to be a linearly increasing 10-dimensional array between [0,5] and passed this as an arguement to the model:
results = arrayfun(@(x) dmp(x, params), linspace(0, 5, 10));
The impact of each value could be visualized using the plot function as follows:
plot(linspace(0, 5, 10), results);
xlabel('Initial Value of Employment');
ylabel('Model Outcome');
Alternatively, you can use Matlab's Optimzation Toolbox to converge the algorithm based on a random initial guess of the values, by appropriately defining the objective function and constraints involved. You can refer to the following documentation link for further information:
I hope it helps.
Regards,
Zuber