ó
áp7]c           @   sÁ  d  d l  m Z m Z d  d l Z d  d l Z d  d l m Z m	 Z	 d  d l
 Z
 d  d l j Z d  d l m Z d  d l m Z m Z m Z m Z m Z d  d l j j Z y d  d l j Z Wn e k
 rÏ n Xe
 j j d „  ƒ Z  e
 j j d „  ƒ Z! e
 j j d „  ƒ Z" e
 j j d	 „  ƒ Z# e
 j j d
 „  ƒ Z$ e
 j j d „  ƒ Z% e
 j j& e d d ƒe
 j j d „  ƒ ƒ Z' e
 j j& e d d ƒe
 j j d „  ƒ ƒ Z( e
 j j d „  ƒ Z) d S(   iÿÿÿÿ(   t   lmapt   BytesION(   t   assert_equalt   assert_(   t   pandas_lte_0_19_2(   t   plot_acft	   plot_pacft
   month_plott   quarter_plott   seasonal_plotc         C   s±   t  j ƒ  } | j d ƒ } t j d } t j d } t j | | ƒ } t j j d ƒ } | j	 d d | j
 ƒ} t | d | d	 d
 ƒt | d | ƒt | d | d d  ƒd  S(   Nio   g      ð?gÍÌÌÌÌÌì¿gÍÌÌÌÌÌì?iÒ  id   t   distrvst   axt   lagsi
   t   alpha(   g      ð?gÍÌÌÌÌÌì¿(   g      ð?gÍÌÌÌÌÌì?(   t   pltt   figuret   add_subplott   npt   r_t   tspt   ArmaProcesst   randomt   RandomStatet   generate_samplet   standard_normalR   t   None(   t   close_figurest   figR   t   art   mat   armaprocesst   rst   acf(    (    sG   lib/python2.7/site-packages/statsmodels/graphics/tests/test_tsaplots.pyt   test_plot_acf   s    c         C   sÏ   t  j ƒ  } | j d ƒ } t j d } t j d } t j | | ƒ } t j j d ƒ } | j	 d d | j
 ƒ} t | d | d	 t j d
 d ƒ ƒt | d | d	 d d t ƒt | d | d d  d t ƒd  S(   Nio   g      ð?gÍÌÌÌÌÌì¿gÍÌÌÌÌÌì?iÒ  id   R
   R   R   i   i   i
   t   zeroR   (   g      ð?gÍÌÌÌÌÌì¿(   g      ð?gÍÌÌÌÌÌì?(   R   R   R   R   R   R   R   R   R   R   R   R   t   aranget   FalseR   (   R   R   R   R   R   R   R   R    (    (    sG   lib/python2.7/site-packages/statsmodels/graphics/tests/test_tsaplots.pyt   test_plot_acf_irregular%   s    "c         C   s›   t  j ƒ  } | j d ƒ } t j d
 } t j d } t j | | ƒ } t j j d ƒ } | j	 d d | j
 ƒ} t | d | ƒt | d | d	 d  ƒd  S(   Nio   g      ð?gÍÌÌÌÌÌì¿gÍÌÌÌÌÌì?iÒ  id   R
   R   R   (   g      ð?gÍÌÌÌÌÌì¿(   g      ð?gÍÌÌÌÌÌì?(   R   R   R   R   R   R   R   R   R   R   R   R   R   (   R   R   R   R   R   R   R   t   pacf(    (    sG   lib/python2.7/site-packages/statsmodels/graphics/tests/test_tsaplots.pyt   test_plot_pacf5   s    c         C   sÃ  t  j ƒ  } | j d ƒ } t j d } t j d } t j | | ƒ } t j j d ƒ } | j	 d d | j
 ƒ} t ƒ  } t | d | ƒ| j | d	 d
 ƒt ƒ  }	 t  j ƒ  }
 |
 j d ƒ } t | d | d d ƒ|
 j |	 d	 d
 ƒt ƒ  } t  j ƒ  } | j d ƒ } i d d 6} t | d | d | ƒ| j | d	 d
 ƒ| j d ƒ |	 j d ƒ | j d ƒ | j ƒ  } |	 j ƒ  } | j ƒ  } t | | k ƒ t | | k ƒ t | | k ƒ d  S(   Nio   g      ð?gÍÌÌÌÌÌì¿gÍÌÌÌÌÌì?iÒ  id   R
   R   t   formatt   rgbat   lst   -t   dashdott
   linestylest   vlines_kwargsi    (   g      ð?gÍÌÌÌÌÌì¿(   g      ð?gÍÌÌÌÌÌì?(   R   R   R   R   R   R   R   R   R   R   R   R   R   t   savefigt   seekt   readR   (   R   R   R   R   R   R   R   R&   t   bufft   buff_linestylet   fig_linestylet   buff_with_vlinest   fig_with_vlinesR.   t   plaint	   linestylet   with_vlines(    (    sG   lib/python2.7/site-packages/statsmodels/graphics/tests/test_tsaplots.pyt   test_plot_pacf_kwargsD   s<    			c         C   s=  t  j ƒ  } | j d ƒ } t j d } t j d } t j | | ƒ } t j j d ƒ } | j	 d d | j
 ƒ} t ƒ  } t | d | ƒ| j | d	 d
 ƒt ƒ  }	 t  j ƒ  }
 |
 j d ƒ } i d d 6} t | d | d | ƒ|
 j |	 d	 d
 ƒ| j d ƒ |	 j d ƒ | j ƒ  } |	 j ƒ  } t | | k ƒ d  S(   Nio   g      ð?gÍÌÌÌÌÌì¿gÍÌÌÌÌÌì?iÒ  id   R
   R   R(   R)   R,   R-   R.   i    (   g      ð?gÍÌÌÌÌÌì¿(   g      ð?gÍÌÌÌÌÌì?(   R   R   R   R   R   R   R   R   R   R   R   R   R   R/   R0   R1   R   (   R   R   R   R   R   R   R   R    R2   R5   R6   R.   R7   R9   (    (    sG   lib/python2.7/site-packages/statsmodels/graphics/tests/test_tsaplots.pyt   test_plot_acf_kwargsm   s*    		c         C   sÏ   t  j ƒ  } | j d ƒ } t j d } t j d } t j | | ƒ } t j j d ƒ } | j	 d d | j
 ƒ} t | d | d	 t j d
 d ƒ ƒt | d | d	 d d t ƒt | d | d d  d t ƒd  S(   Nio   g      ð?gÍÌÌÌÌÌì¿gÍÌÌÌÌÌì?iÒ  id   R
   R   R   i   i   i
   R"   R   (   g      ð?gÍÌÌÌÌÌì¿(   g      ð?gÍÌÌÌÌÌì?(   R   R   R   R   R   R   R   R   R   R   R   R   R#   R$   R   (   R   R   R   R   R   R   R   R&   (    (    sG   lib/python2.7/site-packages/statsmodels/graphics/tests/test_tsaplots.pyt   test_plot_pacf_irregularŒ   s    "t   reasons   pandas too oldc         C   s  t  j j j ƒ  j } | j j t ƒ j t	 ƒ | d <| j
 d ƒ j j ƒ  } t j g  | j j D]# } d j | d | d g ƒ ^ q_ ƒ } t | j d | d d ƒ} t j | ƒ | _ t | ƒ } t j | d d	 ƒ| _ t | ƒ } t j | d d
 ƒ| _ t | ƒ } d  S(   Nt   YEARR+   i   i    t   datest   ylabels   el ninot   freqt   MSt   M(   t   smt   datasetst   elninot   load_pandast   dataR>   t   astypet   intt   applyt   strt	   set_indext   Tt   unstackt   pdt   to_datetimet   indext   valuest   joinR   t   DatetimeIndext   PeriodIndex(   R   t   dtat   xR?   R   (    (    sG   lib/python2.7/site-packages/statsmodels/graphics/tests/test_tsaplots.pyt   test_plot_monthœ   s    ?c         C   sö   t  j j j ƒ  j } t d j t | j j	 t
 ƒ j t ƒ | j j	 t
 ƒ j t ƒ ƒ ƒ } t | j j | ƒ | j t j | ƒ d t ƒt | j ƒ t j t j | ƒ d d ƒ| _ t | j ƒ t j t j | ƒ d d ƒ| _ t | j ƒ d  S(   Nt   Qt   inplaceRA   s   QS-Oct(   RD   RE   t	   macrodataRG   RH   R    RT   t   zipt   yearRI   RJ   RK   RL   t   quarterR   t   unempRS   RM   RP   RQ   t   TrueRU   RR   RV   (   R   RW   R?   (    (    sG   lib/python2.7/site-packages/statsmodels/graphics/tests/test_tsaplots.pyt   test_plot_quarter´   s    $!!!c         C   sK  t  j j d ƒ } | j d d ƒ } | d t  j t  j d ƒ d t  j ƒ d  d  d  … f 7} | j ƒ  } t  j	 t  j d d ƒ d ƒ } | j ƒ  } t
 j | | g d	 d
 d g ƒj } | j d ƒ d
 } d d d d d d d d d d d d g } t | | ƒ } | j ƒ  d } g  | j ƒ  D] }	 |	 j ƒ  ^ q"}
 t | |
 ƒ d  S(   NiÒ  i   i   i   g      (@i   i   i   RR   RH   t   monthst   Jant   Febt   Mart   Aprt   Mayt   Junt   Jult   Augt   Sept   Octt   Novt   Deci    (   i   i   (   R   R   R   t   randnt   sinR#   t   piR   t   ravelt   tileRP   t	   DataFrameRN   t   groupbyR	   t   get_axest   get_xticklabelst   get_textR   (   R   R   RH   Rc   t   dft   groupedt   labelsR   R   t   tlt   output(    (    sG   lib/python2.7/site-packages/statsmodels/graphics/tests/test_tsaplots.pyt   test_seasonal_plotË   s    ;$*%(*   t   statsmodels.compat.pythonR    R   t   numpyR   t   pandasRP   t   numpy.testingR   R   t   pytestt   statsmodels.apit   apiRD   t   statsmodels.compat.pandasR   t   statsmodels.graphics.tsaplotsR   R   R   R   R	   t   statsmodels.tsa.arima_processt   tsat   arima_processR   t   matplotlib.pyplott   pyplotR   t   ImportErrort   markt
   matplotlibR!   R%   R'   R:   R;   R<   t   skipifRY   Rb   R   (    (    (    sG   lib/python2.7/site-packages/statsmodels/graphics/tests/test_tsaplots.pyt   <module>   s.   ()