Skip to contents

Samples parameters of a mixture autoregressive model from respective posterior distributions.

Usage

bayes_mixAR(y, model, fix_shift = FALSE, a = .2, c = 2, tau, nsim, burnin)

Arguments

y

a time series (currently a numeric vector).

model

an object of class MixAR. Currently only handles MixARGaussian objects.

fix_shift

should shift be kept fixed? If FALSE (default) shift is sampled.

a, c

numeric hyperparameters, default values are from RichardsonGreen1997;textualmixAR.

tau

numeric vector of length g, the number of components in the mixture. Tuning parameter for M-H move in updating AR parameters. If length(tau) is 1, same tuning parameter is taken for all components.

nsim

numeric, the number of iterations.

burnin

numeric, the number of iterations taken as burn-in period.

Details

For details see ravagli2020bayesian;textualmixAR.

Value

a list with following elements:

mix_weights

a g columns matrix with samples from the posterior distributions of the mixing weights.

scale

a g columns matrix with samples from posterior distributions of scale parameters.

precision

a g columns matrix with samples from posterior distributions of precision parameters, defined as 1 / (scale ^ 2).

shift

a g columns matrix with samples from posterior distributions of shift parameters, namely phi_k0.

mu

a g columns matrix with samples from posterior distributions of component means, calculated as phi_k0 / (1 - phi_k1 - phi_k2 - ...).

ARcoeff

a list which elements are matrices, one for each AR component in the mixture.

acc_rate

numeric vector, the acceptance rate for M-H moves.

n_samp

the sample size, calculated as nsim - burnin.

LatentZ

the latest Z variables drawn (for utility only).

n_comp

the number of components in the mixture.

fix_shift

same as input, whether the shift parameter was kept fixed or not.

References

RichardsonGreen1997mixAR

ravagli2020bayesianmixAR

Author

Davide Ravagli

Examples

prob <- c(0.5, 0.5)
sigma <- c(1, 2)
ar <- list(-0.5, 1)

model <- new("MixARGaussian", prob = prob, scale = sigma, arcoef = ar)

## MAR(1,1) model
y <- mixAR_sim(model, 300, rep(0, max(model@order)))

bayes_mixAR(y, model, fix_shift = FALSE, tau = c(.15,.25), nsim = 20, burnin = 10)
#> $mix_weights
#>            [,1]      [,2]
#>  [1,] 0.5859404 0.4140596
#>  [2,] 0.5675420 0.4324580
#>  [3,] 0.6090409 0.3909591
#>  [4,] 0.5816917 0.4183083
#>  [5,] 0.5090090 0.4909910
#>  [6,] 0.4638817 0.5361183
#>  [7,] 0.4745710 0.5254290
#>  [8,] 0.5371336 0.4628664
#>  [9,] 0.5879339 0.4120661
#> [10,] 0.5532978 0.4467022
#> 
#> $scale
#>            [,1]     [,2]
#>  [1,] 1.1431564 2.074092
#>  [2,] 1.0450437 2.314067
#>  [3,] 1.0833460 1.938325
#>  [4,] 1.0272325 1.843347
#>  [5,] 1.0229076 2.113068
#>  [6,] 1.0677279 1.984406
#>  [7,] 0.9103989 2.082002
#>  [8,] 0.9609276 2.259794
#>  [9,] 1.1051917 2.143391
#> [10,] 1.1997655 2.147962
#> 
#> $precision
#>            [,1]      [,2]
#>  [1,] 0.7652242 0.2324578
#>  [2,] 0.9156534 0.1867446
#>  [3,] 0.8520510 0.2661625
#>  [4,] 0.9476817 0.2942969
#>  [5,] 0.9557124 0.2239614
#>  [6,] 0.8771600 0.2539446
#>  [7,] 1.2065256 0.2306948
#>  [8,] 1.0829756 0.1958223
#>  [9,] 0.8186999 0.2176694
#> [10,] 0.6947160 0.2167438
#> 
#> $shift
#>              [,1]        [,2]
#>  [1,] -0.17388804 -0.33229027
#>  [2,]  0.07111309 -0.19669854
#>  [3,]  0.04899561 -0.20119328
#>  [4,] -0.02118783 -0.36544546
#>  [5,] -0.08636606 -0.33550322
#>  [6,] -0.07308396 -0.16964398
#>  [7,] -0.05537787 -0.35371554
#>  [8,] -0.13936048 -0.04630361
#>  [9,] -0.05377540 -0.23745943
#> [10,] -0.05190417 -0.07954147
#> 
#> $mu
#>              [,1]      [,2]
#>  [1,] -0.11596246 3.1612893
#>  [2,]  0.04742389 1.2848873
#>  [3,]  0.03267419 1.3142482
#>  [4,] -0.01412974 2.3871872
#>  [5,] -0.05759580 2.1915965
#>  [6,] -0.04873823 1.1081598
#>  [7,] -0.03693039 2.3105643
#>  [8,] -0.09293672 0.3024675
#>  [9,] -0.03586174 1.5511483
#> [10,] -0.03461385 0.5195861
#> 
#> $ARcoeff
#> $ARcoeff$Component_1
#>             [,1]
#>  [1,] -0.4995202
#>  [2,] -0.4995202
#>  [3,] -0.4995202
#>  [4,] -0.4995202
#>  [5,] -0.4995202
#>  [6,] -0.4995202
#>  [7,] -0.4995202
#>  [8,] -0.4995202
#>  [9,] -0.4995202
#> [10,] -0.4158659
#> 
#> $ARcoeff$Component_2
#>           [,1]
#>  [1,] 1.153086
#>  [2,] 1.153086
#>  [3,] 1.153086
#>  [4,] 1.153086
#>  [5,] 1.153086
#>  [6,] 1.153086
#>  [7,] 1.153086
#>  [8,] 1.153086
#>  [9,] 1.153086
#> [10,] 1.153086
#> 
#> 
#> $acc_rate
#> [1] 0.1 0.1
#> 
#> $n_samp
#> [1] 10
#> 
#> $LatentZ
#>        latent Z  1 latent Z  2
#>   [1,]           0           1
#>   [2,]           0           1
#>   [3,]           0           1
#>   [4,]           0           1
#>   [5,]           1           0
#>   [6,]           1           0
#>   [7,]           0           1
#>   [8,]           0           1
#>   [9,]           1           0
#>  [10,]           1           0
#>  [11,]           0           1
#>  [12,]           1           0
#>  [13,]           1           0
#>  [14,]           1           0
#>  [15,]           0           1
#>  [16,]           1           0
#>  [17,]           0           1
#>  [18,]           1           0
#>  [19,]           0           1
#>  [20,]           0           1
#>  [21,]           1           0
#>  [22,]           1           0
#>  [23,]           0           1
#>  [24,]           1           0
#>  [25,]           1           0
#>  [26,]           0           1
#>  [27,]           1           0
#>  [28,]           0           1
#>  [29,]           0           1
#>  [30,]           1           0
#>  [31,]           1           0
#>  [32,]           1           0
#>  [33,]           0           1
#>  [34,]           1           0
#>  [35,]           1           0
#>  [36,]           1           0
#>  [37,]           0           1
#>  [38,]           1           0
#>  [39,]           1           0
#>  [40,]           1           0
#>  [41,]           1           0
#>  [42,]           1           0
#>  [43,]           1           0
#>  [44,]           0           1
#>  [45,]           0           1
#>  [46,]           1           0
#>  [47,]           1           0
#>  [48,]           0           1
#>  [49,]           1           0
#>  [50,]           0           1
#>  [51,]           1           0
#>  [52,]           0           1
#>  [53,]           1           0
#>  [54,]           1           0
#>  [55,]           1           0
#>  [56,]           1           0
#>  [57,]           0           1
#>  [58,]           0           1
#>  [59,]           0           1
#>  [60,]           1           0
#>  [61,]           0           1
#>  [62,]           1           0
#>  [63,]           0           1
#>  [64,]           1           0
#>  [65,]           0           1
#>  [66,]           0           1
#>  [67,]           1           0
#>  [68,]           0           1
#>  [69,]           1           0
#>  [70,]           0           1
#>  [71,]           1           0
#>  [72,]           1           0
#>  [73,]           0           1
#>  [74,]           0           1
#>  [75,]           0           1
#>  [76,]           1           0
#>  [77,]           1           0
#>  [78,]           0           1
#>  [79,]           0           1
#>  [80,]           1           0
#>  [81,]           0           1
#>  [82,]           0           1
#>  [83,]           0           1
#>  [84,]           1           0
#>  [85,]           0           1
#>  [86,]           1           0
#>  [87,]           0           1
#>  [88,]           0           1
#>  [89,]           1           0
#>  [90,]           1           0
#>  [91,]           1           0
#>  [92,]           1           0
#>  [93,]           0           1
#>  [94,]           1           0
#>  [95,]           0           1
#>  [96,]           0           1
#>  [97,]           1           0
#>  [98,]           1           0
#>  [99,]           1           0
#> [100,]           0           1
#> [101,]           0           1
#> [102,]           0           1
#> [103,]           0           1
#> [104,]           0           1
#> [105,]           1           0
#> [106,]           0           1
#> [107,]           0           1
#> [108,]           0           1
#> [109,]           0           1
#> [110,]           1           0
#> [111,]           1           0
#> [112,]           1           0
#> [113,]           1           0
#> [114,]           1           0
#> [115,]           0           1
#> [116,]           0           1
#> [117,]           1           0
#> [118,]           1           0
#> [119,]           1           0
#> [120,]           1           0
#> [121,]           1           0
#> [122,]           0           1
#> [123,]           1           0
#> [124,]           0           1
#> [125,]           0           1
#> [126,]           1           0
#> [127,]           1           0
#> [128,]           0           1
#> [129,]           0           1
#> [130,]           1           0
#> [131,]           0           1
#> [132,]           0           1
#> [133,]           0           1
#> [134,]           1           0
#> [135,]           0           1
#> [136,]           1           0
#> [137,]           1           0
#> [138,]           0           1
#> [139,]           1           0
#> [140,]           1           0
#> [141,]           1           0
#> [142,]           0           1
#> [143,]           0           1
#> [144,]           1           0
#> [145,]           0           1
#> [146,]           1           0
#> [147,]           0           1
#> [148,]           1           0
#> [149,]           1           0
#> [150,]           1           0
#> [151,]           0           1
#> [152,]           0           1
#> [153,]           1           0
#> [154,]           1           0
#> [155,]           0           1
#> [156,]           0           1
#> [157,]           0           1
#> [158,]           1           0
#> [159,]           1           0
#> [160,]           0           1
#> [161,]           1           0
#> [162,]           1           0
#> [163,]           1           0
#> [164,]           1           0
#> [165,]           0           1
#> [166,]           1           0
#> [167,]           1           0
#> [168,]           1           0
#> [169,]           1           0
#> [170,]           0           1
#> [171,]           1           0
#> [172,]           1           0
#> [173,]           1           0
#> [174,]           1           0
#> [175,]           0           1
#> [176,]           1           0
#> [177,]           0           1
#> [178,]           1           0
#> [179,]           1           0
#> [180,]           1           0
#> [181,]           0           1
#> [182,]           0           1
#> [183,]           1           0
#> [184,]           1           0
#> [185,]           0           1
#> [186,]           1           0
#> [187,]           0           1
#> [188,]           1           0
#> [189,]           0           1
#> [190,]           0           1
#> [191,]           0           1
#> [192,]           1           0
#> [193,]           1           0
#> [194,]           1           0
#> [195,]           1           0
#> [196,]           0           1
#> [197,]           0           1
#> [198,]           1           0
#> [199,]           1           0
#> [200,]           1           0
#> [201,]           0           1
#> [202,]           1           0
#> [203,]           1           0
#> [204,]           1           0
#> [205,]           0           1
#> [206,]           1           0
#> [207,]           1           0
#> [208,]           1           0
#> [209,]           1           0
#> [210,]           1           0
#> [211,]           0           1
#> [212,]           0           1
#> [213,]           1           0
#> [214,]           1           0
#> [215,]           0           1
#> [216,]           0           1
#> [217,]           1           0
#> [218,]           1           0
#> [219,]           1           0
#> [220,]           1           0
#> [221,]           0           1
#> [222,]           1           0
#> [223,]           1           0
#> [224,]           0           1
#> [225,]           1           0
#> [226,]           0           1
#> [227,]           1           0
#> [228,]           0           1
#> [229,]           1           0
#> [230,]           0           1
#> [231,]           0           1
#> [232,]           1           0
#> [233,]           0           1
#> [234,]           1           0
#> [235,]           0           1
#> [236,]           0           1
#> [237,]           0           1
#> [238,]           1           0
#> [239,]           1           0
#> [240,]           0           1
#> [241,]           0           1
#> [242,]           1           0
#> [243,]           1           0
#> [244,]           0           1
#> [245,]           1           0
#> [246,]           0           1
#> [247,]           0           1
#> [248,]           0           1
#> [249,]           0           1
#> [250,]           1           0
#> [251,]           0           1
#> [252,]           1           0
#> [253,]           1           0
#> [254,]           0           1
#> [255,]           0           1
#> [256,]           1           0
#> [257,]           1           0
#> [258,]           1           0
#> [259,]           0           1
#> [260,]           1           0
#> [261,]           1           0
#> [262,]           0           1
#> [263,]           1           0
#> [264,]           1           0
#> [265,]           1           0
#> [266,]           0           1
#> [267,]           0           1
#> [268,]           0           1
#> [269,]           0           1
#> [270,]           1           0
#> [271,]           1           0
#> [272,]           0           1
#> [273,]           0           1
#> [274,]           0           1
#> [275,]           1           0
#> [276,]           0           1
#> [277,]           1           0
#> [278,]           1           0
#> [279,]           0           1
#> [280,]           0           1
#> [281,]           1           0
#> [282,]           1           0
#> [283,]           0           1
#> [284,]           1           0
#> [285,]           1           0
#> [286,]           0           1
#> [287,]           1           0
#> [288,]           1           0
#> [289,]           0           1
#> [290,]           0           1
#> [291,]           0           1
#> [292,]           1           0
#> [293,]           0           1
#> [294,]           1           0
#> [295,]           1           0
#> [296,]           1           0
#> [297,]           1           0
#> [298,]           0           1
#> [299,]           1           0
#> 
#> $ncomp
#> [1] 2
#> 
#> $fix_shift
#> [1] FALSE
#>