lmoffatt / macro_dr

GNU General Public License v3.0
1 stars 1 forks source link

equilibrate the acceptance rate looking directly at the betas #214

Closed lmoffatt closed 3 weeks ago

lmoffatt commented 1 month ago

Instead of parameterizing the betas as temperatures and its logarithm, lets try to formulate the acceptance in terms of betas, logL and its variance.

If we approximate the jump probability by the integral of a normal distribution it can be shown that

A_{i,i+1}  \approx \Phi \left (1,( \beta_{i+1}-\beta_{i}) \cdot ( L_{i+1}-L_{i}), ( \beta_{i+1}-\beta_{i})^2 \cdot( vL_i + vL_{i+1})   \right) 
lmoffatt commented 1 month ago

Now we can calculate the variations against $\Delta\beta_{i}^{i+1}$


A_{i,i+1}  \approx \Phi \left (1,\Delta \beta_{i}) \cdot ( L_{i+1}-L_{i}), {\Delta \beta_{i}}^2 \cdot( vL_i + vL_{i+1})   

\right)

\frac{ \partial A_{i,i+1} } {\partial \Delta \beta_{i}} 

 \approx
\mathcal{N} \left (1,\Delta \beta_{i} \cdot ( L_{i+ 1}-L_{i}),\Delta \beta_{i}^2 \cdot( vL_{i} + vL_{i+1})   \right)
\cdot   

-\frac
{(\Delta \beta_{i}) \cdot  \frac{\partial L_{i+1}}{\partial \beta_{i+1}} +( L_{i+1}-L_{i})}
{|\Delta \beta_{i}| \cdot \sqrt{vL_i + vL_{i+1}}}
-\frac
{1-\Delta \beta_{i}\cdot (L_{i+1}-L_{i}) }
{\Delta \beta_{i}^2\cdot \sqrt{(vL_i+vL_{i+1})}}

\cdot 2 \cdot \frac {\Delta \beta_{i}}{|\Delta \beta_{i}|}

that is


 \frac
{( L_{i}-L_{i+1})-\Delta \beta_{i} \cdot  \frac{\partial L_{i+1}}{\partial  \beta_{i+1}} -\frac{2}{\Delta \beta_{i}} }
{|\Delta \beta_{i}|\cdot \sqrt{(vL_i+vL_{i+1})}}
lmoffatt commented 1 month ago
\mathcal{N_p}(\Delta \beta_i) \equiv  \mathcal{N} \left (1,\Delta \beta_{i}^{i+1} \cdot ( L_{i+ 1}-L_{i}),{\Delta \beta_{i}^{i+1}}^2 \cdot( vL_{i} + vL_{i+1})   \right)
\frac{ \partial A_i^{i+1} } {\partial \beta_{i}} 

 \approx
-\mathcal{N_p}(\Delta \beta_i^{i+1}) 
\cdot
\frac
{( L_{i+1}-L_{i})-\Delta \beta_{i} ^{i+1}
\cdot 
 \frac {\partial L_{i}}{\partial  \beta_{i}}  -\frac{2}{\Delta \beta_{i}^{i+1}} }
{|\Delta \beta_{i}^{i+1}|\cdot \sqrt{(vL_i+vL_{i+1})}}
\frac{ \partial A_i^{i+1} } {\partial \beta_{i+1}} 

 \approx
\mathcal{N_p}(\Delta \beta_i^{i+1}) 
\cdot
\frac
{( L_{i+1}-L_{i})-\Delta \beta_{i}^{i+1} 
\cdot 
 \frac {\partial L_{i+1}}{\partial  \beta_{i+1}}  -\frac{2}{\Delta \beta_{i}^{i+1}} }
{|\Delta \beta_{i}^{i+1}|\cdot \sqrt{(vL_i+vL_{i+1})}}
lmoffatt commented 1 month ago
\exp(s_i) =\frac {1}{\beta_{i}} -\frac {1}{\beta_{i+1} }
\exp(s_i)  +\frac {1}{\beta_{i+1} }=\frac {1}{\beta_{i}} 
\beta_{i}  = \frac {1}{\frac {1}{\beta_{i+1} }+\exp(s)}  
\beta_{i+1}  = \frac {1}{\frac {1}{\beta_{i} }-\exp(s)}  
lmoffatt commented 1 month ago
\frac{\partial \beta_{i} }{ \partial s_{i+1}^i} =-\frac {exp(s)}{(\exp(s)+\frac {1}{\beta_{i+1} })^2} =-\exp(s)\cdot \beta_i ^2
= -(\frac {\beta_i ^2}{\beta_{i}} -\frac {\beta_i ^2}{\beta_{i+1} })
\frac{\partial \beta_{i} }{ \partial s_{i+1}^i} = \frac {\beta_i ^2}{\beta_{i+1} }-\beta_i 
\frac{\partial \beta_{i+1} }{ \partial s_{i+1}^i} =\frac {-\exp(s)}{(-\exp(s)+\frac {1}{\beta_{i} })^2} =-(\frac {1}{\beta_{i}} -\frac {1}{\beta_{i+1} })\cdot \beta_{i+1} ^2
\frac{\partial \beta_{i+1} }{ \partial s_{i+1}^i} =\beta_{i+1} -\frac {\beta_{i+1} ^2}{\beta_{i}} 
lmoffatt commented 1 month ago

Now the expression that we want to make zero is $A{i+1}^{i+2} - A{i}^{i+1}$ by optimizing $s_i^{i+1} $ so, we differentiate:

\frac{ \partial (A_{i+1}^{i+2} - A_{i}^{i+1}) } {\partial s_i^{i+1}} 
 = \frac{ \partial A_{i+1}^{i+2}   } {\partial  s_i^{i+1}}  -\frac{ \partial A_{i}^{i+1} } {\partial  s_i^{i+1}} 
\frac{ \partial (A_{i+1}^{i+2} - A_{i}^{i+1}) } {\partial s_i^{i+1}} 
 = \frac{ \partial A_{i+1}^{i+2}   } {\partial  \beta_{i+1}} \cdot \frac{\partial  \beta_{i+1}} {\partial  s_i^{i+1}}  -\frac{ \partial A_{i}^{i+1} } {\partial  \beta_{i+1}} \cdot \frac{\partial  \beta_{i+1}} {\partial  s_i^{i+1}} 
\frac{ \partial (A_{i+1}^{i+2} - A_{i}^{i+1}) } {\partial s_i^{i+1}} 
 = \frac{ \partial A_{i+1}^{i+2}   } {\partial  \beta_{i+1}} \cdot   \beta_{i+1}^2  -\frac{ \partial A_{i}^{i+1} } {\partial  \beta_{i+1}} \cdot   \beta_{i+1}^2 

then our algorithm step is

s_i^{i+1} (t+1) =s_i^{i+1} (t) + \frac{\delta}   {\frac{ \partial (A_{i}^{i+1} -A_{i+1}^{i+2} ) } {\partial s_i^{i+1}} }\cdot(A_i^{i+1}-A_{i+1}^{i+2})
lmoffatt commented 1 month ago

most of the equations in this issue are wrong. i will post a new issue with an appropiate derivation