Em geral, eu sugeriria fortemente não codificar seu próprio MCMC para uma análise bayesiana aplicada real. Isso é bastante trabalho e tempo e é muito provável que introduza bugs no código. Os samplers de caixa preta, como o Stan, já usam samplers muito sofisticados. Confie em mim, você não codificará um amostrador desse calibre apenas para uma análise!
Existem casos especiais em que isso não será suficiente. Por exemplo, se você precisasse fazer uma análise em tempo real (por exemplo, decisão do computador com base nos dados recebidos), esses programas não seriam uma boa ideia. Isso ocorre porque o Stan exige a compilação do código C ++, que pode levar consideravelmente mais tempo do que apenas a execução de um amostrador já preparado para modelos relativamente simples. Nesse caso, você pode escrever seu próprio código. Além disso, acredito que há casos especiais em que pacotes como Stan se saem muito mal, como os modelos de espaço de estados não gaussianos (divulgação completa: acredito que Stan se sai mal nesse caso, mas não sabe). Nesse caso, pode valer a pena implementar um MCMC customizado. Mas esta é a exceção, não a regra!
Para ser sincero, acho que a maioria dos pesquisadores que escrevem amostradores para uma única análise (e isso acontece, eu já vi) o faz porque eles gostam de escrever seus próprios amostradores. No mínimo, posso dizer que me enquadro nessa categoria (ou seja, estou decepcionado que escrever meu próprio amostrador não seja a melhor maneira de fazer as coisas).
Além disso, embora não faça sentido escrever seu próprio amostrador para uma única análise , pode fazer muito sentido escrever seu próprio código para uma classe de análises. Como os JAGs, Stan etc. são amostradores de caixa preta, você sempre pode acelerar as coisas se especializando em um determinado modelo, embora a quantidade de aprimoramento dependa do modelo. Mas escrever um amostrador extremamente eficiente desde o início é talvez de 10 a 1.000 horas de trabalho, dependendo da experiência, da complexidade do modelo etc. Se você está pesquisando métodos Bayesianos ou escrevendo software estatístico, tudo bem; é o seu trabalho. Mas se o seu chefe disser "Ei, você pode analisar esse conjunto de dados de medidas repetidas?" e você gasta 250 horas escrevendo um amostrador eficiente, é provável que seu chefe fique chateado. Por outro lado, você poderia escrever esse modelo em Stan em, digamos, 2 horas e ter 2 minutos de tempo de execução em vez do tempo de execução de 1 minuto alcançado pelo amostrador eficiente.