Difference between revisions of "EU-kalat"

From Testiwiki
Jump to: navigation, search
(Bayes model for dioxin concentrations)
(Bayes model for dioxin concentrations: debugged and now it works)
Line 129: Line 129:
 
* Model run 28.2.2017 with Mu estimates [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=TwY2bAIiWr037zqb]
 
* Model run 28.2.2017 with Mu estimates [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=TwY2bAIiWr037zqb]
 
* Model run 1.3.2017 [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=3Xu19vkWK1lyWVg3]
 
* Model run 1.3.2017 [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=3Xu19vkWK1lyWVg3]
* Model run 23.4.2017 [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=yblH8XsmSUp0yRPL] produces list conc.param and ovariable concantration
+
* Model run 23.4.2017 [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=8DnCPAKsMxGALkjs] produces list conc.param and ovariable concentration
  
 
<rcode name="bayes" label="Sample Bayes model (for developers only)" graphics=1>
 
<rcode name="bayes" label="Sample Bayes model (for developers only)" graphics=1>
Line 136: Line 136:
 
library(OpasnetUtils)
 
library(OpasnetUtils)
 
library(reshape2)
 
library(reshape2)
library(rjags)
+
library(rjags) # JAGS
 +
library(ggplot2)
 
library(MASS) # mvrnorm
 
library(MASS) # mvrnorm
 
library(car) # scatterplotMatrix
 
library(car) # scatterplotMatrix
Line 215: Line 216:
 
dimnames(samps.j$ans.pred) <- list(Fish = fisl, Compound=conl,Iter=1:N, Chain=1:4)
 
dimnames(samps.j$ans.pred) <- list(Fish = fisl, Compound=conl,Iter=1:N, Chain=1:4)
  
##### cong.param contains expected values of the distribution parameters from the model
+
##### conc.param contains expected values of the distribution parameters from the model
cong.param <- list(
+
conc.param <- list(
 
   mu = apply(samps.j$mu[,,,1], MARGIN = c(1,2), FUN = mean),
 
   mu = apply(samps.j$mu[,,,1], MARGIN = c(1,2), FUN = mean),
 
   Omega = apply(samps.j$Omega[,,,,1], MARGIN = c(1,2,3), FUN = mean)
 
   Omega = apply(samps.j$Omega[,,,,1], MARGIN = c(1,2,3), FUN = mean)
Line 223: Line 224:
 
concentration <- Ovariable(
 
concentration <- Ovariable(
 
   "concentration",
 
   "concentration",
   dependencies = data.frame(Name = "cong.param"),
+
   dependencies = data.frame(Name = "conc.param"),
 
   formula = function(...) {
 
   formula = function(...) {
 
     jsp <- lapply(
 
     jsp <- lapply(
       1:length(cong.param$mu[,1]),
+
       1:length(conc.param$mu[,1]),
 
       FUN = function(x) {
 
       FUN = function(x) {
         temp <- exp(mvrnorm(openv$N, cong.param$mu[x,], cong.param$Omega[x,,]))
+
         temp <- exp(mvrnorm(openv$N, conc.param$mu[x,], conc.param$Omega[x,,]))
         dimnames(temp) <- c(list(Iter = 1:openv$N), dimnames(cong.param$mu)[2])
+
         dimnames(temp) <- c(list(Iter = 1:openv$N), dimnames(conc.param$mu)[2])
 
         return(temp)
 
         return(temp)
 
       }
 
       }
 
     )
 
     )
     names(jsp) <- dimnames(cong.param$mu)[[1]]
+
     names(jsp) <- dimnames(conc.param$mu)[[1]]
 
     jsp <- melt(jsp, value.name = "Result")
 
     jsp <- melt(jsp, value.name = "Result")
 
     colnames(jsp)[colnames(jsp)=="L1"] <- "Fish" # Convert automatic name to meaningful
 
     colnames(jsp)[colnames(jsp)=="L1"] <- "Fish" # Convert automatic name to meaningful
Line 241: Line 242:
 
)
 
)
  
#objects.store(concentration, conc.param)
+
objects.store(concentration, conc.param)
#cat("Ovariable concentration and list conc.params stored.\n")
+
cat("Ovariable concentration and list conc.params stored.\n")
  
 
# Predictions for all congeners of fish1 (Baltic herring)
 
# Predictions for all congeners of fish1 (Baltic herring)

Revision as of 15:38, 23 April 2017


EU-kalat is a study, where concentrations of PCDD/Fs, PCBs, PBDEs and heavy metals have been measured from fish

Question

The scope of EU-kalat study was to measure concentrations of persistent organic pollutants (POPs) including dioxin (PCDD/F), PCB and BDE in fish from Baltic sea and Finnish inland lakes and rivers. [1] [2] [3].

Answer

The original sample results can be acquired from Opasnet base. The study showed that levels of PCDD/Fs and PCBs depends especially on the fish species. Highest levels were on salmon and large sized herring. Levels of PCDD/Fs exceeded maximum level of 4 pg TEQ/g fw multiple times. Levels of PCDD/Fs were correlated positively with age of the fish.

Mean congener concentrations as WHO2005-TEQ in Baltic herring can be printed out with the Run code below.

+ Show code

Rationale

Data

Data was collected between 2009-2010. The study contains years, tissue type, fish species, and fat content for each concentration measurement. Number of observations is 285.

There is a new study EU-kalat 3, which will produce results in 2016.

Calculations

+ Show code

Bayes model for dioxin concentrations

  • Model run 28.2.2017 [6]
  • Model run 28.2.2017 with corrected survey model [7]
  • Model run 28.2.2017 with Mu estimates [8]
  • Model run 1.3.2017 [9]
  • Model run 23.4.2017 [10] produces list conc.param and ovariable concentration

+ Show code

See also

References

  1. A. Hallikainen, H. Kiviranta, P. Isosaari, T. Vartiainen, R. Parmanne, P.J. Vuorinen: Kotimaisen järvi- ja merikalan dioksiinien, furaanien, dioksiinien kaltaisten PCB-yhdisteiden ja polybromattujen difenyylieettereiden pitoisuudet. Elintarvikeviraston julkaisuja 1/2004. [1]
  2. E-R.Venäläinen, A. Hallikainen, R. Parmanne, P.J. Vuorinen: Kotimaisen järvi- ja merikalan raskasmetallipitoisuudet. Elintarvikeviraston julkaisuja 3/2004. [2]
  3. Anja Hallikainen, Riikka Airaksinen, Panu Rantakokko, Jani Koponen, Jaakko Mannio, Pekka J. Vuorinen, Timo Jääskeläinen, Hannu Kiviranta. Itämeren kalan ja muun kotimaisen kalan ympäristömyrkyt: PCDD/F-, PCB-, PBDE-, PFC- ja OT-yhdisteet. Eviran tutkimuksia 2/2011. ISSN 1797-2981 ISBN 978-952-225-083-4 [3]