I am just learning to use the FRATAR program to do bi-proportional adjustment. I have learned how to run the program and have a sensible converged outcome.
I now would like to be able to output the final balancing factors. I cannot see any way of doing this. I have looked in the help structure for MATRIX, DISTRIBUTION and FRATAR but failed to find what I am looking for.
I want to work toward a process to in-fill a matrix. First, I need to calibrate a gravity model. I know how to build an initial matrix with a deterrence function. (I have done this in MATRIX). I know how to fit the initial matrix to trip-end targets (FRATAR). I now need to obtain the balancing factors so that I can specify the gravity model for use in estimation.
Many years ago, when I used TRIPS, there was a program (MVGRAM?) that could do this in two stages.
I am Dr Graham Scholefield, University of Salford.
Filippo, thank you for your reply. Short answer is no.
I need the cumulative row and column adjustment factors that specify the solution. I try to copy an equation from my notes T_ij=A_i B_j O_i D_j f(c_ij) but the formatting is lost. I want the Ai and Bj terms. So for each row, I want the product of the row factors used in each iteration of the bi-proportional adjustment. See section 5.3.2 in Ortuzar and Willumsen 2011 (fourth edition, as open in my home).
Hello Graham,
Thanks for clarifying. Unfortunately Fratar does not output the balancing factors Ai, Bj directly. Please have a look at this application in this wiki. This provides an example (using the matrix and targets from Example 5.3 of the Ortuzar and Willumsen book) of a looping process providing the final cumulative Ai and Bj. You could give it a try with your data and also customize convergence, etc. Please let me know if this might be consistent with what you were trying to achieve.
Filippo
Thank you for clarification about FRATAR. I am very familiar with the process. I think I have a solution. I am doing the bi-proportional adjustment using my own code using ARRAYS in MATRIX within an IF block, at the end of the script , that runs at the end of the final ILOOP (IF I=ZONES). I use the MATRIX commands to load the initial matrix into a square array and put the trip-end targets into vector arrays in the ILLOP. MATRIX commands give the flexibility to code the process. I have got the factoring and looping working. Next I need a convergence check. I will have to print the final matrix and balancing factors to files and then convert the output matrix into Voyager with a subsequent run of MATRIX.
Thanks for the feedback Graham. Yes, using arrays is a good alternative indeed.