Calculates Posterior Predictive P value for chi square (goodness of fit)
ppp_srsc(
StanS4class,
Colour = TRUE,
dark_theme = TRUE,
plot = TRUE,
summary = TRUE,
replicate.number.from.model.for.each.MCMC.sample = 100
)
An S4 object of class stanfitExtended
which is an inherited class from the S4 class stanfit
.
This R object is a fitted model object
as a return value of the function fit_Bayesian_FROC()
.
It can be passed to DrawCurves()
, ppp()
and ... etc
Logical: TRUE
of FALSE
. whether Colour of curves is dark theme or not.
TRUE or FALSE
Logical, whether replicated data are drawn, in the following notation, replicated data are denoted by
Logical: TRUE
of FALSE
. Whether to print the verbose summary. If TRUE
then verbose summary is printed in the R console. If FALSE
, the output is minimal. I regret, this variable name should be verbose.
A positive integer, representing
Suppose that
Let
Then the list of return values retains the following:
chisq_at_observed_data
chisq_not_at_observed_data
Logical
The i-th component is a logical vector indicating whether TRUE
, then the inequality holds.
p.value
From the component Logical
, we calculate the so-called Posterior Predictive P value. Note that the author hate this notion!! I hate it!! Akkan Beeeee!!!
A list, including p value and materials to calculate it.
In addition, this function plots replicated datasets from model at each MCMC sample generated by HMC.
Using the Hamiltonian Monte Carlo Sampling: HMC.
we can draw the MCMC
samples of size
Then, the function plots the following datasets
where
Let
and a chi square goodness of fit statistics of our non-hierarchical Bayesian Model
where a dataset
Then we can calculate the posterior predictive p value for a given dataset
When we plot these synthesized data-sets jitter()
which adds a small amount of noise to avoid overlapping points.
For example, jitter(c(1,1,1,1))
returns values: 1.0161940 1.0175678 0.9862400 0.9986126
, which is changed
from 1,1,1,1
to be not exactly 1 by adding tiny errors to avoid overlapping. I love you. 2019 August 19
Nowadays, I cannot remove my self from some notion, such as honesty, or pain, or,.. maybe these thing is no longer with myself.
This programm is made to fix previous release calculation. Now, this programm calculates correct p value.
So... I calculate the ppp for MCMC and Graphical User Interface based on Shiny for MRMC, which should be variable such as number of readers, modalities, to generate such ID vectors automatically. Ha,... tired! Boaring, I want to die...t, diet!! Tinko, tinko unko unko. Manko manko. ha.
Leberiya, he will be die, ha... he cannot overcome, very old, old guy. I will get back to meet him. Or I cannot meet him? Liberiya,...very wisdom guy, Ary you already die? I will get back with presents for you. Ball, I have to throgh ball, and he will catch it.
The reason why the author made the plot of data drawn from Posterior Predictive likelihoods with each MCMC parameters is to understand our programm is correct, that is, each drawing is very mixed. Ha,.... when wright this,... I always think who read it. I love you, Ruikobach. Ruikobach is tiny and tiny, but,... cute. Ruikosan...Ruiko... But he has time only several years. He will die, he lives sufficiently so long, ha.
Using this function, user would get reliable posterior predictive p values, Cheers! Pretty Crowd!
We note that the calculation of posterior perdictive p value (PPP) relies on the law of large number. Thus, in order to obtain the relicable PPP, we need to enough large MCMC samples to approximate the double integral of PPP. For example, the MCMC samples is small, then R hat is far from 1 but, the low MCMC samples leads us to incorrect p value which sometimes said that the model is correct even if the R hat criteria reject the MCMC results.
# NOT RUN {
# }
# NOT RUN {
#========================================================================================
# 1) Create a fitted model object with data named "d"
#========================================================================================
fit <- fit_Bayesian_FROC( dataList = d,
ite = 222 # to restrict running time, but it is too small
)
#========================================================================================
# 2) Calculate p value and meta data
#========================================================================================
ppp <- ppp_srsc(fit)
#========================================================================================
# 3) Extract a p value
#========================================================================================
ppp$p.value
# Revised 2019 August 19
# Revised 2019 Nov 27
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab