ó
áp7]c           @  sÆ  d  Z  d d l m Z d d l m Z m Z m Z d d l Z d d l Z	 d d l
 m Z d d l Z d d l j Z d „  Z d e f d „  ƒ  YZ d	 e f d
 „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d d l m Z d  e f d! „  ƒ  YZ  d" e f d# „  ƒ  YZ! d S($   s>   

Created on Fri Mar 09 16:00:27 2012

Author: Josef Perktold
iÿÿÿÿ(   t   print_function(   t   iterkeyst   cPicklet   BytesION(   t   assert_c         C  sa   t  ƒ  } t j |  | d t j ƒ| j ƒ  } | j d d ƒ t j | ƒ } | j ƒ  | | f S(   Nt   protocoli    (   R   R   t   dumpt   HIGHEST_PROTOCOLt   tellt   seekt   loadt   close(   t   objt   fht   plent   res(    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyt   check_pickle   s    	
t   RemoveDataPicklec           B  s2   e  Z e d  „  ƒ Z d „  Z d „  Z d „  Z RS(   c         C  so   d } t  j j d ƒ t  j j | d ƒ } t j | ƒ } | |  _ d t  j d ƒ |  _ d |  _	 i  |  _
 d  S(	   Ni'  i) i   g      Ð?i   i   i N  (   i   i   (   t   npt   randomt   seedt   randnt   smt   add_constantt   exogt   onest   xft
   nbytes_maxt   predict_kwds(   t   clst   nobst   x(    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyt   setup_class    s    		c         C  s
  d d  l  } d d l m } |  j } |  j } |  j } | j | |  } | j ƒ  | j ƒ  } t	 | j
 ƒ \ } } t j d t ƒ  }	 | j ƒ  Wd  QX| j | |  }
 t | | j ƒ rß t |
 | j ƒ rß | | |
 ƒ nM t | | j ƒ rt |
 | j ƒ rt | j |
 ƒ ƒ n t j j |
 | ƒ t	 | j
 ƒ \ } } | |  _ |  j } t | | k  d d | | f ƒ| j | |  } t | | j ƒ r¹t | | j ƒ r¹| | | ƒ nM t | | j ƒ rót | | j ƒ rót | j | ƒ ƒ n t j j | | ƒ d  S(   Niÿÿÿÿ(   t   assert_series_equalt   recordt   msgs   pickle length not %d < %d(   t   pandast   pandas.util.testingR!   t   resultsR   R   t   predictt   summaryt   summary2R   t   _resultst   warningst   catch_warningst   Truet   remove_datat
   isinstancet   Seriest	   DataFrameR   t   equalsR   t   testingt   assert_equalR   R   (   t   selft   pdR!   R&   R   t	   pred_kwdst   pred1R   t   _t   wt   pred2t   nbytesR   t   pred3(    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyt   test_remove_data_pickle+   s8    			
$$		$$c         C  s   t  |  j j j d  k	 ƒ d  S(   N(   R   R&   R.   t   __doc__t   None(   R5   (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyt   test_remove_data_docstring`   s    c         C  s  t  ƒ  } |  j j j | ƒ | j d d ƒ |  j j j j | ƒ } t | ƒ t |  j j ƒ k sh t ‚ | j d d ƒ |  j j | ƒ | j d d ƒ |  j j j | ƒ } | j	 ƒ  t | ƒ t |  j ƒ k sØ t ‚ t
 t |  j j ƒ ƒ } t
 t | j ƒ ƒ } t | | k d d | | f ƒt
 t |  j j j ƒ ƒ } t
 t | j j ƒ ƒ } t | | k d d | | f ƒt
 t |  j j j ƒ ƒ } t
 t | j j ƒ ƒ } t | | k d d | | f ƒt
 t |  j j ƒ ƒ } t
 t | j ƒ ƒ } t | | k d d | | f ƒd  S(   Ni    R#   s   not equal %r and %r(   R   R&   R*   t   saveR	   t	   __class__R
   t   typet   AssertionErrorR   t   sortedR   t   __dict__R   t   modelt   _cache(   R5   R   t   res_unpickledt   beforet   after(    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyt   test_pickle_wrapperc   s.    	$
!   (   t   __name__t
   __module__t   classmethodR    R>   RA   RM   (    (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyR      s   	5	t   TestRemoveDataPickleOLSc           B  s   e  Z d  „  Z RS(   c         C  sa   |  j  } t j j d ƒ | j d ƒ t j j | j d ƒ } t j | |  j  ƒ j	 ƒ  |  _
 d  S(   Ni) i   i    (   R   R   R   R   t   sumR   t   shapeR   t   OLSt   fitR&   (   R5   R   t   y(    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyt   setupˆ   s    	&(   RN   RO   RW   (    (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyRQ   †   s   t   TestRemoveDataPickleWLSc           B  s   e  Z d  „  Z RS(   c         C  sv   |  j  } t j j d ƒ | j d ƒ t j j | j d ƒ } t j | |  j  d t j	 t
 | ƒ ƒ ƒj ƒ  |  _ d  S(   Ni) i   i    t   weights(   R   R   R   R   RR   R   RS   R   t   WLSR   t   lenRU   R&   (   R5   R   RV   (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyRW   ’   s    	&(   RN   RO   RW   (    (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyRX      s   t   TestRemoveDataPicklePoissonc           B  s   e  Z d  „  Z RS(   c         C  s±   |  j  } t j j d ƒ t j j t j | j d ƒ | j ƒ  ƒ ƒ } t j	 | | ƒ } t j
 d d d d g ƒ } | j d | d d	 d
 d ƒ |  _ t d d d d ƒ |  _ d  S(   Ni) i   gc<s¤mè?gÞò&ùðÐï?g` ŽCð?gZ9(
ð?t   start_paramst   methodt   bfgst   dispi    t   exposuret   offset(   R   R   R   R   t   poissont   expRR   t   meanR   t   Poissont   arrayRU   R&   t   dictR   (   R5   R   t   y_countRH   R]   (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyRW   œ   s    	.(   RN   RO   RW   (    (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyR\   š   s   t$   TestRemoveDataPickleNegativeBinomialc           B  s   e  Z d  „  Z RS(   c         C  sq   t  j j d ƒ t j j j d t ƒ } t j | j	 d t ƒ} t j
 | j | j	 ƒ } | j d d ƒ |  _ d  S(   Ni) t	   as_pandast   prependR`   i    (   R   R   R   R   t   datasetst   randhieR
   t   FalseR   R   t   NegativeBinomialt   endogRU   R&   (   R5   t   dataR   t   mod(    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyRW   ­   s
    (   RN   RO   RW   (    (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyRj   «   s   t   TestRemoveDataPickleLogitc           B  s   e  Z d  „  Z RS(   c         C  s½   |  j  } | j d } t j j d ƒ t j j | ƒ d d t j | j d ƒ | j ƒ  ƒ k  j	 t
 ƒ } t j | | ƒ } t j d d d d g ƒ } | j d	 | d
 d d d ƒ |  _ d  S(   Ni    i) g      ð?i   gd·b=}ç¿gu€7í$ð¿gG‰†ZHï¿gÜzd€›î¿R]   R^   R_   R`   (   R   RS   R   R   R   t   randRd   RR   Re   t   astypet   intR   t   LogitRg   RU   R&   (   R5   R   R   t   y_binRH   R]   (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyRW   ¸   s    	E(   RN   RO   RW   (    (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyRt   ¶   s   t   TestRemoveDataPickleRLMc           B  s   e  Z d  „  Z RS(   c         C  sa   |  j  } t j j d ƒ | j d ƒ t j j | j d ƒ } t j | |  j  ƒ j	 ƒ  |  _
 d  S(   Ni) i   i    (   R   R   R   R   RR   R   RS   R   t   RLMRU   R&   (   R5   R   RV   (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyRW   Æ   s    	&(   RN   RO   RW   (    (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyRz   Ä   s   t   TestRemoveDataPickleGLMc           B  s   e  Z d  „  Z RS(   c         C  sa   |  j  } t j j d ƒ | j d ƒ t j j | j d ƒ } t j | |  j  ƒ j	 ƒ  |  _
 d  S(   Ni) i   i    (   R   R   R   R   RR   R   RS   R   t   GLMRU   R&   (   R5   R   RV   (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyRW   Ð   s    	&(   RN   RO   RW   (    (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyR|   Î   s   t   TestPickleFormulac           B  s    e  Z e d  „  ƒ Z d „  Z RS(   c         C  s—   t  t |  ƒ j ƒ  d } t j j d ƒ t j j | d ƒ } t j | d d d d g ƒ|  _	 t j d t j
 d ƒ d |  j	 j ƒ|  _ d
 |  _ d  S(   Ni'  i) i   t   columnst   At   Bt   Cg      Ð?i   i » (   i   i   (   t   superR~   R    R   R   R   R   R6   R1   R   R   R   R   R   (   R   R   R   (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyR    Ù   s    !c         C  s’   |  j  } t j j d ƒ | j d ƒ t j j | j d ƒ } t j | d d ƒ} |  j  j	 ƒ  } | | d <t
 j j d d | ƒj ƒ  |  _ d  S(   Ni{   i   i    t   namet   Ys   Y ~ A + B + CRr   (   R   R   R   R   RR   R   RS   R6   R0   t   copyR   RT   t   from_formulaRU   R&   (   R5   R   RV   t   X(    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyRW   ä   s    	&
(   RN   RO   RP   R    RW   (    (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyR~   Ø   s   t   TestPickleFormula2c           B  s    e  Z e d  „  ƒ Z d „  Z RS(   c         C  sÓ   t  t |  ƒ j ƒ  d } t j j d ƒ t j j | d ƒ } | d  d  … d d  … f j d ƒ | d  d  … d f <t j	 | d d d d	 d
 g ƒ|  _
 t j	 d t j d ƒ d |  j
 j d ƒ|  _ d |  _ d  S(   Niô  i) i   i   i    R   R…   R€   R   R‚   g      Ð?i   i   i » (   i   i   (   Rƒ   R‰   R    R   R   R   R   RR   R6   R1   Rr   R   R   R   R   (   R   R   Rr   (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyR    ï   s    5$c         C  s(   t  j j d d |  j ƒj ƒ  |  _ d  S(   Ns   Y ~ A + B + CRr   (   R   RT   R‡   Rr   RU   R&   (   R5   (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyRW   û   s    (   RN   RO   RP   R    RW   (    (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyR‰   î   s   t   TestPickleFormula3c           B  s   e  Z d  „  Z RS(   c         C  s(   t  j j d d |  j ƒj ƒ  |  _ d  S(   Ns   Y ~ A + B * CRr   (   R   RT   R‡   Rr   RU   R&   (   R5   (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyRW     s    (   RN   RO   RW   (    (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyRŠ   ÿ   s   t   TestPickleFormula4c           B  s   e  Z d  „  Z RS(   c         C  s(   t  j j d d |  j ƒj ƒ  |  _ d  S(   Ns   Y ~ np.log(abs(A) + 1) + B * CRr   (   R   RT   R‡   Rr   RU   R&   (   R5   (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyRW     s    (   RN   RO   RW   (    (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyR‹     s   (   t   logt   TestPickleFormula5c           B  s   e  Z d  „  Z RS(   c         C  s(   t  j j d d |  j ƒj ƒ  |  _ d  S(   Ns   Y ~ log(abs(A) + 1) + B * CRr   (   R   RT   R‡   Rr   RU   R&   (   R5   (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyRW     s    (   RN   RO   RW   (    (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyR     s   t&   TestRemoveDataPicklePoissonRegularizedc           B  s   e  Z d  „  Z RS(   c         C  s~   |  j  } t j j d ƒ t j j t j | j d ƒ | j ƒ  ƒ ƒ } t j	 | | ƒ } | j
 d d d d d d ƒ |  _ d  S(	   Ni) i   R^   t   l1R`   i    t   alphai
   (   R   R   R   R   Rc   Rd   RR   Re   R   Rf   t   fit_regularizedR&   (   R5   R   Ri   RH   (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyRW     s
    	.(   RN   RO   RW   (    (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyRŽ     s   ("   R?   t
   __future__R    t   statsmodels.compat.pythonR   R   R   R+   t   numpyR   t   numpy.testingR   R$   R6   t   statsmodels.apit   apiR   R   t   objectR   RQ   RX   R\   Rj   Rt   Rz   R|   R~   R‰   RŠ   R‹   RŒ   R   RŽ   (    (    (    sH   lib/python2.7/site-packages/statsmodels/base/tests/test_shrink_pickle.pyt   <module>   s.   	
h



