ó
áp7]c           @   sh  d  Z  d d l Z d d l Z d d l Z d d l m Z m Z d d l m	 Z	 m
 Z
 m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l j j Z d	 e e	 f d
 „  ƒ  YZ d e e
 f d „  ƒ  YZ d e e f d „  ƒ  YZ d e 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' e f d( „  ƒ  YZ( d) e f d* „  ƒ  YZ) d+ e) f d, „  ƒ  YZ* d- e) f d. „  ƒ  YZ+ d/ e) f d0 „  ƒ  YZ, d1 e) f d2 „  ƒ  YZ- d3 e) f d4 „  ƒ  YZ. d5 e f d6 „  ƒ  YZ/ d7 e/ f d8 „  ƒ  YZ0 d9 e/ f d: „  ƒ  YZ1 d; e/ f d< „  ƒ  YZ2 d= e f d> „  ƒ  YZ3 d? e3 f d@ „  ƒ  YZ4 dA e3 f dB „  ƒ  YZ5 dC e3 f dD „  ƒ  YZ6 dE e3 f dF „  ƒ  YZ7 d S(G   sL   
Created on Sun May 10 12:39:33 2015

Author: Josef Perktold
License: BSD-3
iÿÿÿÿN(   t   assert_allcloset   assert_equal(   t   Poissont   Logitt   Probit(   t   GLM(   t   family(   t   TheilGLS(   t   PenalizedMixint   PoissonPenalizedc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR	      s   t   LogitPenalizedc           B   s   e  Z RS(    (   R
   R   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR      s   t   ProbitPenalizedc           B   s   e  Z RS(    (   R
   R   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR      s   t   GLMPenalizedc           B   s   e  Z RS(    (   R
   R   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR   "   s   t   CheckPenalizedPoissonc           B   sb   e  Z e d  „  ƒ Z e d „  ƒ Z d „  Z e j j d „  ƒ Z	 e j j d „  ƒ Z
 d „  Z RS(   c         C   s?  t  j j d ƒ d \ } } d } t  j j | | ƒ d t  j j | d ƒ d d d } | d 9} d | d  d  … d	 f <t  j | ƒ } d
 t  j d | d ƒ | | *| j | ƒ } |  j | ƒ } | |  _ | |  _	 | |  _
 d |  _ d |  _ t d  d  d  ƒ |  _ | |  _ t |  _ t j d d d ƒ|  _ |  j ƒ  d  S(   NiÙ iô  i
   i   g      à?i   i   g333333ó?i    g      ð?g-Cëâ6?gíµ ÷Æ°>gš™™™™™¹?t   c0(   iô  i
   (   t   npt   randomt   seedt   randt   zerost   aranget   dott   _generate_endogt	   k_nonzerot   xt   yt   rtolt   atolt   slicet   Nonet
   exog_indext   k_paramst   Falset   skip_hessiant   smpent   SCADSmoothedt   penaltyt   _initialize(   t   clst   nobst   k_varsR   R   t   betat   linpredR   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyt   setup_class(   s*    &
							c         C   s5   t  j | ƒ } t  j j d ƒ t  j j | ƒ } | S(   Niç  (   R   t   expR   R   t   poisson(   t   selfR,   t   muR   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR   E   s    c         C   sû   |  j  } |  j } t | j d k j ƒ  |  j ƒ t | j |  j | j d |  j d |  j	 ƒt | j
 |  j | j
 d |  j d |  j	 ƒt j ƒ  A t j d t ƒ t | j |  j | j d |  j d |  j	 ƒWd  QXt | j ƒ  | j ƒ  d d ƒd  S(   Ni    R   R   t   ignoregš™™™™™©?(   t   res1t   res2R   t   paramst   sumR!   R    R    R   R   t   bset   warningst   catch_warningst   simplefiltert   RuntimeWarningt   pvaluest   predict(   R0   R3   R4   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyt   test_params_tableL   s    		"
c         C   s   |  j  j ƒ  d  S(   N(   R3   t   summary(   R0   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyt   test_summary[   s    c         C   sd   |  j  j ƒ  } t | j ƒ  t ƒ s* t ‚ t | j ƒ  t ƒ sE t ‚ t | j ƒ  t ƒ s` t ‚ d  S(   N(   R3   t   summary2t
   isinstancet   as_latext   strt   AssertionErrort   as_htmlt   as_text(   R0   t   summ(    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyt   test_summary2_   s    c         C   s%  |  j  } | j d } t | j t ƒ r5 i d d 6n i  } t | j j | |  |  j | j j | |  |  j d d ƒ|  j	 s!t |  j t
 ƒ r¥ |  j } } n" |  j d  d  … d  f } |  j } | j j | j |  | | f } | j j | j |  | | f } t | | d d ƒn  d  S(   Ng\Âõ(\ï?i   t   scaleR   gš™™™™™™?g{®Gáz”?(   R3   R5   RB   t   modelR   R    t   scoreR    t   score_numdiffR#   R   R   t   hessiant   hessian_numdiff(   R0   R3   t   pt   kwdst   idx1t   idx2t   h1t   h2(    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyt   test_numdifff   s    	%		""(   R
   R   t   classmethodR-   R   R>   t   pytestt   markt   smokeR@   RI   RV   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR   &   s   	t   TestPenalizedPoissonNonePenalc           B   s   e  Z e d  „  ƒ Z RS(   c         C   s}   |  j  |  j } } t | | ƒ } | j d d ƒ |  _ t | | ƒ } d | _ | j d d d d d d ƒ |  _ d |  _ d  S(   Nt   dispi    t   methodt   bfgst   maxiterid   gñhãˆµøÔ>(	   R   R   R   t   fitR4   R	   t
   pen_weightR3   R   (   R(   R   R   t   modpt   mod(    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   €   s    	!(   R
   R   RW   R'   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR[   ~   s   t   TestPenalizedPoissonNoPenalc           B   s   e  Z e d  „  ƒ Z RS(   c         C   s}   |  j  |  j } } t | | ƒ } | j d d ƒ |  _ t | | ƒ } d | _ | j d d d d d d ƒ |  _ d |  _ d  S(   NR\   i    R]   R^   R_   id   gñhãˆµøÔ>(	   R   R   R   R`   R4   R	   Ra   R3   R   (   R(   R   R   Rb   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   ‘   s    	!(   R
   R   RW   R'   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyRd   Ž   s   t   TestPenalizedGLMPoissonNoPenalc           B   s   e  Z e d  „  ƒ Z RS(   c         C   s˜   |  j  |  j } } t | | d t j ƒ  ƒ} | j ƒ  |  _ t | | d t j ƒ  d |  j ƒ} d | _	 | j d d d d d d ƒ |  _
 d	 |  _ d  S(
   NR   t   penali    R]   R^   R_   id   R\   gñhãˆµøÔ>(   R   R   R   R   R   R`   R4   R   R&   Ra   R3   R   (   R(   R   R   Rb   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   ¢   s    $	!(   R
   R   RW   R'   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyRe   Ÿ   s   t   TestPenalizedPoissonOraclec           B   s   e  Z e d  „  ƒ Z RS(   c         C   sÉ   |  j  |  j } } t | | d  d  … d  |  j … f ƒ } | j d d ƒ |  _ t | | d |  j ƒ} | j d 9_ d | j	 _
 | j d d d d	 d d ƒ |  _ t d  |  j d  ƒ |  _ d
 |  _ d  S(   NR\   i    Rf   g      ø?gš™™™™™©?R]   R^   R_   id   g{®Gázt?(   R   R   R   R   R`   R4   R	   R&   Ra   Rf   t   tauR3   R   R   R    R   (   R(   R   R   Rb   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   ±   s    (!(   R
   R   RW   R'   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyRg   °   s   t   TestPenalizedGLMPoissonOraclec           B   s   e  Z e d  „  ƒ Z RS(   c         C   sÕ   |  j  |  j } } t | | d  d  … d  |  j … f d t j ƒ  ƒ} | j ƒ  |  _ t | | d t j ƒ  d |  j	 ƒ} | j
 d 9_
 d | j _ | j d d d d ƒ |  _ t d  |  j d  ƒ |  _ d	 |  _ d  S(
   NR   Rf   g      ø?gš™™™™™©?R]   R^   R_   id   g{®Gázt?(   R   R   R   R   R   R   R`   R4   R   R&   Ra   Rf   Rh   R3   R   R   R    R   (   R(   R   R   Rb   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   Ä   s    4$(   R
   R   RW   R'   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyRi   Á   s   t   TestPenalizedPoissonOracleHCc           B   s    e  Z e d  „  ƒ Z d „  Z RS(   c      	   C   sç   |  j  |  j } } d } t | | d  d  … d  |  j … f ƒ } | j d | d d d d d d ƒ |  _ t | | d	 |  j ƒ} | j d
 9_ d | j	 _
 | j d | d d d d d d ƒ |  _ t d  |  j d  ƒ |  _ d |  _ d  S(   Nt   HC0t   cov_typeR]   R^   R_   id   R\   i    Rf   g      ø?gš™™™™™©?g{®Gázt?(   R   R   R   R   R`   R4   R	   R&   Ra   Rf   Rh   R3   R   R   R    R   (   R(   R   R   Rl   Rb   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   Ö   s    (c         C   s  |  j  } |  j } t |  j  j d ƒ i d d 6t d 6t d 6d  d 6} t |  j  j | ƒ t j d d d	 d
 g ƒ } t j d d d d g ƒ } t	 | j
 |  j  | d d ƒt	 | j |  j  | d d ƒt	 | j
 |  j  | d |  j ƒt	 | j |  j  | d d ƒd  S(   NRk   s3   Standard Errors are heteroscedasticity robust (HC0)t   descriptiont	   adjust_dft   use_tt   scaling_factorgËi!+Pûî?gSœóÛ?gîÇ}.Õ?gÌÐþöÈ‹Ñ?gèÕ8;Íœ?gXEg.{ò ?g!	ë‘ý ?gÅˆ!ôy¡?R   gñhãˆµøä>R   gíµ ÷Æ°>g{®Gáz”?(   R3   R4   R   Rl   R"   R   t   cov_kwdsR   t   arrayR    R5   R   R7   R   (   R0   R3   R4   Rq   R5   R7   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyt   test_cov_typeè   s    		
 (   R
   R   RW   R'   Rs   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyRj   Ô   s   t   TestPenalizedGLMPoissonOracleHCc           B   s   e  Z e d  „  ƒ Z RS(   c      	   C   sÿ   |  j  |  j } } d } t | | d  d  … d  |  j … f d t j ƒ  ƒ} | j d | d d d d d d	 ƒ |  _ t | | d t j ƒ  d
 |  j	 ƒ} | j
 d 9_
 d | j _ | j d | d d d d d d	 ƒ |  _ t d  |  j d  ƒ |  _ d |  _ d  S(   NRk   R   Rl   R]   R^   R_   id   R\   i    Rf   g      ø?gš™™™™™©?g{®Gázt?(   R   R   R   R   R   R   R`   R4   R   R&   Ra   Rf   Rh   R3   R   R   R    R   (   R(   R   R   Rl   Rb   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   þ   s    4$(   R
   R   RW   R'   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyRt   ü   s   t   TestPenalizedPoissonGLMOracleHCc           B   s   e  Z e d  „  ƒ Z RS(   c      	   C   sû   |  j  |  j } } d } t | | d |  j ƒ} | j d 9_ d | j _ | j d | d d d d	 d
 d ƒ |  _ t	 | | d t
 j ƒ  d |  j ƒ} | j d 9_ d | j _ | j d | d d d d	 d
 d ƒ |  _ t d  d  d  ƒ |  _ d |  _ d  S(   NRk   Rf   g      ø?gš™™™™™©?Rl   R]   R^   R_   id   R\   i    R   g-Cëâ6?(   R   R   R	   R&   Ra   Rf   Rh   R`   R4   R   R   R   R3   R   R   R    R   (   R(   R   R   Rl   Rb   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'     s    $(   R
   R   RW   R'   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyRu     s   t#   TestPenalizedPoissonOraclePenalizedc           B   s   e  Z e d  „  ƒ Z RS(   c      	   C   sÉ   |  j  |  j } } t | | d  d  … d  |  j … f d |  j ƒ} | j d d d d d d ƒ |  _ t | | d |  j ƒ} | j d d d d d t d d ƒ |  _ t	 d  |  j d  ƒ |  _ d	 |  _ d  S(
   NRf   R]   R^   R_   id   R\   i    t   trimgü©ñÒMbP?(   R   R   R	   R   R&   R`   R4   R"   R3   R   R   R    R   (   R(   R   R   Rb   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   +  s    1!'(   R
   R   RW   R'   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyRv   )  s   t$   TestPenalizedPoissonOraclePenalized2c           B   s    e  Z e d  „  ƒ Z d „  Z RS(   c      	   C   s  |  j  |  j } } t | | d  d  … d  |  j … f d |  j ƒ} | j d 9_ d | j _ | j d d d d d d	 ƒ |  _	 t | | d |  j ƒ} | j d 9_ d | j _ | j d d d d d
 t
 d d	 ƒ |  _ t d  |  j d  ƒ |  _ d |  _ |  j |  _ d  S(   NRf   i
   gš™™™™™©?R]   R^   R_   id   R\   i    Rw   g:Œ0âŽyE>(   R   R   R	   R   R&   Ra   Rf   Rh   R`   R4   t   TrueR3   R   R   R    R   R!   (   R(   R   R   Rb   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   =  s    1!'	c         C   s8   t  |  j j |  j d ƒ t  |  j j |  j d ƒ d  S(   Ni    (   R   R3   R5   R   R7   (   R0   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyt
   test_zerosO  s    (   R
   R   RW   R'   Rz   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyRx   ;  s   t&   TestPenalizedPoissonOraclePenalized2HCc           B   s    e  Z e d  „  ƒ Z d „  Z RS(   c         C   s  |  j  |  j } } d } t | | d  d  … d  |  j … f d |  j ƒ} | j d 9_ d | j _ | j d | d d d d	 d
 d ƒ |  _	 t | | d |  j ƒ} | j d 9_ d | j _ | j d | d d d d	 d t
 d
 d ƒ |  _ t d  |  j d  ƒ |  _ d |  _ |  j |  _ d  S(   NRk   Rf   i
   gš™™™™™©?Rl   R]   R^   R_   id   R\   i    Rw   gê-™—q=(   R   R   R	   R   R&   Ra   Rf   Rh   R`   R4   Ry   R3   R   R   R    R   R!   (   R(   R   R   Rl   Rb   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   Y  s    1	c         C   s:  |  j  } |  j } t |  j  j d ƒ t |  j  j j d ƒ i d d 6t d 6t d 6d  d 6} t |  j  j | ƒ t |  j  j |  j  j j ƒ t j	 d d d	 d
 g ƒ } t j	 d d d d g ƒ } t
 | j |  j  | d d ƒt
 | j |  j  | d d ƒt
 | j |  j  | d d ƒt
 | j |  j  | d d ƒd  S(   NRk   s3   Standard Errors are heteroscedasticity robust (HC0)Rm   Rn   Ro   Rp   gËi!+Pûî?gSœóÛ?gîÇ}.Õ?gÌÐþöÈ‹Ñ?gèÕ8;Íœ?gXEg.{ò ?g!	ë‘ý ?gÅˆ!ôy¡?R   gñhãˆµøä>R   gñhãˆµøÔ>(   R3   R4   R   Rl   t   results_constrainedR"   R   Rq   R   Rr   R    R5   R   R7   (   R0   R3   R4   Rq   R5   R7   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyRs   m  s     		
(   R
   R   RW   R'   Rs   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR{   W  s   t   CheckPenalizedLogitc           B   s   e  Z e d  „  ƒ Z RS(   c         C   sX   d d t  j | | j ƒ  d ƒ } t  j j d ƒ t  j j t | ƒ ƒ | k  } | S(   Ni   g      à?iç  (   R   R.   t   meanR   R   R   t   len(   R0   R,   R1   R   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR   ˆ  s    &(   R
   R   RW   R   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR}   †  s   t   TestPenalizedLogitNoPenalc           B   s   e  Z e d  „  ƒ Z RS(   c         C   sz   |  j  |  j } } t | | ƒ } | j d d ƒ |  _ t | | d |  j ƒ} d | _ | j d d ƒ |  _ d |  _	 d  S(   NR\   i    Rf   g-Cëâ6?(
   R   R   R   R`   R4   R   R&   Ra   R3   R   (   R(   R   R   Rb   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   “  s    	(   R
   R   RW   R'   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR€     s   t   TestPenalizedLogitOraclec           B   s   e  Z e d  „  ƒ Z RS(   c         C   sÉ   |  j  |  j } } t | | d  d  … d  |  j … f ƒ } | j d d ƒ |  _ t | | d |  j ƒ} | j d 9_ d | j	 _
 | j d d d d	 d d ƒ |  _ t d  |  j d  ƒ |  _ d
 |  _ d  S(   NR\   i    Rf   g      à?gš™™™™™©?R]   R^   R_   id   g{®Gázt?(   R   R   R   R   R`   R4   R   R&   Ra   Rf   Rh   R3   R   R   R    R   (   R(   R   R   Rb   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   ¤  s    (!(   R
   R   RW   R'   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR   ¡  s   t   TestPenalizedGLMLogitOraclec           B   s   e  Z e d  „  ƒ Z RS(   c         C   sá   |  j  |  j } } t | | d  d  … d  |  j … f d t j ƒ  ƒ} | j d d ƒ |  _ t | | d t j ƒ  d |  j	 ƒ} | j
 d 9_
 d | j _ | j d d d	 d
 d d ƒ |  _ t d  |  j d  ƒ |  _ d |  _ d  S(   NR   R\   i    Rf   g      à?gš™™™™™©?R]   R^   R_   id   g{®Gázt?(   R   R   R   R   R   t   BinomialR`   R4   R   R&   Ra   Rf   Rh   R3   R   R   R    R   (   R(   R   R   Rb   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   ·  s    4$!(   R
   R   RW   R'   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR‚   ´  s   t!   TestPenalizedLogitOraclePenalizedc           B   s   e  Z e d  „  ƒ Z RS(   c      	   C   sÉ   |  j  |  j } } t | | d  d  … d  |  j … f d |  j ƒ} | j d d d d d d ƒ |  _ t | | d |  j ƒ} | j d d d d d t d d ƒ |  _ t	 d  |  j d  ƒ |  _ d	 |  _ d  S(
   NRf   R]   R^   R_   id   R\   i    Rw   gü©ñÒMbP?(   R   R   R   R   R&   R`   R4   R"   R3   R   R   R    R   (   R(   R   R   Rb   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   Ê  s    1!'(   R
   R   RW   R'   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR„   Ç  s   t"   TestPenalizedLogitOraclePenalized2c           B   s    e  Z e d  „  ƒ Z d „  Z RS(   c      	   C   s  |  j  |  j } } t | | d  d  … d  |  j … f d |  j ƒ} | j d 9_ d | j _ | j d d d d d d	 ƒ |  _	 t | | d |  j ƒ} | j d 9_ d | j _ | j d d d d d
 t
 d d	 ƒ |  _ t d  |  j d  ƒ |  _ d |  _ |  j |  _ d  S(   NRf   g      à?gš™™™™™©?R]   R^   R_   id   R\   i    Rw   g:Œ0âŽyE>(   R   R   R   R   R&   Ra   Rf   Rh   R`   R4   Ry   R3   R   R   R    R   R!   (   R(   R   R   Rb   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   Ü  s    1!'	c         C   s8   t  |  j j |  j d ƒ t  |  j j |  j d ƒ d  S(   Ni    (   R   R3   R5   R   R7   (   R0   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyRz   î  s    (   R
   R   RW   R'   Rz   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR…   Ú  s   t   CheckPenalizedBinomCountc           B   s   e  Z e d  „  ƒ Z RS(   c         C   s˜   d d t  j | | j ƒ  d ƒ } t  j j d ƒ d t  j t | ƒ t ƒ } | t | ƒ d c  d 7*t  j j | | ƒ } t  j	 | | | f ƒ S(   Ni   g      à?iç  i   i   (
   R   R.   R~   R   R   t   onesR   t   intt   binomialt   column_stack(   R0   R,   R1   t   n_trialsR   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR   ù  s    &(   R
   R   RW   R   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR†   ÷  s   t!   TestPenalizedGLMBinomCountNoPenalc           B   s    e  Z e d  „  ƒ Z d „  Z RS(   c         C   s  |  j  |  j } } | d  d  … d  d … f } d t j t | ƒ ƒ } t | | d t j ƒ  d | ƒ} | j d d d d ƒ |  _	 t
 | | d t j ƒ  d | d	 |  j ƒ} d
 | _ | j d d d d d d d d
 d |  j	 j d ƒ |  _ d |  _ d |  _ d  S(   Ni   g      Ð¿R   t   offsetR]   R^   t   max_start_irlsid   Rf   i    i   R_   R\   t   start_paramsgÍÌÌÌÌÌì?g»½×Ùß|Û=(   R   R   R   R‡   R   R   R   Rƒ   R`   R4   R   R&   Ra   R5   R3   R   R!   (   R(   R   R   R   Rb   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'     s    !	!	c         C   sˆ   |  j  } |  j } t | j j | j d ƒ | j j | j d ƒ d d ƒt | j j | j d ƒ | j j | j d ƒ d d ƒd  S(   Ng\Âõ(\ï?R   g»½×Ùß|Û=(   R3   R4   R    RK   RL   R5   t	   score_obs(   R0   R3   R4   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyt
   test_deriv  s    		 (   R
   R   RW   R'   R‘   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyRŒ     s   t"   TestPenalizedGLMBinomCountOracleHCc           B   s   e  Z e d  „  ƒ Z RS(   c         C   s*  |  j  |  j } } d t j t | ƒ ƒ } d } t | | d  d  … d  |  j … f d t j ƒ  d | ƒ} | j	 d | d d d d	 d
 d ƒ |  _
 t | | d t j ƒ  d | d |  j ƒ} | j d 9_ d | j _ | j	 d | d d d d d d d
 d ƒ |  _ t d  |  j d  ƒ |  _ d |  _ d  S(   Ng      Ð¿Rk   R   R   Rl   R]   t   newtonR_   iè  R\   i    Rf   i   gš™™™™™©?R^   RŽ   id   gü©ñÒMbP?(   R   R   R   R‡   R   R   R   R   Rƒ   R`   R4   R   R&   Ra   Rf   Rh   R3   R   R   R    R   (   R(   R   R   R   Rl   Rb   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   &  s    1	(   R
   R   RW   R'   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR’      s   t#   TestPenalizedGLMBinomCountOracleHC2c           B   s   e  Z e d  „  ƒ Z RS(   c         C   s<  |  j  |  j } } d t j t | ƒ ƒ } d } t | | d  d  … d  |  j … f d t j ƒ  d | ƒ} | j	 d | d d d d	 d
 d ƒ |  _
 t | | d t j ƒ  d | d |  j ƒ} | j d 9_ d | j _ | j	 d | d d d d d d d
 d d d ƒ |  _ t d  |  j d  ƒ |  _ d |  _ |  j |  _ d  S(   Ng      Ð¿Rk   R   R   Rl   R]   R“   R_   iè  R\   i    Rf   i   gš™™™™™©?R^   RŽ   id   Rw   gü©ñÒMbP?(   R   R   R   R‡   R   R   R   R   Rƒ   R`   R4   R   R&   Ra   Rf   Rh   R3   R   R   R    R   R!   (   R(   R   R   R   Rl   Rb   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   @  s     1		(   R
   R   RW   R'   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR”   <  s   t   CheckPenalizedGaussianc           B   s   e  Z e d  „  ƒ Z RS(   c         C   sC   t  j d ƒ } t  j j d ƒ | | t  j j t | ƒ ƒ } | S(   Ngš™™™™™¹?iç  (   R   t   sqrtR   R   R   R   (   R0   R,   t   sig_eR   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR   Z  s     (   R
   R   RW   R   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR•   X  s   t    TestPenalizedGLMGaussianOracleHCc           B   s   e  Z e d  „  ƒ Z RS(   c      	   C   s  |  j  |  j } } | d } d } t | | d  d  … d  |  j … f d t j ƒ  ƒ} | j d | d d d d d	 d
 ƒ |  _ t | | d t j ƒ  d |  j	 ƒ} | j
 d 9_
 d | j _ | j d | d d d d d	 d
 ƒ |  _ t d  |  j d  ƒ |  _ d |  _ d |  _ d  S(   Ni
   Rk   R   Rl   R]   R^   R_   id   R\   i    Rf   g      ø?gš™™™™™©?gñhãˆµøÔ>gíµ ÷Æ°>(   R   R   R   R   R   t   GaussianR`   R4   R   R&   Ra   Rf   Rh   R3   R   R   R    R   R   (   R(   R   R   Rl   Rb   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   d  s    
4$	(   R
   R   RW   R'   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR˜   b  s   t!   TestPenalizedGLMGaussianOracleHC2c           B   s   e  Z e d  „  ƒ Z RS(   c         C   s$  |  j  |  j } } | d } d } t | | d  d  … d  |  j … f d t j ƒ  ƒ} | j d | d d d d d	 d
 ƒ |  _ t | | d t j ƒ  d |  j	 ƒ} | j
 d 9_
 d | j _ | j d | d d d d d	 d
 d t ƒ |  _ t d  |  j d  ƒ |  _ |  j |  _ d |  _ d |  _ d  S(   Ni
   Rk   R   Rl   R]   R^   R_   id   R\   i    Rf   g      ø?gš™™™™™©?Rw   gñhãˆµøä>(   R   R   R   R   R   R™   R`   R4   R   R&   Ra   Rf   Rh   Ry   R3   R   R   R    R!   R   R   (   R(   R   R   Rl   Rb   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   }  s    
4$	(   R
   R   RW   R'   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyRš   z  s   t   TestPenalizedGLMGaussianL2c           B   s   e  Z e d  „  ƒ Z RS(   c         C   sJ  |  j  |  j } } | d } d } t | | d  d  … d  |  j … f d t j ƒ  ƒ} | j d | d d d d d	 d
 ƒ |  _ t j	 | j
 d ƒ d k j t ƒ } t | | d t j ƒ  d t j d | ƒ ƒ} | j d 9_ | j d | d d d d d	 d
 d t ƒ |  _ t d  |  j d  ƒ |  _ | j
 d |  _ d |  _ d |  _ d  S(   Ni
   Rk   R   Rl   R]   R^   R_   id   R\   i    i   i   Rf   t   weightsiô  Rw   gñhãˆµøä>(   R   R   R   R   R   R™   R`   R4   R   R   t   shapet   astypet   floatR   R$   t   L2ContraintsPenaltyRa   R"   R3   R   R   R    R!   R   R   (   R(   R   R   Rl   Rb   Rœ   Rc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   –  s     
4%	(   R
   R   RW   R'   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR›   “  s   t   TestPenalizedGLMGaussianL2Theilc           B   s    e  Z e d  „  ƒ Z d „  Z RS(   c   	      C   s)  |  j  |  j } } | d } | j d } d } t j | ƒ d } t | | d | ƒ} | j d d d	 t ƒ |  _ t	 j
 d
 | ƒ } t | | d t j ƒ  d | ƒ} | j d 9_ | j d | d d d d d d d t ƒ |  _ | |  _ t d  |  j d  ƒ |  _ | j d |  _ d |  _ d |  _ d  S(   Ni
   i   Rk   i   t   r_matrixRa   g›”*¢¸/^@iè  Ro   t   restrictionR   Rf   Rl   R]   R^   R_   id   R\   i    Rw   gñhãˆµøä>g•]Nšzý@(   R   R   R   R   t   eyeR   R`   R"   R4   R$   R    R   R   R™   Ra   R3   R   R   R   R    R!   R   R   (	   R(   R   R   t   kRl   R£   Rb   t   penRc   (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR'   ±  s$    
			c         C   s  |  j  } |  j } t | j d k j ƒ  |  j ƒ t | j | j d |  j d |  j ƒt	 d  d  d  ƒ } t | j | | j | d d d |  j ƒt | j | | j | d d d d ƒt | j | | j | d d d d ƒt | j ƒ  | j ƒ  d d ƒd  S(   Ni    R   R   gš™™™™™¹?g{®Gáz´?g{®Gázt?gñhãˆµøä>(   R3   R4   R   R5   R6   R!   R    R   R   R   R   R7   t   tvaluesR<   R=   (   R0   R3   R4   R    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR>   Ë  s    		
(   R
   R   RW   R'   R>   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyR¡   ®  s   (8   t   __doc__R8   RX   t   numpyR   t   numpy.testingR    R   t#   statsmodels.discrete.discrete_modelR   R   R   t+   statsmodels.genmod.generalized_linear_modelR   t   statsmodels.genmod.familiesR   t(   statsmodels.sandbox.regression.penalizedR   t   statsmodels.base._penalizedR   t   statsmodels.base._penaltiest   baset
   _penaltiesR$   R	   R   R   R   t   objectR   R[   Rd   Re   Rg   Ri   Rj   Rt   Ru   Rv   Rx   R{   R}   R€   R   R‚   R„   R…   R†   RŒ   R’   R”   R•   R˜   Rš   R›   R¡   (    (    (    sD   lib/python2.7/site-packages/statsmodels/base/tests/test_penalized.pyt   <module>   sR   X(/

