next up previous print clean
Next: Computational efficiency Up: Field data examples Previous: Velocity analysis on field

Is Huber a stable solver ?

 
compmodel11g
compmodel11g
Figure 14
Input B: velocity panel using 5 and 70 CG iterations.
view

 
compmodel11h
compmodel11h
Figure 15
Input B: velocity panel using 5 and 70 Huber iterations.
view

 
compmodel08g
compmodel08g
Figure 16
Input A: velocity panel using 5 and 70 CG iterations.
view

 
compmodel08h
compmodel08h
Figure 17
Input A: velocity panel using 5 and 70 Huber iterations.
view

 
treshcomp08
treshcomp08
Figure 18
Input A: velocity panel for different Huber thresholds. The last panel is obtained using the CG.
view

For Huber to be a serious competitor to the l2 norm and the CG, it needs to be stable with respect to the number of iterations and to the Huber threshold, $\epsilon$. This is what we investigate in this section. Figure14 displays two velocity panels using 5 and 70 CG iterations on input A. The right panel shows one of the well known characteristics of the conjugate gradient: after a relative small number of iterations, the algorithm starts to invert noise in the data space, making the model space particularly messy and uninterpretable. In contrast, the Huber results are fairly stable (Figure15) since we can pick a reasonable velocity function without bothering with the noise. Some artifacts appear, however, which may be squelched by moving up or down the threshold. The next result is by far the most favorable to Huber (Input B). Figure16 shows two velocity functions after 5 and 70 iterations using conjugate gradient. The noise level is so strong after 70 iterations that we cannot distinguish any coherent feature. Once again, the Huber solver gives a better velocity panel (Figure 17). This is a major improvement to the performance of CG.

Testing the Huber response for different thresholds is another important issue. Remember that this threshold determines the border between the l1 and l2 norms. Ideally, we would like not to have to specify this parameter a priori, but rather have the algorithm adaptively estimates it from the data. It's interesting, however, to test the system's sensitivity to the threshold. Figure 18 shows a comparison for $\epsilon$ ranging from 0.001 to 1 for 20 iterations. The last panel is the CG result. As expected, Huber starts to behave like an l2 norm for large $\epsilon$. Nonetheless, for $\epsilon =0.001$ to $\epsilon=0.1$,the velocity panels are fairly comparable giving us a wide range of possibilities in the choice of the threshold.


next up previous print clean
Next: Computational efficiency Up: Field data examples Previous: Velocity analysis on field
Stanford Exploration Project
4/20/1999