R/statisticalTests.R
statisticalTests.Rd
These functions verify the Markov property, assess the order and stationarity of the Markov chain.
This function tests whether an empirical transition matrix is statistically compatible with a theoretical one. It is a chi-square based test. In case a cell in the empirical transition matrix is >0 that is 0 in the theoretical transition matrix the null hypothesis is rejected.
Verifies that the s elements in the input list belongs to the same DTMC
verifyMarkovProperty(sequence, verbose = TRUE)
assessOrder(sequence, verbose = TRUE)
assessStationarity(sequence, nblocks, verbose = TRUE)
verifyEmpiricalToTheoretical(data, object, verbose = TRUE)
verifyHomogeneity(inputList, verbose = TRUE)
Verification result
a list with following slots: statistic (the chi - square statistic), dof (degrees of freedom), and corresponding p-value. In case a cell in the empirical transition matrix is >0 that is 0 in the theoretical transition matrix the null hypothesis is rejected. In that case a p-value of 0 and statistic and dof of NA are returned.
a list of transition matrices?
Anderson and Goodman.
markovchain
sequence <- c("a", "b", "a", "a", "a", "a", "b", "a", "b",
"a", "b", "a", "a", "b", "b", "b", "a")
mcFit <- markovchainFit(data = sequence, byrow = FALSE)
verifyMarkovProperty(sequence)
#> Testing markovianity property on given data sequence
#> Chi - square statistic is: 0.28
#> Degrees of freedom are: 5
#> And corresponding p-value is: 0.9980024
assessOrder(sequence)
#> Warning: The accuracy of the statistical inference functions has been questioned. It will be thoroughly investigated in future versions of the package.
#> Warning: Chi-squared approximation may be incorrect
#> Warning: Chi-squared approximation may be incorrect
#> The assessOrder test statistic is: 1.55307e-31
#> The Chi-Square d.f. are: 2
#> The p-value is: 1
assessStationarity(sequence, 1)
#> Warning: The accuracy of the statistical inference functions has been questioned. It will be thoroughly investigated in future versions of the package.
#> Warning: Chi-squared approximation may be incorrect
#> Warning: Chi-squared approximation may be incorrect
#> The assessStationarity test statistic is: 0.1960191
#> The Chi-Square d.f. are: 0
#> The p-value is: 0
#Example taken from Kullback Kupperman Tests for Contingency Tables and Markov Chains
sequence<-c(0,1,2,2,1,0,0,0,0,0,0,1,2,2,2,1,0,0,1,0,0,0,0,0,0,1,1,
2,0,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,2,1,0,
0,2,1,0,0,0,0,0,0,1,1,1,2,2,0,0,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,0,2,
0,1,1,0,0,0,1,2,2,0,0,0,0,0,0,2,2,2,1,1,1,1,0,1,1,1,1,0,0,2,1,1,
0,0,0,0,0,2,2,1,1,1,1,1,2,1,2,0,0,0,1,2,2,2,0,0,0,1,1)
mc=matrix(c(5/8,1/4,1/8,1/4,1/2,1/4,1/4,3/8,3/8),byrow=TRUE, nrow=3)
rownames(mc)<-colnames(mc)<-0:2; theoreticalMc<-as(mc, "markovchain")
verifyEmpiricalToTheoretical(data=sequence,object=theoreticalMc)
#> Testing whether the
#> 0 1 2
#> 0 51 11 8
#> 1 12 31 9
#> 2 6 11 10
#> transition matrix is compatible with
#> 0 1 2
#> 0 0.625 0.250 0.125
#> 1 0.250 0.500 0.250
#> 2 0.250 0.375 0.375
#> [1] "theoretical transition matrix"
#> ChiSq statistic is 6.551795 d.o.f are 6 corresponding p-value is 0.3642899
#> $statistic
#> 0
#> 6.551795
#>
#> $dof
#> [1] 6
#>
#> $pvalue
#> 0
#> 0.3642899
#>
data(kullback)
verifyHomogeneity(inputList=kullback,verbose=TRUE)
#> Warning: The accuracy of the statistical inference functions has been questioned. It will be thoroughly investigated in future versions of the package.
#> Testing homogeneity of DTMC underlying input list
#> ChiSq statistic is 275.9963 d.o.f are 35 corresponding p-value is 0
#> $statistic
#> [1] 275.9963
#>
#> $dof
#> [1] 35
#>
#> $pvalue
#> [1] 0
#>