mewMean | R Documentation |
When desired, the x_mean
slot in an S4 object
of class mewTyp
may be updated to contain the correct moving
expanding window (MEW) average (it is not updated by the function
mewAccum
to save computation). If the slot know_mean
is unity, the slot x_mean
is up-to-date; otherwise; it is
not.
mewMean(av)
av |
(class mewTyp) the current state of the MEW average |
the updated instance of the argument av
n_iter <- 100 i_to_print <- 10 results <- matrix(data = double(2*n_iter/i_to_print), nrow = n_iter/i_to_print, ncol = 2) av <- mewInit(n_bin = 4, n_xx = 2, ff = 0.5) for (i in 1:n_iter) { value <- runif(n=2) value[1] <- ((cos(value[1]*2*pi))^2)*(1 - exp(-0.01*i)) value[2] <- (-((sin(value[2]*2*pi))^2))*(1 - exp(-0.01*i)) av <- mewAccum(xx = value, av = av) if (i%%i_to_print == 0) { av <- mewMean(av) show(av) results[i/i_to_print, ] <- mewGetMean(av) } } ## plot the results plot(c(1, (n_iter/i_to_print)), c(min(results), max(results)), type = "n") points(1:(n_iter/i_to_print), results[, 1]) points(1:(n_iter/i_to_print), results[, 2]) ## Now, a larger example, and we pause part way through to assess ## convergence n_iter <- 1000 av <- mewInit(n_bin = 4, n_xx = 5000, ff = 0.5) for (i in 1:n_iter) { new_samp <- runif(n = 5000) av <- mewAccum(xx = new_samp, av = av) } av <- mewMean(av = av) ## of course each element of the mean sould converge to 0.5. After ## 1000 iterations, the first six elements of the mean vector are show(av) ## run another 1000 iterations for (i in 1:1000) { new_samp <- runif(n = 5000) av <- mewAccum(xx = new_samp, av = av) } av <- mewMean(av) ## check the mean of the first six elements again show(av)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.