Probability of all points has been sampled after M trials If I have a sequential dataset of size 10,000 (e.g. timeseries) and sampling randomly a batch size of 100 random values, each point of the 100 is sampled with the next 5 points after it. so basically we have a batch contains 500 values. What is the probability that all 10,000 values has been selected M times after N sampling ? so if we sampled 1,000 times, what is the probability of all has been chosen at least once ? the rational behind that is making sure that all data has been used in training before proceeding with the next dataset.
Edit 1: the dataset doesn't get affected by sampling so basically consider the sampling to have replacement, and regarding the 5 next points after each of the 100 would make 500, my bad for not clarifying that.

In these complex situations it's often much easier to simulate the situation and find an approximate probability than to find an exact analytic expression. Here's a simulation in R showing there is approximately a 95% chance of including every point after 311 samples. Note that I assume: 1) sampling without replacement in each sample of 100, but allowing replacements after each sample of 100. 2) that the sampled point and the next 4 after it are included, for a total of 5 in each interval and a total of ~500 points in each batch (possibly less if there is overlap or if a point within 5 of the end is selected). You can tweak the simulation settings and try it yourself.
size_pop <- 10000
size_sample <- 100
points_after <- 4
times_included <- 1

set.seed(1234)
num_sims <- 2000
samps_required <- rep(0, num_sims)
for(i in 1:num_sims) {
  pop <- rep(0, size_pop)
  while(any(pop < times_included)) {
    samps_required[[i]] <- samps_required[[i]] + 1
    samp <- sample(1:size_pop, size_sample, replace = FALSE)
    for(j in 1:size_sample) {
      pop[samp[[j]]:min(size_pop, samp[[j]] + points_after)] <- 
        pop[samp[[j]]:min(size_pop, samp[[j]] + points_after)] + 1
    }
  }
}
samps_required <- samps_required[order(samps_required)]
summary(samps_required)
#>    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
#>   140.0   176.0   193.0   207.2   216.0   774.0
samps_required[ceiling(num_sims*0.95)]
#> [1] 311
hist(samps_required)


Created on 2022-07-11 by the reprex package (v2.0.1)
One more comment, in practical terms you should note that the very first observation is the least likely to be sampled. Forcing the first sample to contain the first data point improves the results quite nicely. I can't really comment on what effect that would have on your timeseries results, but I don't think it would cause any harm.
