
    !gFp              
          d Z ddlmZmZmZmZmZ ddlZddl	m
Z
mZmZmZ ddlZddlmZ ddlZddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZmZmZmZ ddl m!c m"Z# ddl m$Z$m%Z% ejL                  jN                  Z(e(dd dz  Z)e(dz  Z*d Z+d Z,d Z-d Z.d Z/ej`                  jb                  d        Z2d Z3d Z4d Z5d Z6d Z7d Z8 G d d      Z9erdneZ:ee: deddd d!d"d#d$g
Z;g d%Z< e=e;e<      D  cg c]	  \  } }| |f c}} Z>ej`                  j                  d&e>      d'        Z@ G d( d)      ZA G d* d+      ZB G d, d-      ZCd. ZDyc c}} w )/z/tests for some time series analysis functions

    )PD_LT_2_2_0QUARTER_ENDYEAR_ENDassert_frame_equalassert_series_equalN)assert_array_almost_equalassert_array_equalassert_equalassert_raises)	to_offset)
regression)	macrodata)	stattools)savedrvs)mlacfmlccfmlpacfmlywar)vecvechi     @@c                     t        j                  t        ddd      } t        t        j
                  j                         | d       t        j                  t        ddd      } t        t        j                  j                         | d       y )NF   )adjustedfftnlags   )	r   acfx100r   r   acf100ravelx1000acf1000)acf_xs    a/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/statsmodels/tsa/tests/test_tsa_tools.pytest_acfr&   )   s_    MM$EDEell002E1=MM%%U"EEua    c                  p   t        j                  t        dd  t        d d d      d d } t        t        j
                  j                         d d d d d   | d       t        j                  t        dd  t        d d d      d d } t        t        j                  j                         d d d d d   | d       y )N   F)r      r   )	r   ccfr   r   r   ccf100r!   r"   ccf1000)ccf_xs    r%   test_ccfr1   2   s    MM$qr(D"I>sCEell0023B7"=uaHMM%)U3BZ%@"EEemm113CR82>qIr'   c                     t        j                  t        dd      } t        t        j
                  j                         | d       t        j                  t        dd      } t        t        j                  j                         | d       y )Nr   mlemethod      )	r   pacf_ywr   r   r   pacf100r!   r"   pacf1000)pacfyws    r%   test_pacf_ywr<   9   s\    tR6Ffnn224fa@ub7Ffoo335vqAr'   c                     t        j                  t        d      } t        t        j
                  j                         | d       t        j                  t        d      } t        t        j                  j                         | d       y )Nr   r   )	r   pacf_olsr   r   r   r9   r!   r"   r:   )pacfolss    r%   test_pacf_olsr@   A   sX      r*Gfnn224gqA  +Gfoo335wBr'   c                      t        t        j                  dd  t        j                  t
        dd      d    d       t        t        j                  dd  t        j                  t        dd      d    d       y )Nr6   
   r3   r4   r   r   r   )r   r   	arcoef100r   yule_walkerr   
arcoef1000r"    r'   r%   test_ywcoefrG   I   sn    			b	7	::	
 !"			r%	8	;;	r'   c                  ^    t        j                  g d      } t        j                  | d       y )N)r6   r,   r7   r7   r   r6   r   r   r      )nparrayr   rD   )xs    r%   test_yule_walker_interrO   V   s#     	56A1a r'   c           
      B   t        dd      D ]  }t        j                  t        j                  j                  ||dz   z  dz              }t        j                  |      }t        j                  t        |      t        j                  |t        |                  rJ  y )Nr7   rB   r6   )rangetoolsunvechrL   randomrandnduplication_matrixarray_equalr   dotr   )reset_randomstatekmDks       r%   test_duplication_matrixr]   ^   sv    1b\ ;LLa!e)9:;%%a(~~c!fbffRa&9:::;r'   c           
         t        dd      D ]u  }t        j                  j                  ||      }t	        j
                  |      }t        j                  t        |      t        j                  |t        |                  ruJ  y )Nr7   rB   )
rQ   rL   rT   rU   rR   elimination_matrixrW   r   rX   r   )rY   rZ   r[   Lks       r%   test_elimination_matrixra   e   sb    1b\ ;IIOOAq!%%a(~~d1grvvb#a&'9:::;r'   c           	          t         j                  j                  dd      }t        j                  dd      }t        j
                  t        |j                        t        j                  |t        |                  sJ y )Nr)   rK   )	rL   rT   rU   rR   commutation_matrixrW   r   TrX   )rY   r[   Ks      r%   test_commutation_matrixrf   l   sS    
		1A  A&A>>#acc(BFF1c!f$5666r'   c                      t        j                  ddgddgg      } t        j                  t        |       g d      sJ y )Nr6   r7   rK   r)   )r6   rK   r7   r)   )rL   rM   rW   r   arrs    r%   test_vecrj   r   s5    
((QFQF#
$C>>#c(L111r'   c                      t        j                  g dg dg dg      } t        j                  t        |       g d      sJ y )N)r6   r7   rK   )r)         )   r   	   )r6   r)   rn   rl   r   ro   )rL   rM   rW   r   rh   s    r%   	test_vechrp   w   s0    
((Iy)4
5C>>$s)%7888r'   c                      t        j                  g d      } t        j                  t        j                  |             j                         rJ y )N)	g     @g      Yg      $      ?        rr         $@g      Y@r   )rL   rM   isnanrR   _ar_transparamsanyrh   s    r%   test_ar_transparamsrx   |   s>    
((DC xx--c23779999r'   c                       e Zd Zed        Zd Zd Zd Zd Zd Z	d Z
d Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zy)
TestLagmatc           
         t        j                         }|j                  g d   | _        t	        | j                  j
                        }|j                  d      | _        |j                  d      | _        t        j                  j                  d       t        j                  j                  d      | _        t        | j                  j                  | j                  j                         D cg c]1  \  }}t#        t%        |            dz   t#        t%        |            z   3 }}}|| j                  _        | j                  j&                  | _        y c c}}w )Nyearquarterrealgdpcpir   r   90  d   -Q)r   load_pandasdatamacro_dflistcolumnsindexrealgdp_loccpi_locrL   rT   seedrU   random_datazipr}   r~   strintr   series)clsr   colsyrqur   s         r%   setup_classzTestLagmat.setup_class   s    $$&yy!FGCLL(()**Y/jj'
		u))//#. cll//1E1EF
B BL4#c"g,.
 
 #\\%%

s   06Ec                 B   | j                   j                  }|j                  t              }t	        j
                  |d d df   dd      }t        j                  |dd d df   ||dd df   f      }t        j                  || j                  d      }t        ||       y Nr7   rK   Bothtrimr,   r   valuesastypefloatr   lagmatrL   column_stackrR   add_lagr   r
   selfr   nddatar   resultslag_datas         r%   test_add_lag_insertzTestLagmat.test_add_lag_insert   s    }}##U#!!&A,?//6!"bqb&>66!"b&>"JK==t'7'7;Xw'r'   c                 6   | j                   j                  }|j                  t              }t	        j
                  |d d df   dd      }t        j                  |dd d d f   |f      }t        j                  || j                  dd      }t        ||       y Nr7   rK   r   r   Finsertr   r   s         r%   test_add_lag_noinsertz TestLagmat.test_add_lag_noinsert   s|    }}##U#!!&A,?//6!"a%=&"9:==t'7'75IXw'r'   c                    | j                   j                  }|j                  t              }t	        j
                  |d d df   dd      }t        j                  |dd d d f   |f      }t        j                  || j                  dd      }t        ||       t        j                  || j                  dd      }t        ||       y Nr,   rK   r   r   Fr   T)r   r   r   r   r   r   rL   r   rR   r   r   r
   r   r   r   r   r   r   	lag_data2s          r%   test_add_lag_noinsert_atendz&TestLagmat.test_add_lag_noinsert_atend   s    }}##U#!!&B-@//6!"a%=&"9:==t||QuEXw'MM$aE	Y(r'   c                 .   | j                   j                  }|j                  t              }t	        j
                  |d d df   dd      }t        j                  |dd d df   ||dd df   f      }t        j                  |dd      }t        ||       y r   r   r   r   r   r   r   rL   r   rR   r   r
   r   s         r%   test_add_lag_ndarrayzTestLagmat.test_add_lag_ndarray   s    }}##U#!!&A,?//6!"bqb&>66!"b&>"JK==A.Xw'r'   c                 "   | j                   j                  }|j                  t              }t	        j
                  |d d df   dd      }t        j                  |dd d d f   |f      }t        j                  |ddd      }t        ||       y r   r   r   s         r%   test_add_lag_noinsert_ndarrayz(TestLagmat.test_add_lag_noinsert_ndarray   sv    }}##U#!!&A,?//6!"a%=&"9:==Ae<Xw'r'   c                 l   | j                   j                  }|j                  t              }t	        j
                  |d d df   dd      }t        j                  |dd d d f   |f      }t        j                  |ddd      }t        ||       t        j                  |ddd      }t        ||       y r   r   r   s          r%   "test_add_lag_noinsertatend_ndarrayz-TestLagmat.test_add_lag_noinsertatend_ndarray   s    }}##U#!!&B-@//6!"a%=&"9:==Ae<Xw'MM&"a=	Y(r'   c                 :   | j                   }|j                  d   }t        j                  |ddd      \  }}t	        j
                  |dz   df      }t        d      D ]  }|||||z   |f<    |d d d df   }|d d dd f   }t        ||       t        ||       y )Nr   rK   nonesepr   originalr)   r6   )r   shaper   r   rL   zerosrQ   r
   )	r   r   nr   leadsexpectediexpected_leadsexpected_lagss	            r%   test_sep_returnzTestLagmat.test_sep_return   s    JJqM!((qvN88QUAJ'q 	*A%)HQQY\"	*!!RaR% AB]F+^U+r'   c                    | j                   }t        j                  |dd      }t        j                  |dd  |f      }t        j                  |dd      }t        ||       |d d d f   }t        j                  |dd      }t        j                  |dd  |f      }t        j                  |dd      }t        ||       y )NrK   r   r   Tlagsr   )r   r   r   rL   r   rR   r   r
   )r   r   r   r   r   s        r%   test_add_lag1dzTestLagmat.test_add_lag1d   s    !!$7//48V"45==Ad;Wh' AtG}!!$7//48V"45==Ad;Wh'r'   c                     | j                   }t        j                  |dd      }t        j                  |ddd      }t        ||       t        j                  |ddd      }t        ||       y )NrK   r   r   T)r   dropr   F)r   r   r   rR   r   r
   )r   r   r   r   s       r%   test_add_lag1d_dropzTestLagmat.test_add_lag1d_drop   s_    !!$7==ADFVX& ==ADGVX&r'   c                 p   t        j                  ddt        fg      }| j                  }||d<   t	        j
                  |ddd      }t        j                  |ddd	
      }t        ||       t        j                  |ddd
      }t        ||       t        j                  |dd	
      }t        ||       y )Nr   variabledtyperK   r   inr   r   Tr   F	rL   r   r   r   r   r   rR   r   r
   r   r   r   r   r   s        r%   test_add_lag1d_structz TestLagmat.test_add_lag1d_struct   s    xxZ$7#89!!!Z!!&!&4H==qq>VX&==qq?VX&==Ad;VX&r'   c                     t        j                  ddt        fg      }| j                  }||d<   t	        j
                  |dd      }t        j                  |dd      }t        ||       y )	Nr   r   r   rK   r   r   T)r   r   r   r   s        r%   test_add_lag_1d_drop_structz&TestLagmat.test_add_lag_1d_drop_struct   s_    xxZ$7#89!!!Z!!&!&9==AD9VX&r'   c                 F   | j                   j                  }|j                  t              }t	        j
                  |d d df   dd      }t        j                  |dd d df   ||dd df   f      }t        j                  || j                  dd      }t        ||       y )Nr7   rK   r   r   r,   T)r   r   r   s         r%   test_add_lag_drop_insertz#TestLagmat.test_add_lag_drop_insert  s    }}##U#!!&A,?//6!"bqb&>66!"b&>"JK==t'7'7FXw'r'   c                 ^   | j                   j                  }|j                  t              }t	        j
                  |d d df   dd      }t        j                  |dd t        j                  g d      f   |f      }t        j                  || j                  ddd      }t        ||       y )	Nr7   rK   r   r   )r   r6   rK   FT)r   r   )r   r   r   r   r   r   rL   r   rM   rR   r   r   r
   r   s         r%   test_add_lag_drop_noinsertz%TestLagmat.test_add_lag_drop_noinsert  s    }}##U#!!&A,?//6!"bhhy.A*A#BF"KL==$""Ae$
 	Xw'r'   c                    | j                   }t        j                  |ddd      }t        j                  |j                  ddd      }t	        ||       t        j                  |ddd      }t        j                  |j                  ddd      }t	        ||       t        j                  |ddd      \  }}t        j                  |j                  ddd      \  }}t	        ||       t	        ||       y )	NrK   bothr   r   r   exforwardr   )r   r   r   r   r
   )r   r   r   both_npr   lags_npleadlead_nps           r%   test_dataframe_without_pandasz(TestLagmat.test_dataframe_without_pandas  s    }}aftD""4;;NT7#aftD""4;;NT7#%%dAIN
d$++KKU
 	T7#T7#r'   c                    | j                   }t        |j                        }|j                  d   }t	        j
                  |dz   df      }|j                  |d |d df<   t        dd      D ]R  }|D cg c]  }|dz   t        |      z    }}|j                  |       |j                  ||||z   d|z  d|dz   z  f<   T |j                  }|d | }t        j                  |||      }	|	j                  dd  }	t        j                  | j                   ddd	d
      }
t!        |
|	       t        j                  | j                   dddd
      }t!        ||	j                  d d dd f          t        j                  | j                   dddd
      \  }}t!        ||	j                  d d dd f          t!        ||	j                  d d d df          y c c}w )Nr   rK      r)   r6   .L.r   r   r   r   Tr   r   
use_pandasr   r   )r   r   r   r   rL   r   r   rQ   r   extendr   pd	DataFrameilocr   r   r   r   r   r   r   r   lagcolnew_colsr   r   r   r   r   s                r%   test_dataframe_bothzTestLagmat.test_dataframe_both*  s   }}t||$JJqM1q5"+&rr2A2vA; 	IC:>?3ec#h.?H?NN8$=A[[F3S=!c'AqM"99:	I 

<<uE==$MM16DT
 	4*MM16DT
 	4q!"u!56%%MM16Ed

d 	4q!"u!564q"1"u!56) @s   3Gc                     t        t        t        j                  | j                  dd       t        t        t        j                  | j                  j
                  d       y )Ni,  Tr   r   
ValueErrorr   r   r   r   r   s    r%   test_too_few_observationsz$TestLagmat.test_too_few_observationsG  s?    	(($--	
 	j)"2"2DMM4H4H#Nr'   c                     t        t        t        j                  | j                  ddd       t        t        t        j                  | j                  j
                  dd       y )NrK   unknownTr   r   r   r   r   s    r%   test_unknown_trimzTestLagmat.test_unknown_trimM  sO    MM	
 	MM  	
r'   c                    | j                   }t        |j                        }|j                  d   }t	        j
                  |dz   df      }|j                  |d |d df<   t        dd      D ]R  }|D cg c]  }|dz   t        |      z    }}|j                  |       |j                  ||||z   d|z  d|dz   z  f<   T |j                  }|d | }t        j                  |||      }	t        j                  | j                   ddd	d
      }
t        |
|	       t        j                  | j                   dddd
      }t        ||	j                   d d dd f          t        j                  | j                   dddd
      \  }}t        ||	j                   d d dd f          t        ||	j                   d d d df          y c c}w )Nr   rK   r   r)   r6   r   r   r   r   Tr   r   r   )r   r   r   r   rL   r   r   rQ   r   r   r   r   r   r   r   r   r   r   s                r%   test_dataframe_forwardz!TestLagmat.test_dataframe_forward^  s   }}t||$JJqM1q5"+&rr2A2vA; 	IC:>?3ec#h.?H?NN8$=A[[F3S=!c'AqM"99:	I 

<<uEMM19t
 	4*MM19t
 	4q!"u!56%%MM19u

d 	4q!"u!564q"1"u!56% @s   3Gc                 l   t        t        t        j                  | j                  ddd       t        t        t        j                  | j                  ddd       t        t        t        j                  | j
                  ddd       t        t        t        j                  | j
                  ddd       y )NrK   r   Tr   backward)r   r   r   r   r   r   r   s    r%   test_pandas_errorszTestLagmat.test_pandas_errorsy  s    MM	
 	MM	
 	KK	
 	KK	
r'   c           	         t        j                  | j                  j                  g d      }| j                  |d<   t	        dd      D ]5  }| j                  j                  |      |dt        t        |            z   <   7 |j                  d      }t        j                  | j                  dd	d
d      }t        ||       t        j                  | j                  dd	dd      }t        ||j                  d d dd f          t        j                  | j                  dd	dd      \  }}t        ||j                  d d d df          t        ||j                  d d dd f          y )Nr   zcpi.L.1zcpi.L.2zcpi.L.3r   r   r   r6   r)   cpi.L.rs   rK   r   r   Tr   r   r   )r   r   r   r   rQ   shiftr   r   fillnar   r   r   r   r   r   r   r   r   r   s         r%   test_series_forwardzTestLagmat.test_series_forward  s8   <<++##<
 ++A; 	HC151B1B31GHXCH-.	H??3'KKTd
 	4*KKTd
 	4q!"u!56%%KKUt

d 	4q"1"u!564q!"u!56r'   c           	         t        j                  | j                  j                  g d      }| j                  |d<   t	        dd      D ]5  }| j                  j                  |      |dt        t        |            z   <   7 |j                  dd  }t        j                  | j                  ddd	d
      }t        ||       t        j                  | j                  dddd
      }t        ||j                  d d dd f          t        j                  | j                  dddd
      \  }}t        ||j                  d d d df          t        ||j                  d d dd f          y )Nr  r  r   r6   r)   r  rK   r   r   Tr   r   r   )r   r   r   r   rQ   r  r   r   r   r   r   r   r
  s         r%   test_series_bothzTestLagmat.test_series_both  s:   <<++##<
 ++A; 	HC151B1B31GHXCH-.	H==$KK$4
 	4*KK$4
 	4q!"u!56%%KK%D

d 	4q"1"u!564q!"u!56r'   c                 0   t        j                  t        j                  d      j	                  d            }t        j
                  d      |_        t        j                  |dd      }|j                  dk(  sJ t        |j                        g dk(  sJ y )N   r,   r7   r7   Tmaxlagr   )r   r)   )z0.L.1z1.L.1z0.L.2z1.L.2)r   r   rL   arangereshape
RangeIndexr   r   r   r   r   )r   dfresults      r%   test_range_index_columnsz#TestLagmat.test_range_index_columns  sq    \\"))C.009:]]1%
!!"Q4@||x'''FNN#'KKKKr'   c                    t        j                  t        j                  d      j	                  d            }ddg|_        t        j                  t        d      5  t        j                  |dd	       d d d        y # 1 sw Y   y xY w)
Nr  r  r   0zColumns names must bematchr7   Tr  )r   r   rL   r  r  r   pytestraisesr   r   r   r   r  s     r%   test_duplicate_column_namesz&TestLagmat.test_duplicate_column_names  sd    \\"))C.009:X
]]:-DE 	<Rd;	< 	< 	<s   A>>BN)__name__
__module____qualname__classmethodr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   rF   r'   r%   rz   rz      s    & & ((	)((	)
,('''(($"7:O
"76 
D7070L<r'   rz   Az-MARQSzQS-APRWzW-MONBDh)
r6   r6   r)   r)   r)   4   r+  rl   rn      freq_expectedc                     | \  }}t        t        j                  |      |       t        t        j                  t        |            |       y )N)r
   rR   freq_to_periodr   )r-  freqr   s      r%   test_freq_to_periodr1    s9    "ND(%%d+X6%%io6Ar'   c                   :    e Zd Zed        Zd Zd Zd Zd Zd Z	y)TestDetrendc                     t        j                  d      | _        t        j                  d      j                  dd      | _        y )Ng      @rt   rl   r7   )rL   r  data_1dr  data_2dr   s    r%   r   zTestDetrend.setup_class  s-    iiniio--a3r'   c                     | j                   }t        t        j                  |d      t	        j
                  |             t        t        j                  |d      g d       y )Nr6   orderr   rI   r,   r   r6   r7   )r5  r   rR   detrendrL   
zeros_liker   r   s     r%   test_detrend_1dzTestDetrend.test_detrend_1d  sG    ||!MM$a("--*=	
 	"MM$a(*;	
r'   c           	      J   | j                   }t        t        j                  |dd      t	        j
                  |             t        t        j                  |dd      ddgddgddgddgddgg       t        t        j                  |dd      dd	gdd	gdd	gdd	gdd	gg       y )
Nr6   r   r:  axisr*   rI   r7   r)               ?)r6  r   rR   r<  rL   r=  r>  s     r%   test_detrend_2dzTestDetrend.test_detrend_2d  s    ||!MM$aa0"--2E	
 	"MM$aa0"XBx!Q!Q!Q8	
 	"MM$aa0C[4+c{T3K$M	
r'   c                    t        j                  | j                  d      }t        j                  |d      }t        |j                  t        j                  |             t        |t        j                  |j                  d             t        j                  |d      }t        |j                  t        j                  g d             t        |t        j                  |j                  d             y )None)namer6   r9  r   r;  )
r   Seriesr5  rR   r<  r   r   rL   r=  r   )r   r   	detrendeds      r%   test_detrend_serieszTestDetrend.test_detrend_series  s    yyE2MM$a0	!)"2"2BMM$4GHIryy1A1A'NOMM$a0	!bii(9:	
 	Iryy1A1A'NOr'   c           	         ddg}dD cg c]  }| }}t        j                  | j                  ||      }t        j                  |dd      }t        |j                  t        j                  |             t        |t        j                  |j                  ||             t        j                  |dd      }t        |j                  ddgd	d	gddgd
d
gddgg       t        |t        j                  |j                  ||             t        j                  |dd      }t        |j                  ddgddgddgddgddgg       t        |t        j                  |j                  ||             y c c}w )NrG  twoabcder   r6   r   rA  r*   rI   r7   r)   rC  rD  )
r   r   r6  rR   r<  r   r   rL   r=  r   )r   r   cr   r   rJ  s         r%   test_detrend_dataframez"TestDetrend.test_detrend_dataframe  sX   %.#$q$$||DLL'GMM$aa8	!)"2"2BMM$4GHLL))7%H	

 MM$aa8	!Bx"bAq6Aq6Aq6J	
 	LL))7%H	

 MM$aa8	!C[4+c{T3K$M	
 	LL))7%H	
1 %s   	E6c                 h    t        t        t        j                  t	        j
                  d             y )N)rK   rK   rK   )r   NotImplementedErrorrR   r<  rL   onesr   s    r%   test_detrend_dim_too_largez&TestDetrend.test_detrend_dim_too_large:  s    )5=="''):LMr'   N)
r!  r"  r#  r$  r   r?  rE  rK  rP  rT  rF   r'   r%   r3  r3    s/    4 4

	P
>Nr'   r3  c                   F    e Zd Zed        Zd Zd Zd Zd Zd Z	d Z
d Zy	)
TestAddTrendc                    d| _         t        j                  t        | j                               | _        t        j
                  t        j                  t        | j                               d d d f   d      | _        t        j                  | j                         | _        t        j                  d| j                   dz         | _	        y )Nr  r7   rr   r6   )
r   rL   r  r   arr_1dtilearr_2drS  rO  tr7  s    r%   r   zTestAddTrend.setup_class?  sz    YYuSUU|,
WWRYYuSUU|4QW=qA
		#suuqy)r'   c                 `   t        j                  | j                        }t        j                  |      }t        j
                  |      }| j                  |d<   t        ||       t        j                  |d      }t        j
                  |      }|j                  dd| j                         t        ||       t        j                  | j                        }t        j                  |d      }t        j
                  |      }| j                  |d<   | j                  |d<   t        ||       y )NconstTprependr   cttrendrb  )
r   rI  rX  rR   	add_trendr   rO  r   r   r[  )r   sappendedr   	prependeds        r%   test_serieszTestAddTrend.test_seriesG  s    IIdkk"??1%<<? FF8X.OOAt4	<<?7DFF+8Y/IIdkk"??1D1<<? FF FF8X.r'   c                 (   t        j                  | j                        }t        j                  |      }|j                         }| j                  |d<   t        ||       t        j                  |d      }|j                         }|j                  dd| j                         t        ||       t        j                  | j                        }t        j                  |d      }|j                         }| j                  |d<   t        ||       t        j                  | j                        }t        j                  |d      }|j                         }| j                  |d<   | j                  |d<   | j                  d	z  |d
<   t        ||       y )Nr]  Tr^  r   r[  ra  rb  cttr7   trend_squared)
r   r   rZ  rR   rc  copyrO  r   r   r[  )r   r  re  r   rf  s        r%   test_dataframezTestAddTrend.test_dataframeZ  s(   \\$++&??2&779 FF8X.OOB5	7797DFF+8Y/\\$++&??2S1779 FF8X.\\$++&??2U3779 FF FF$(FFaK!8X.r'   c                 ^   t        t        t        j                  | j                  dd       t        t        t        j                  | j                  dd       t        j                  | j                        }t        t        t        j                  |dd       t        t        t        j                  |dd       t        j                  | j                  d      }t        || j                  d d d f          t        j                  | j                  dd      }t        j                  | j                  | j                  f      j                  }t        ||       t        j                  | j                  dd      }t        j                  | j                  | j                  f      j                  }t        ||       t        j                  | j                  dd      }t        j                  | j                  | j                  | j                  f      j                  }t        ||       y )	NrO  raise)rN   rb  has_constantr`  ra  skip)rb  ro  add)r   r   rR   rc  rO  r   r   r
   rL   vstackr[  rd   )r   r  skippedskipped_constr   addeds         r%   test_duplicate_constz!TestAddTrend.test_duplicate_constt  s   OOff 	
 	OOff 	
 \\$&&!2Sw	
 	2T	
 //$&&4WdffQWo.FF$V
 99dffdff-.00]H-cF99dffdff-.00UH%dG99dffdffdff5688UH%r'   c                     t        j                  | j                  ddg      }t        j                  |d       t        j                  |dd       y )Nr]  rb  )r   r`  ra  Trb  r_  )r   r   rZ  rR   rc  r  s     r%   test_dataframe_duplicatez%TestAddTrend.test_dataframe_duplicate  s9    \\$++/AB$'$5r'   c                 p   t        j                  | j                  | j                  | j                  | j                  dz  f      j
                  }t        t        j                  | j                        |d d d df          t        t        j                  | j                  d      |d d ddgf          t        t        j                  | j                  d      |d d d df          t        t        j                  | j                  d      |       t        j                  | j                  d d d f   | j                  d d d f   | j                  d d d f   dz  | j                  f      }t        t        j                  | j                  d	      |d d g d
f          t        t        j                  | j                  dd      |d d g df          t        t        j                  | j                  dd      |d d g df          t        t        j                  | j                  dd      |       y )Nr7   r[  ra  r   r`  rK   ri  Tr^  )r   rK   r)   rx  )r6   rK   r)   )r   r6   rK   r)   )rL   rr  rX  rO  r[  rd   r
   rR   rc  hstackrZ  )r   bases     r%   
test_arrayzTestAddTrend.test_array  s   yy$++tvvtvvtvv{CDFFU__T[[142A2;?U__T[[<d1q!f9oNU__T[[=tArrE{KU__T[[>Eyyq$wq$wq$w1$	
 	OODKK6Q	\8J	
 	OODKKsDAI	
 	OODKKtTBL!	
 	OODKKudCT	
r'   c                 Z    t        t        t        j                  | j                  d       y )Nr   )rN   rb  )r   r   rR   rc  rX  r   s    r%   test_unknown_trendzTestAddTrend.test_unknown_trend  s    4;;i	
r'   c                    t        t        j                  | j                  d      | j                         t        j                  | j                  d      | j                  usJ t        t        j                  | j                  d      | j                         t        j                  | j                  d      | j                  usJ y )Nr   )r
   rR   rc  rX  rZ  r   s    r%   test_trend_nzTestAddTrend.test_trend_n  s~    U__T[[#6Dt{{C0CCCU__T[[#6Dt{{C0CCCr'   N)r!  r"  r#  r$  r   rg  rl  rv  ry  r}  r  r  rF   r'   r%   rV  rV  >  s9    * */&/4&&P6

<

Dr'   rV  c                   F    e Zd Zed        Zedd       Zd Zd Zd Z	d Z
y)	TestLagmat2DSc           
      "   t        j                         }|j                  g d   | _        t        j
                  j                  d       t        j
                  j                  d      | _        t        | j                  j                  | j                  j                        D cg c]1  \  }}t        t        |            dz   t        t        |            z   3 }}}|| j                  _        | j                  j                  | _        y c c}}w )Nr|   r   r   r   )r   r   r   r   rL   rT   r   rU   r   r   r}   r~   r   r   r   r   r   )r   r   r   r   r   s        r%   r   zTestLagmat2DS.setup_class  s    $$&yy!FG
		u))//#. cll//1E1EF
B BL4#c"g,.
 
 #\\%%

s   %6Dc                 8   | j                   \  }}t        j                  ||z   |dz   |z  f      }t        |      D ]Q  }t        |dz         D ]>  }||k  r| d d |f   ||| |z   |dz   |z  |z   f<   &| d d |f   ||d |dz   |z  |z   f<   @ S |dk(  r|d |  }|S )Nr6   front)r   rL   r   rQ   )r   r   r   r[  rZ   r   r   r   s           r%   _prepare_expectedzTestLagmat2DS._prepare_expected  s    zz188QXqA~678 	FC4!8_ Ft8DH3EHQ$]TAX,<q,@@A :>afHQR$(c!1A!556F	F 7?$'Hr'   c                    | j                   }|j                  }t        j                  |d      }| j	                  |d      }t        ||       t        j                  |d d d df   d      }| j	                  |d d d df   d      }t        ||       | j                  j                  }t        j                  |d      }| j	                  |d d d f   d      }t        ||       y )Nr7   rK   rl   )r   r   r   	lagmat2dsr  r	   r   )r   r   npdatar   r   s        r%   test_lagmat2ds_numpyz"TestLagmat2DS.test_lagmat2ds_numpy  s    }}$$VQ/))&!468,$$VArrE]A6))&BQB-;68,##$$VQ/))&D/1=68,r'   c                    | j                   }t        j                  |d      }| j                  |j                  d      }t        ||       t        j                  |j                  d d d df   dd      }| j                  |j                  d d d df   d      }|dd  }t        ||       | j                  }t        j                  |d      }| j                  |j                  d d d f   d      }t        ||       y )Nr7   rK   r   r   rl   )r   r   r  r  r   r	   r   r   )r   r   r   r   s       r%   test_lagmat2ds_pandasz#TestLagmat2DS.test_lagmat2ds_pandas  s    }}$$T1-))$++q968,$$TYYq"1"u%5qvF))$++a!e*<a@AB<68,{{$$T1-))$++ag*>B68,r'   c                    | j                   }t        j                  |dd      }| j                  |j                  d      }g }|D ]I  }t        d      D ]9  }|dk(  r|j                  |       |j                  |dz   t        |      z          ; K t        j                  ||j                  |      }t        ||       t        j                  |j                  d d d df   ddd	      }| j                  |j                  d d d df   d      }g }|j                  d d d df   D ]I  }t        d
      D ]9  }|dk(  r|j                  |       |j                  |dz   t        |      z          ; K t        j                  ||j                  |      }|j                  dd  }t        ||       | j                  }t        j                  |dd      }| j                  |j                  d d d f   d      }g }|j                  }t        d      D ]9  }|dk(  r|j                  |       |j                  |dz   t        |      z          ; t        j                  ||j                  |      }t        ||       y )Nr7   Tr   rK   r   r   r  r   )r   r   r)   rl   rm   )r   r   r  r  r   rQ   appendr   r   r   r   r   r   r   rH  )r   r   r   r   r   rO  r   s          r%   test_lagmat2ds_use_pandasz'TestLagmat2DS.test_lagmat2ds_use_pandas	  s7   }}$$T1>))$++q9 	7Aa 719KKNKKE	CI 56	7	7 <<

DI68,$$IIa!eaDv
 ))$++a!e*<a@1bqb5! 	7Aa 719KKNKKE	CI 56	7	7 <<

DI==$68,{{$$T1>))$++ag*>BII!H 	3DqyAAID	12		3 <<

DI68,r'   c                 h   t        j                  d      }t        j                  t              5  t        j                  |d       d d d        t        j                  d      }t        j                  t              5  t        j                  |d       d d d        y # 1 sw Y   WxY w# 1 sw Y   y xY w)Nr7   rl   )r   r7   r7   )rL   rM   r  r  r   r   r  r   r>  s     r%   test_3d_errorzTestLagmat2DS.test_3d_error5  s    xx{]]:& 	)a(	) xx$]]:& 	)a(	) 	)		) 	)	) 	)s   B<B(B%(B1N)r  )r!  r"  r#  r$  r   staticmethodr  r  r  r  r  rF   r'   r%   r  r    s=    
& 
&  - - *-X)r'   r  c                  $   t         j                  j                  dd      } t        j                  t
        d      5  t        j                  | dd      }d d d        d   \  }}|\  }}}|j                  |j                  usJ y # 1 sw Y   2xY w)Nr   r7   verboser  F)r  r  r6   )
rL   rT   randr  warnsFutureWarningr   grangercausalitytestscentered_tssuncentered_tss)r   outr  modelsres2down
res2djointrconstrs          r%   test_grangercausalityr  ?  s    99>>#q!D	m9	5 M--d1eLMVNFF$*!Hj'""**C*CCCC	M Ms   BB)E__doc__statsmodels.compat.pandasr   r   r   r   r   numpyrL   numpy.testingr   r	   r
   r   pandasr   pandas.tseries.frequenciesr   r  statsmodelsr   statsmodels.datasetsr   statsmodels.tsar   statsmodels.tsa.tests.resultsr   )statsmodels.tsa.tests.results.datamlw_tlsr   r   r   r   statsmodels.tsa.tsatoolstsatsatoolsrR   r   r   rvsdataxar2xor   r"   r&   r1   r<   r@   rG   marksmokerO   r]   ra   rf   rj   rp   rx   rz   ANNUALfreqsr   r   r-  parametrizer1  r3  rV  r  r  )fes   00r%   <module>r     s       0  " * % 2  ) ( .	$%y6
VJBC
 ! !;;72
9
:U< U<p
 hdO	 -$'x$89DAq!Q9 -8B 9BHN HNVJD JDZq) q)hDm
 :s   3E	