## 2 Methods
### Locally Scaled and Stochastic Volatility Metropolis-Hastings Algorithms  
As highlighted previously, the MH algorithm experiences random walk behaviour, which causes the generated samples to have high autocorrelations. We attempt to address this by designing the scaling matrix in two distinct ways.  
Firstly, we set \(\mathbf{\Sigma}\) so that it depends on the neighborhood curvature of the distribution, similarly to manifold MALA and Riemannian Manifold Monte Carlo [4; 7]. We call this algorithm the Locally Scaled Metropolis-Hastings (LSMH) algorithm. In this algorithm, we set the \(\mathbf{\Sigma}\) to be equal to the Hessian of the target posterior evaluated at the current state. In this work, for the instances where the negative log-density is highly non-convex such as Neal's funnel, the employe the SoftAbs metric to approximate the Hessian [34]. The SoftAbs metric needs an eigen decomposition and all second-order derivatives of the target distribution, which leads to higher execution times [34; 35]. However, the SoftAbs metric is more generally suitable as it eliminates the boundaries of the Riemannian metric, which limits the use to models that are analytically available [35].  
Secondly, we consider \(\mathbf{\Sigma}\) to be random and assume that it has distribution \(\mathbf{\Sigma}\sim\mathcal{P}_{\mathbf{\Sigma}}(\mathbf{\Sigma})\), with \(\mathcal{P}_{\mathbf{\Sigma}}(\mathbf{\Sigma})\) being a user-specified distribution in a related fashion to Quantum-Inspired Hamiltonian Monte Carlo [7; 25]. We call this proposed algorithm the Stochastic Volatility Metropolis-Hastings (SVMH) algorithm. In this paper, we set the covariance matrix to be diagonal, with the diagonal components sampled from a log-normal distribution with mean zero and variance 1.  
The pseudo-code for the LSMH and SVMH algorithms is the same as that of the MH algorithm in Algorithm 1, with the only exception being how \(\mathbf{\Sigma}\) is treated. In particular:  
* For LSMH: \(\mathbf{\Sigma}(\mathbf{w})=-\frac{\mathrm{d}^{2}\ln\pi(\mathbf{w})}{\mathrm{d} \mathbf{w}^{2}}\) and \(\alpha(\mathbf{w}^{*}|\mathbf{w})=\min\left(1,\frac{\pi(\mathbf{w}^{*}) \mathcal{N}(\mathbf{w}^{*},\mathbf{\varepsilon}\mathbf{\Sigma}(\mathbf{w}))}{\pi( \mathbf{w})\mathcal{N}(\mathbf{w},\mathbf{\varepsilon}\mathbf{\Sigma}(\mathbf{w}))}\right)\)
* For SVHM: \(\mathbf{\Sigma}\sim\mathcal{P}_{\mathbf{\Sigma}}(\mathbf{\Sigma})\) and \(\alpha(\mathbf{w}^{*}|\mathbf{w})=\min\left(1,\frac{\pi(\mathbf{w}^{*}) \mathcal{N}(\mathbf{w}^{*},\mathbf{\varepsilon}\mathbf{\Sigma})}{\pi(\mathbf{w}) \mathcal{N}(\mathbf{w},\mathbf{\varepsilon}\mathbf{\Sigma})}\right)\)  
We tune \(\epsilon\) via primal-dual averaging [32] targeting a sample approval rate of 70%. Our pilot runs indicated that targeting various acceptance rates (e.g., 25% as with MH) did not materially change the overall results.  
It becomes apparent that LSMH will require the most computational resources out of all the algorithms due to the requirement to calculate the Hessian of the target at each state. SVMH should have a similar execution time to MH because only one extra step is added to the MH algorithm. If the assumed distribution for the scale matrix is not too difficult to sample from, MH and SVMH should have almost indistinguishable computational requirements.