Eu quero combinar dados de diferentes fontes.
Digamos que eu queira estimar uma propriedade química (por exemplo, um coeficiente de particionamento ):
Eu tenho alguns dados empíricos, variando devido a erro de medição em torno da média.
E, em segundo lugar, eu tenho um modelo que prevê uma estimativa de outras informações (o modelo também tem alguma incerteza).
Como posso combinar esses dois conjuntos de dados? [A estimativa combinada será usada em outro modelo como preditor].
Meta-análise e métodos bayesianos parecem ser adequados. No entanto, não encontrei muitas referências e idéias sobre como implementá-lo (estou usando R, mas também estou familiarizado com python e C ++).
Obrigado.
Atualizar
Ok, aqui está um exemplo mais real:
Para estimar a toxicidade de um produto químico (tipicamente expresso como = concentração em que 50% dos animais morrem), são realizadas experiências de laboratório. Felizmente, os resultados das experiências são reunidos em um banco de dados (EPA) .
Aqui estão alguns valores para o inseticida Lindane :
### Toxicity of Lindane in ug/L
epa <- c(850 ,6300 ,6500 ,8000, 1990 ,516, 6442 ,1870, 1870, 2000 ,250 ,62000,
2600,1000,485,1190,1790,390,1790,750000,1000,800
)
hist(log10(epa))
# or in mol / L
# molecular weight of Lindane
mw = 290.83 # [g/mol]
hist(log10(epa/ (mw * 1000000)))
No entanto, também existem alguns modelos disponíveis para prever toxicidade a partir de propriedades químicas ( QSAR ). Um desses modelos prevê a toxicidade do coeficiente de partição octanol / água ( ):
O coeficiente de particionamento de Lindano é e a toxicidade prevista é .l o g G C 50 [ m o l / L ] = - 4,902
lkow = 3.8
mod1 <- -0.94 * lkow - 1.33
mod1
Existe uma boa maneira de combinar essas duas informações diferentes (experimentos de laboratório e previsões de modelos)?
hist(log10(epa/ (mw * 1000000)))
abline(v = mod1, col = 'steelblue')
O combinado será usado posteriormente em um modelo como preditor. Portanto, um valor único (combinado) seria uma solução simples.
No entanto, uma distribuição também pode ser útil - se isso for possível na modelagem (como?).
fonte
Respostas:
A estimativa do seu modelo seria uma prévia útil.
Eu apliquei a seguinte abordagem em LeBauer et al 2013 e adaptei o código de priors_demo.Rmd abaixo.
Para parametrizar isso antes de usar a simulação, considere seu modelo
Agora imagine
theprior
é o seu anterior esão seus dados:
A maneira mais fácil de usar o prior será parametrizar uma distribuição que o JAGS reconhecerá.
fitdistrplus
N(mean(theprior), sd(theprior))
Em seguida, podemos ajustar um modelo usando JAGS
Finalmente, um enredo:
E você pode considerar
mu=5.08
sua estimativa do valor médio do parâmetro (rosa) esd = 0.8
seu desvio padrão; a estimativa preditiva posterior do logLC_50 (de onde você está obtendo suas amostras) está em vermelho.Referência
LeBauer, DS, D. Wang, K. Richter, C. Davidson e MC Dietze. (2013). Facilitar feedbacks entre medições de campo e modelos de ecossistema. Monografias Ecológicas 83: 133–154. doi: 10.1890 / 12-0137.1
fonte