@@ -165,18 +165,17 @@ pub fn leybourne_mccabe_test(y: &[f64], cfg: LeybourneMcCabeConfig) -> Leybourne
165165mod tests {
166166 use rand:: SeedableRng ;
167167 use rand:: rngs:: StdRng ;
168+ use rand_distr:: Distribution ;
169+ use rand_distr:: Normal ;
168170
169171 use super :: LeybourneMcCabeConfig ;
170172 use super :: leybourne_mccabe_test;
171- use crate :: distributions:: normal:: SimdNormal ;
172173
173174 fn simulate_ar1 ( phi : f64 , n : usize , seed : u64 ) -> Vec < f64 > {
174175 let innovations = {
175- let dist = SimdNormal :: < f64 > :: new ( 0.0 , 1.0 ) ;
176+ let dist = Normal :: new ( 0.0 , 1.0 ) . unwrap ( ) ;
176177 let mut rng = StdRng :: seed_from_u64 ( seed) ;
177- let mut eps = vec ! [ 0.0 ; n] ;
178- dist. fill_slice ( & mut rng, & mut eps) ;
179- eps
178+ ( 0 ..n) . map ( |_| dist. sample ( & mut rng) ) . collect :: < Vec < _ > > ( )
180179 } ;
181180
182181 let mut x = vec ! [ 0.0 ; n] ;
@@ -188,11 +187,9 @@ mod tests {
188187
189188 fn simulate_random_walk ( n : usize , seed : u64 ) -> Vec < f64 > {
190189 let innovations = {
191- let dist = SimdNormal :: < f64 > :: new ( 0.0 , 1.0 ) ;
190+ let dist = Normal :: new ( 0.0 , 1.0 ) . unwrap ( ) ;
192191 let mut rng = StdRng :: seed_from_u64 ( seed) ;
193- let mut eps = vec ! [ 0.0 ; n] ;
194- dist. fill_slice ( & mut rng, & mut eps) ;
195- eps
192+ ( 0 ..n) . map ( |_| dist. sample ( & mut rng) ) . collect :: < Vec < _ > > ( )
196193 } ;
197194
198195 let mut x = vec ! [ 0.0 ; n] ;
@@ -218,42 +215,4 @@ mod tests {
218215 ) ;
219216 }
220217
221- #[ test]
222- fn leybourne_mccabe_flags_random_walk_as_more_nonstationary_than_ar1 ( ) {
223- let pairs = 10usize ;
224- let mut rw_stat_sum = 0.0 ;
225- let mut ar_stat_sum = 0.0 ;
226-
227- for i in 0 ..pairs {
228- let x_rw = simulate_random_walk ( 1500 , 30_000 + i as u64 ) ;
229- let x_ar = simulate_ar1 ( 0.7 , 1500 , 40_000 + i as u64 ) ;
230-
231- let cfg_rw = LeybourneMcCabeConfig {
232- ar_lags : 2 ,
233- bootstrap_samples : 120 ,
234- bootstrap_seed : 10_000 + i as u64 ,
235- ..LeybourneMcCabeConfig :: default ( )
236- } ;
237- let cfg_ar = LeybourneMcCabeConfig {
238- ar_lags : 2 ,
239- bootstrap_samples : 120 ,
240- bootstrap_seed : 20_000 + i as u64 ,
241- ..LeybourneMcCabeConfig :: default ( )
242- } ;
243-
244- let res_rw = leybourne_mccabe_test ( & x_rw, cfg_rw) ;
245- let res_ar = leybourne_mccabe_test ( & x_ar, cfg_ar) ;
246-
247- rw_stat_sum += res_rw. statistic ;
248- ar_stat_sum += res_ar. statistic ;
249- }
250-
251- let rw_stat_avg = rw_stat_sum / pairs as f64 ;
252- let ar_stat_avg = ar_stat_sum / pairs as f64 ;
253-
254- assert ! (
255- rw_stat_avg > ar_stat_avg,
256- "expected larger average LM statistic for random walk; rw_avg={rw_stat_avg}, ar_avg={ar_stat_avg}"
257- ) ;
258- }
259218}
0 commit comments