
p7]c           @   s:  d  Z  d d l m Z m Z d d l Z d d l Z d d l Z d d l m	 Z	 m
 Z
 m Z m Z m Z d d l Z d d l m Z d d l m Z m Z d d l m Z m Z m Z m Z m Z d d l m Z d d	 l m Z d
 Z d Z  d Z! d Z" d Z# d Z$ y d d l% Z% e& Z' Wn e( k
 r5e) Z' n Xd 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     YZ0 d e* f d     YZ1 d e* f d     YZ2 d  e* f d!     YZ3 d" e+ f d#     YZ4 d$ e* f d%     YZ5 d& e* f d'     YZ6 d( e6 f d)     YZ7 d* e* f d+     YZ8 d, e* f d-     YZ9 d. e+ f d/     YZ: d0   Z; d1   Z< d2 e+ f d3     YZ= d4   Z> d5 e+ f d6     YZ? d7 e+ f d8     YZ@ d9 e* f d:     YZA d; e+ f d<     YZB d= eB f d>     YZC d? eB f d@     YZD dA eB f dB     YZE dC eB f dD     YZF dE   ZG dF   ZH dG   ZI dH   ZJ dI   ZK dJ e* f dK     YZL dL   ZM dM   ZN dN   ZO dO   ZP dP   ZQ dQ   ZR dR   ZS dS   ZT dT   ZU dU   ZV e jW jX e' dV dW dX    ZY d S(Y   s&   
Test functions for models.regression
i(   t   longt   lrangeN(   t   assert_almost_equalt   assert_t   assert_raisest   assert_equalt   assert_allclose(   t   toeplitz(   t   add_constantt   categorical(   t   OLSt   WLSt   GLSt   yule_walkert   burg(   t   longley(   t   ti   i   i   i   i   i    t   CheckRegressionResultsc           B   sC  e  Z d  Z e Z d   Z e Z d   Z e Z d   Z	 e Z
 d   Z e Z d   Z e Z d   Z e Z d   Z d   Z e Z d	   Z e Z d
   Z e Z d   Z e Z d   Z e Z d   Z e Z d   Z e Z d   Z  e Z! d   Z" e Z# d   Z$ e Z% d   Z& e Z' d   Z( e Z) d   Z* e Z+ d   Z, RS(   s   
    res2 contains results from Rmodelwrap or were obtained from a statistical
    packages such as R, Stata, or SAS and were written to model_results
    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   t   res1t   paramst   res2t   decimal_params(   t   self(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_params'   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   R   t   bseR   t   decimal_standarderrors(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_standarderrors,   s    c         C   s   |  j  j   } |  j j   } xp t t |   D]\ } t | | d | | d d d |  j t | | d | | d d d |  j q1 Wd  S(   Ni    t   rtoli
   i   (   R   t   conf_intR   t   ranget   lenR   t   decimal_confidenceintervals(   R   t   conf1t   conf2t   i(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_confidenceintervals1   s    c         C   s]   t  |  j j  d k rY |  j j d d  } |  j j   d d !} t | | |  j  n  d  S(   Ni   t   colsi   i   (   i   i   (   R   R   R   R   R   t   decimal_conf_int_subset(   R   t   ci1t   ci2(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_conf_int_subset<   s
    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   R   t   scaleR   t   decimal_scale(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt
   test_scaleE   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   R   t   rsquaredR   t   decimal_rsquared(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_rsquaredJ   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   R   t   rsquared_adjR   t   decimal_rsquared_adj(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_rsquared_adjO   s    c         C   s<   t  |  j j j |  j j  t  |  j j j |  j j  d  S(   N(   R   R   t   modelt   df_modelR   t   df_resid(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_degreesS   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   R   t   essR   t   decimal_ess(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_essX   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   R   t   ssrR   t   decimal_ssr(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_sumof_squaredresids^   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   R   t	   mse_modelR   t   decimal_mse_resid(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_mse_residb   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   R   t	   mse_residR   t   decimal_mse_model(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_mse_modelh   s    c         C   s-   t  |  j j |  j j |  j d d |  d  S(   Nt   err_msgs   Test class %s(   R   R   t	   mse_totalR   t   decimal_mse_total(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_mse_totalm   s    	c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   R   t   fvalueR   t   decimal_fvalue(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_fvalues   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   R   t   llfR   t   decimal_loglike(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_loglikez   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   R   t   aicR   t   decimal_aic(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_aic~   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   R   t   bicR   t   decimal_bic(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_bic   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   R   t   pvaluesR   t   decimal_pvalues(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_pvalues   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   R   t   wresidR   t   decimal_wresid(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_wresid   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   R   t   residR   t   decimal_resids(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_resids   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   R   t   resid_pearsonR   t   decimal_norm_resids(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_norm_resids   s    (-   t   __name__t
   __module__t   __doc__t	   DECIMAL_4R   R   R   R   R   R#   R%   R(   R*   R+   R-   R.   R0   R1   R5   R7   R8   R:   R;   R=   R>   R@   RA   RD   RE   RG   RH   RJ   RK   RM   RN   RP   RQ   RS   RT   RV   RW   RY   RZ   R\   R]   (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR       sT   			
																	t   TestOLSc           B   s   e  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 RS(   c   
      C   sA  d d l  m } t j d t  } t | j d t | _ t | j | j  j	   } |   } | j
 | _
 | |  _ | |  _ t | j | j  j	 d d  } t | j | j  } t j j | j  \ } } | | | _ | _ t j j t j | j |   | _ t j j |  | _ | j	 d d  }	 | |  _ |	 |  _ d  S(   Ni   (   t   Longleyt	   as_pandast   prependt   methodt   qr(   t   results.results_regressionRc   R   t   loadt   FalseR   t   exogR
   t   endogt   fitRU   R   R   t   npt   linalgRg   t   exog_Qt   exog_Rt   invt   dott   Tt   normalized_cov_paramst   matrix_rankt   rankt   res_qrt   res_qr_manual(
   t   clsRc   t   dataR   R   Rx   t   model_qrt   Qt   Rt   res_qr2(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   setup_class   s"    			!$	c         C   sI   |  j  j |  j j } | |  j  j :} t j |  } t | | t  d  S(   N(   Rx   t	   eigenvalsRy   Rn   t
   zeros_likeR   t	   DECIMAL_7(   R   t   eigenval_perc_difft   zeros(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_eigenvalues   s
    	c         C   sR   t  |  j j d  |  j j d  t  t t j |  j j d  |  j j d  d  S(   Ni(   R   R   t   HC0_seR   Ra   R   Rn   t   round(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_HC0_errors   s    c         C   sO   t  |  j j d  |  j j d  t  t |  j j d |  j j d d d d  S(   NiR   gHך>(   R   R   t   HC1_seR   Ra   R   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_HC1_errors   s     c         C   sO   t  |  j j d  |  j j d  t  t |  j j d |  j j d d d d  S(   NiR   gƠ>(   R   R   t   HC2_seR   Ra   R   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_HC2_errors   s     c         C   sO   t  |  j j d  |  j j d  t  t |  j j d |  j j d d d d  S(   NiR   gv!>(   R   R   t   HC3_seR   Ra   R   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_HC3_errors   s     c         C   s    t  |  j j |  j j d  d  S(   Ni   (   R   R   R   Rx   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_qr_params   s    c         C   s3   t  t j |  j j  |  j j |  j j d  d  S(   Ni   (   R   Rn   t	   ones_likeR   Ru   Rx   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_qr_normalized_cov_params   s    	c         C   s   t  j d t  } t | j d t | _ t j | j d d d g <t | j | j d d } t	 | j j
 d d	  t	 | j j
 d d	  d  S(
   NRd   Re   i   i   i   t   missingt   dropi    i   (   R   Ri   Rj   R   Rk   Rn   t   nanRl   R
   R   t   shape(   R   R{   t   mod(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_missing   s    c         C   sr   t  j d t  Z t j j d  } t j j d d  } t | |  j   } | j } t	 | t j
  Wd  QXd  S(   Nt   recordi   i   (   t   warningst   catch_warningst   TrueRn   t   randomt   randnR
   Rm   R/   R   R   (   R   t   xt   yt   resultsR/   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_rsquared_adj_overfit   s    	c         C   s#   t  |  j j |  j j d d d  S(   NR   gdy=(   R   Rx   R   Ry   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_qr_alternatives   s    c         C   sV   |  j  j } | t j t j | d  |  j  j  } |  j  j } t | | t  d  S(   Ng       @(	   R   RU   Rn   t   sqrtt   sumR4   R[   R   R   (   R   RX   t
   norm_residt   model_norm_resid(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_norm_resid   s    *c      	   C   sp   t  j d t  X |  j j j } t | |  j   } t | j	 d d d t | j
 | j d d Wd  QXd  S(   NR   i    t   atolg#B;g|=(   R   R   R   R   R2   Rl   R
   Rm   R   R)   RU   R[   (   R   R   t   res(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_norm_resid_zero_variance   s
    (   R^   R_   t   classmethodR   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyRb      s   											t   TestRTOc           B   s   e  Z e d     Z RS(   c         C   s   d d l  m } t j d t  } t | j | j  j   } |   } | j	 | _	 | |  _
 | |  _ t | j | j  j d d  } | |  _ d  S(   Ni   (   t
   LongleyRTORd   Rf   Rg   (   Rh   R   R   Ri   Rj   R
   Rl   Rk   Rm   RU   R   R   Rx   (   Rz   R   R{   R   R   Rx   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR   	  s    			!(   R^   R_   R   R   (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s   t	   TestFtestc           B   sA   e  Z d  Z e d    Z d   Z d   Z d   Z d   Z RS(   s,   
    Tests f_test vs. RegressionResults
    c         C   s   t  j d t  } t | j d t | _ t | j | j  j   |  _ t	 j
 d  d  d  d  d   f } |  j j |  |  _ d  S(   NRd   Re   i   i(   R   Ri   Rj   R   Rk   R
   Rl   Rm   R   Rn   t   identityt   f_testt   Ftest(   Rz   R{   R~   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s
    %c         C   s    t  |  j j |  j j t  d  S(   N(   R   R   RF   R   Ra   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_F"  s    c         C   s    t  |  j j |  j j t  d  S(   N(   R   R   t   pvalueR   t   f_pvalueRa   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_p%  s    c         C   s    t  |  j j |  j j j  d  S(   N(   R   R   t   df_denomR   R2   R4   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_Df_denom(  s    c         C   s   t  |  j j d  d  S(   Ni   (   R   R   t   df_num(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_Df_num+  s    (	   R^   R_   R`   R   R   R   R   R   R   (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s   			t
   TestFTest2c           B   sJ   e  Z d  Z e d    Z d   Z d   Z d   Z d   Z d   Z	 RS(   s   
    A joint test that the coefficient on
    GNP = the coefficient on UNEMP  and that the coefficient on
    POP = the coefficient on YEAR for the Longley dataset.

    Ftest1 is from statsmodels.  Results are from Rpy using R's car library.
    c         C   s   t  j d t  } t | j d t | _ t | j | j  j   } d d d d d d d g d d d d d d d g g } | j |  |  _	 d } | j |  |  _
 d  S(   NRd   Re   i    i   is   x2 = x3, x5 = x6(   R   Ri   Rj   R   Rk   R
   Rl   Rm   R   t   Ftest1t	   NewFtest1(   Rz   R{   R   t   R2t   hyp(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR   6  s    6c         C   s   t  |  j j |  j j  d  S(   N(   R   R   RF   R   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_new_ftest@  s    c         C   s   t  |  j j d t  d  S(   NgN}{#@(   R   R   RF   Ra   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyRH   C  s    c         C   s   t  |  j j d t  d  S(   Ngx*.v?(   R   R   R   Ra   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_pvalueF  s    c         C   s   t  |  j j d  d  S(   Ni	   (   R   R   R   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_df_denomJ  s    c         C   s   t  |  j j d  d  S(   Ni   (   R   R   R   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_df_numM  s    (
   R^   R_   R`   R   R   R   RH   R   R   R   (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR   .  s   
				t
   TestFtestQc           B   sA   e  Z d  Z e d    Z d   Z d   Z d   Z d   Z RS(   s}   
    A joint hypothesis test that Rb = q.  Coefficient tests are essentially
    made up.  Test values taken from Stata.
    c         C   s  t  j d t  } t | j d t | _ t | j | j  j   } t j	 d d d d d d d g d d d d d d d g d d d d d d d g d d d d d d d g d d d d d d d g g  } t j	 d d d d d g  } | j
 | | f  |  _ d  S(   NRd   Re   i    i   (   R   Ri   Rj   R   Rk   R
   Rl   Rm   Rn   t   arrayR   R   (   Rz   R{   R   R~   t   q(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR   V  s    !c         C   s   t  |  j j d d  d  S(   Ng/IeQ@i   (   R   R   RF   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyRH   c  s    c         C   s   t  |  j j d d  d  S(   Ng\s>i
   (   R   R   R   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR   f  s    c         C   s   t  |  j j d  d  S(   Ni	   (   R   R   R   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR   i  s    c         C   s   t  |  j j d  d  S(   Ni   (   R   R   R   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR   l  s    (	   R^   R_   R`   R   R   RH   R   R   R   (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR   Q  s   			t	   TestTtestc           B   sS   e  Z d  Z e d    Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(   si   
    Test individual t-tests.  Ie., are the coefficients significantly
    different than zero.

        c         C   s   t  j d t  } t | j d t | _ t | j | j  j   |  _ t	 j
 d  } |  j j |  |  _ d } |  j j |  |  _ d  S(   NRd   Re   i   s9   x1 = 0, x2 = 0, x3 = 0, x4 = 0, x5 = 0, x6 = 0, const = 0(   R   Ri   Rj   R   Rk   R
   Rl   Rm   R   Rn   R   t   t_testt   Ttestt   NewTTest(   Rz   R{   R~   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR   u  s    c         C   s   t  |  j j |  j j  d  S(   N(   R   R   t   tvalueR   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_new_tvalue  s    c         C   s    t  |  j j |  j j t  d  S(   N(   R   R   R   R   t   tvaluesRa   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_tvalue  s    c         C   s    t  |  j j |  j j t  d  S(   N(   R   R   t   sdR   R   Ra   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_sd  s    c         C   sB   t  |  j j t j t j |  j j  |  j j	 j
  d t  d  S(   Ni   (   R   R   R   t	   student_tt   sfRn   t   absR   R   R2   R4   Ra   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    %c         C   s    t  |  j j |  j j j  d  S(   N(   R   R   R   R   R2   R4   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    c         C   s   t  |  j j |  j j  d  S(   N(   R   R   t   effectR   R   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_effect  s    (   R^   R_   R`   R   R   R   R   R   R   R   R   (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR   o  s   
					t
   TestTtest2c           B   sJ   e  Z d  Z e d    Z d   Z d   Z d   Z d   Z d   Z	 RS(   s~   
    Tests the hypothesis that the coefficients on POP and YEAR
    are equal.

    Results from RPy using 'car' package.
    c         C   s}   t  j d  } d d g | d d +t j d t  } t | j d t | _ t | j | j  j	   } | j
 |  |  _ d  S(   Ni   i   ii   i   Rd   Re   (   Rn   R   R   Ri   Rj   R   Rk   R
   Rl   Rm   R   t   Ttest1(   Rz   R~   R{   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    c         C   s   t  |  j j d t  d  S(   NgN-(   R   R   R   Ra   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    c         C   s   t  |  j j d t  d  S(   Ng9y@v|@(   R   R   R   Ra   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    c         C   s   t  |  j j d t  d  S(   Ni   g6X%X?g6X%h?(   R   R   R   Ra   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    c         C   s   t  |  j j d  d  S(   Ni	   (   R   R   R   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    c         C   s   t  |  j j d t  d  S(   Ng<,nϔ(   R   R   R   Ra   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    (
   R^   R_   R`   R   R   R   R   R   R   R   (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s   					t   TestGLSc           B   s   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 RS(   sA   
    These test results were obtained by replication with R.
    c   	      C   s  d d l  m } t j d t  } t t j | j d  d   d f | j d  d   d f f  d t } t	 | j
 |  j   } t j | j d | j d   d d } t t j d   } | | } t | j
 | d	 | j   } | |  _ |   |  _ | |  _ | |  _ | j
 |  _
 d  S(
   Ni   (   t
   LongleyGlsRd   i   Re   ii    i   t   sigma(   Rh   R   R   Ri   Rj   R   Rn   t   column_stackRk   R
   Rl   Rm   t   corrcoefRX   R   t   arangeR   R   R   R   (	   Rz   R   R{   Rk   t   tmp_resultst   rhot   orderR   t   GLS_results(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    	>
			c         C   s'   t  |  j j d |  j j d d d  S(   Ni   R   gMbp?(   R   R   RL   R   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyRN     s    c         C   s#   t  |  j j |  j j d d d  S(   NR   gQ?(   R   R   RO   R   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyRQ     s    c         C   s    t  |  j j |  j j t  d  S(   N(   R   R   RI   R   t	   DECIMAL_0(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyRK     s    c         C   s    t  |  j j |  j j t  d  S(   N(   R   R   R   R   t	   DECIMAL_1(   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    c         C   s    t  |  j j |  j j t  d  S(   N(   R   R   RX   R   Ra   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt
   test_resid  s    c         C   s    t  |  j j |  j j t  d  S(   N(   R   R   R)   R   Ra   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR+     s    c         C   s    t  |  j j |  j j t  d  S(   N(   R   R   R   R   Ra   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_tvalues  s    c         C   s    t  |  j j |  j j t  d  S(   N(   R   R   R   R   Ra   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    c         C   s    t  |  j j |  j j t  d  S(   N(   R   R   t   fittedvaluesR   Ra   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_fittedvalues  s    c         C   s    t  |  j j |  j j t  d  S(   N(   R   R   RR   R   Ra   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyRT     s    c         C   s   |  j  j   } t j | d d d g <t | |  j d |  j d d } t | j  j d d  t | j j d d  t | j j d	  d  S(
   Ni   i   i   R   R   R   i    i   (   i   i   (	   Rl   t   copyRn   R   R   Rk   R   R   R   (   R   Rl   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    !(   R^   R_   R`   R   R   RN   RQ   RK   R   R   R+   R   R   R   RT   R   (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s   										t   TestGLS_alt_sigmac           B   s/   e  Z d  Z e d    Z d   Z d   Z RS(   s>   
    Test that GLS with no argument is equivalent to OLS.
    c         C   s   t  j d t  } t | j d t | _ t | j | j  j   } t | j | j  j   } t | j | j d d } | j |  _ | j |  _ | |  _	 | |  _
 | |  _ d  S(   NRd   Re   R   i   (   R   Ri   Rj   R   Rk   R
   Rl   Rm   R   R   R   t   res3(   Rz   R{   t   ols_rest   gls_rest   gls_res_scalar(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    		c      	   C   s?   t  |  j  } t t t |  j |  j d t j | d  d  S(   NR   i   (   R   Rl   R   t
   ValueErrorR   Rk   Rn   t   ones(   R   t   n(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_wrong_size_sigma_1d  s    c      
   C   sI   t  |  j  } t t t |  j |  j d t j | d | d f  d  S(   NR   i   (   R   Rl   R   R   R   Rk   Rn   R   (   R   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_wrong_size_sigma_2d  s    (   R^   R_   R`   R   R   R   R   (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s   	t   TestLMc           B   sD   e  Z e d     Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s   t  j j d d  } t  j d  } t  j j d d  } t  j | |  | } t | |  j   |  _ t | | d  d   d f  j   |  _ |  j j	 d  |  _
 |  j j	 d  |  _ | |  _ | |  _ d  S(   Nid   i   i   i    t   HC0(   i   i   (   Rn   R   R   R   Rs   R
   Rm   t	   res1_fullt   res1_restrictedt   get_robustcov_resultst	   res2_fullt   res2_restrictedt   Xt   Y(   Rz   R   t   bt   eR   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    (	c   
      C   s   |  j  j } | j d } |  j } t j | |  | t j | j |  | } t j j |  } t j	 | | d  d   d  f d  } | t j t j | |  | j  } |  j j |  j   } | d }	 t | |	 t  d  S(   Ni    (   R   RU   R   R   Rn   Rs   Rt   Ro   Rr   t   meant   NoneR   t   compare_lm_testR   R   (
   R   RX   R   R   t   St   Sinvt   st   LMstatt
   LMstat_OLSt   LMstat2(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_LM_homoskedastic+  s    	-&%
c         C   s   |  j  j } | j d } |  j } | | d  d   d  f } t j | j |  | } t j j	 |  } t j
 | d  } | t j t j | |  | j  } |  j j |  j d t }	 |	 d }
 t | |
 t  d  S(   Ni    t   demean(   R   RU   R   R   R   Rn   Rs   Rt   Ro   Rr   R   R   R   R   Rj   R   R   (   R   RX   R   R   t   scoresR  R  R  R  R  R  (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt    test_LM_heteroskedastic_nodemean7  s    	%	
c         C   s   |  j  j } | j d } |  j } | | d  d   d  f } | | j d  } t j | j |  | } t j	 j
 |  } t j | d  } | t j t j | |  | j  }	 |  j j |  j  }
 |
 d } t |	 | t  d  S(   Ni    (   R   RU   R   R   R   R   Rn   Rs   Rt   Ro   Rr   R   R   R   R   R   (   R   RX   R   R   R	  t   scores_demeanR  R  R  R  R  R  (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_LM_heteroskedastic_demeanE  s    	%
c         C   s   |  j  j } |  j j } | j d } |  j } | | d  d   d  f } t j | d  } | | d  d   d  f } t j | j	 |  | } t j
 j |  } | t j t j | |  | j	  }	 |  j j |  j d t }
 |
 d } t |	 | t  d  S(   Ni    t   use_lr(   R   RU   R   R   R   R   Rn   R   Rs   Rt   Ro   Rr   R   R   R   R   R   R   (   R   RX   t
   resid_fullR   R   R	  R  R  R  R  R  R  (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt!   test_LM_heteroskedastic_LRversionS  s    	%	
c         C   s   t  t |  j j |  j  d  S(   N(   R   R   R   R   R   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_LM_nonnestedd  s    (	   R^   R_   R   R   R  R
  R  R  R  (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s   				t   TestOLS_GLS_WLS_equivalencec           B   s;   e  Z e d     Z d   Z d   Z d   Z d   Z RS(   c         C   s   t  j d t  } t | j d t | _ | j } | j } | j d } t j |  } g  |  _	 |  j	 j
 t | |  j    |  j	 j
 t | | |  j    |  j	 j
 t | | d |  j    |  j	 j
 t | | t j d |   j    d  S(   NRd   Re   i    id   g?(   R   Ri   Rj   R   Rk   Rl   R   Rn   R   R   t   appendR
   Rm   R   R   t   diag(   Rz   R{   R   R   R   t   w(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR   k  s    			"&c         C   s  t  j g  |  j D] } | j ^ q  } t  j |  |  j d j } t | | t  t  j g  |  j D] } | j ^ qe  } t  j |  |  j d j } t | | t  t  j g  |  j D] } | j ^ q  } t  j |  |  j d j } t | | t  d  S(   Ni    (	   Rn   R   R   RI   R   R   R   RL   RO   (   R   t   rRI   t   llf_1t   ict   ic_1(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_lly  s    (((c         C   sb   t  j g  |  j D] } | j ^ q  } t  j |  j d j g t |  j   } t | |  d  S(   Ni    (   Rn   R   R   R   R   R   (   R   R  R   t   params_1(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    ()c         C   sb   t  j g  |  j D] } | j ^ q  } t  j |  j d j g t |  j   } t | |  d  S(   Ni    (   Rn   R   R   R   R   R   (   R   R  R   t   bse_1(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_ss  s    ()c         C   se   t  j g  |  j D] } | j ^ q  } t  j |  j d j g t |  j   } t | | t  d  S(   Ni    (   Rn   R   R   R,   R   R   R   (   R   R  R,   t
   rsquared_1(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR.     s    ()(   R^   R_   R   R   R  R   R  R.   (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR  i  s
   			t   TestGLS_WLS_equivalencec           B   s   e  Z e d     Z RS(   c         C   s%  t  j d t  } t | j d t | _ | j } | j } | j d } t j j	 d  t j j
 d d |  } d | } g  |  _ |  j j t | | |  j    |  j j t | | d |  j    |  j j t | | d	 |  j    |  j j t | | t j d
 |   j    d  S(   NRd   Re   i    i   g      ?i   g      ?g{Gz?id   g?(   R   Ri   Rj   R   Rk   Rl   R   Rn   R   t   seedt   uniformR   R  R   Rm   R   R  (   Rz   R{   R   R   R   R  t   w_inv(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    		
	"&&(   R^   R_   R   R   (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR    s   t
   TestNonFitc           B   s    e  Z e d     Z d   Z RS(   c         C   s^   t  j d t  } t | j d t | _ | j |  _ | j |  _ t | j | j  |  _ d  S(   NRd   Re   (   R   Ri   Rj   R   Rk   Rl   R
   t	   ols_model(   Rz   R{   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s
    c         C   s;   |  j  j d |  j j d } t |  j j t d   d  S(   Ni    i   i	   (   Rl   R   Rk   R   R#  R4   R    (   R   R4   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_df_resid  s    (   R^   R_   R   R   R$  (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR"    s   t   TestWLS_CornerCasesc           B   s    e  Z e d     Z d   Z RS(   c         C   sR   t  j d  |  _ t  j d  |  _ d } t |  j |  j d | j   |  _ d  S(   Ni   t   weights(   i   (   i   (   Rn   R   Rk   Rl   R   Rm   t   wls_res(   Rz   R&  (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    c         C   s2   t  j d  } t t t |  j |  j d | d  S(   Ni
   R&  (   i
   i
   (   Rn   R   R   R   R   Rl   Rk   (   R   R&  (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_wrong_size_weights  s    (   R^   R_   R   R   R(  (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR%    s   t   TestWLSExogWeightsc           B   s   e  Z e d     Z RS(   c         C   s;  d d l  m } d d l m } | d t  } t | j d t | _ d } d | j d  d   d f } | | | j   } t | j	 | j d	 | j
   |  _ |   |  _ | d
 |  j j |  j _ d |  j j |  j j } |  j j | 8_ |  j j | 8_ |  j j d
 t j t j |  j j j   7_ d  S(   Ni   (   t   CCardWLSi(   Ri   Rd   Re   g      R@i   R&  g      ?(   Rh   R*  t   statsmodels.datasets.ccardRi   Rj   R   Rk   R   R   Rl   Rm   R   R   RX   RU   RI   RL   RO   Rn   t   logR2   R&  (   Rz   R*  Ri   t   dtat   nobsR&  t   scaled_weightst   corr_ic(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    $(   R^   R_   R   R   (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR)    s   c          C   s   d d d d d d d g }  t  d d  } t | d t } t |  | d t  d d  j   } t | j d	 d
  t | j d d
  d  S(   Ni   i   i   i   i   i   Re   R&  gg@L?i   g,@g@(   R   R   Rj   R   Rm   R   RF   R)   (   R   R   t	   wls_model(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_wls_example  s    $c          C   s  t  j d d d d d d g  }  d d g d d g d d g d d g d d g d d g g } t |  t | d t  j   } t  j d d d g  } d d g d d g d d g g } t  j d d d g  } t | t | d t d	 | j   } t | j | j  d  S(
   Ni   i   i   i    Re   g      7@i   g      @R&  (	   Rn   R   R
   R   Rj   Rm   R   R   t   centered_tss(   R   R   t   ols_modt   ywt   XwR  t   wls_mod(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_wls_tss  s    !<!!'t   TestWLSScalarVsArrayc           B   s   e  Z e d     Z RS(   c         C   s   d d l  m } | d t  } t | j d t | _ t | j | j d d d j   } d d	 g t	 | j  } t | j | j d | j   } | |  _
 | |  _ d  S(
   Ni(   Ri   Rd   Re   R&  g      ?i   i   g      @(   t   statsmodels.datasets.longleyRi   Rj   R   Rk   R   R   Rl   Rm   R   R   R   (   Rz   Ri   R-  t
   wls_scalarR&  t	   wls_array(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    %!	(   R^   R_   R   R   (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR9    s   c          C   s   d d l  m }  |  d t  } | j } t j | d d g <t | j | j d d | j d  d   d f d	 d
 } t | j j	 d d  t | j j	 d d  t | j
 j	 d d  d  S(   Ni(   Ri   Rd   i
   i   R&  i   i   R   R   i    iF   (   R+  Ri   Rj   Rl   Rn   R   R   Rk   R   R   R&  (   Ri   R{   Rl   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_wls_missing  s    	/	t   TestWLS_OLSc           B   s    e  Z e d     Z d   Z RS(   c         C   sj   t  j d t  } t | j d t | _ t | j | j  j   |  _ t	 | j | j  j   |  _
 d  S(   NRd   Re   (   R   Ri   Rj   R   Rk   R
   Rl   Rm   R   R   R   (   Rz   R{   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    c         C   s   t  | |   t  d  S(   N(   R   Ra   (   R   R    R!   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   check_confidenceintervals&  s    (   R^   R_   R   R   R?  (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR>    s   t   TestGLS_OLSc           B   s    e  Z e d     Z d   Z RS(   c         C   sj   t  j d t  } t | j d t | _ t | j | j  j   |  _ t	 | j | j  j   |  _
 d  S(   NRd   Re   (   R   Ri   Rj   R   Rk   R   Rl   Rm   R   R
   R   (   Rz   R{   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR   +  s    c         C   s   t  | |   t  d  S(   N(   R   Ra   (   R   R    R!   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR?  2  s    (   R^   R_   R   R   R?  (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR@  *  s   t   TestYuleWalkerc           B   s    e  Z e d     Z d   Z RS(   c         C   s_   d d l  m } | d t  } t | j d d d d \ |  _ |  _ d d	 d
 d g |  _ d  S(   Ni(   Ri   Rd   R   i   Rf   t   mleg."0?g3Eܿg@**ʿg0?(   t   statsmodels.datasets.sunspotsRi   Rj   R   Rl   R   R   t   R_params(   Rz   Ri   R{   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR   G  s    c         C   s   t  |  j |  j t  d  S(   N(   R   R   RD  Ra   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR   P  s    (   R^   R_   R   R   R   (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyRA  F  s   	t   TestDataDimensionsc           B   s    e  Z e d     Z d   Z RS(   c         C   s  t  j j d  t  j j d d d d |  _ |  j d  d   d  f |  _ t  j j d d d d |  _ |  j d  d   d  f |  _ |  j d  |  _	 t
 |  j |  j  |  _ |  j j d 7_ |  j j   |  _ t
 |  j |  j  |  _ |  j j d 7_ |  j j   |  _ d  S(   Ni1  i    i   t   sizei   ii   (   Rn   R   R  R   t   endog_n_R   t   endog_n_onet   exog_n_t
   exog_n_onet
   degen_exogR
   t   mod1R3   Rm   R   t   mod2R   (   Rz   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR   U  s    c         C   s   t  | |   t  d  S(   N(   R   Ra   (   R   R    R!   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR?  f  s    (   R^   R_   R   R   R?  (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyRE  T  s   t   TestGLS_large_datac           B   s2   e  Z e d     Z d   Z d   Z d   Z RS(   c         C   s   t  t |   j   d } t j j | d  } t j j | d  } t j |  } t | | d | j   |  _	 t | | d d j   |  _
 t | |  j   |  _ t | |  j   |  _ d  S(   Ni  i   i   R   (   t   superRN  R   Rn   R   R   R   R   Rm   R   R   t   gls_res_noneR
   R   (   Rz   R.  R   R   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR   k  s    c         C   s    t  |  j j |  j j t  d  S(   N(   R   R   R   R   R   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_large_equal_paramsw  s    c         C   s    t  |  j j |  j j t  d  S(   N(   R   R   RI   R   R   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_large_equal_loglikez  s    c         C   s    t  |  j j |  j j t  d  S(   N(   R   R   R   RP  R   (   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_large_equal_params_none}  s    (   R^   R_   R   R   RQ  RR  RS  (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyRN  j  s   		t   TestNxNxc           B   s   e  Z e d     Z RS(   c         C   sS   t  t |   j   t |  j |  j  |  _ |  j j d 7_ |  j j   |  _	 d  S(   Ni   (
   RO  RT  R   R
   RG  RI  RM  R3   Rm   R   (   Rz   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    (   R^   R_   R   R   (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyRT    s   t   TestNxOneNxc           B   s   e  Z e d     Z RS(   c         C   sS   t  t |   j   t |  j |  j  |  _ |  j j d 7_ |  j j   |  _	 d  S(   Ni   (
   RO  RU  R   R
   RH  RI  RM  R3   Rm   R   (   Rz   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    (   R^   R_   R   R   (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyRU    s   t   TestNxNxOnec           B   s   e  Z e d     Z RS(   c         C   sS   t  t |   j   t |  j |  j  |  _ |  j j d 7_ |  j j   |  _	 d  S(   Ni   (
   RO  RV  R   R
   RG  RJ  RM  R3   Rm   R   (   Rz   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyR     s    (   R^   R_   R   R   (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyRV    s   c          C   sC   t  j j d  t  j j d d d  }  t t t |  |  d  d  S(   Ni1  i    i   i   i   (   Rn   R   R  R   R   R   R
   (   R{   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_bad_size  s    c          C   s  t  j j d  t  j j d d d d }  t |  d t }  t  j |  d d d	 g  t  j j d d  } t | t	 |  d  d   d
 d   f d t  j
   } t | |  d t j
   } t | j | j d  | j j j d
 k s t  | j j j d
 k s	t  d  S(   Ni90  i    i   RF  i   R   g      ?g       @g      @i   Re   t   hasconsti   (   Rn   R   R  t   randintR	   R   Rs   t   normalR
   R   Rm   R   R,   R2   R{   t
   k_constantt   AssertionError(   R   R   t   rescR   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_const_indicator  s    .7c          C   s   t  j j d  t  j j d d d d }  t |  d t }  d |  d  d   d f <t  j |  d d	 d
 g  t  j j d d  } t | |  d t j	 d d  } t  j
 | j  s t  d  S(   Ni90  i    i   RF  i   R   i   g      ?g       @g      @RX  t   cov_typet   HC1(   Rn   R   R  RY  R	   R   Rs   RZ  R
   Rm   t   isnanRF   R\  (   R   R   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_fvalue_const_only  s    .!c          C   s   t  j t j j d   }  t  j t j d   } t |  |  j   } | j   } t j	 j
 | j d  t j	 j t | t  j   d  S(   Ni
   i   i   (   i   i   (   t   pandast   SeriesRn   R   R   R   R
   Rm   R   t   testingR   R   R   t
   isinstancet	   DataFrame(   R   R   R   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_conf_int_single_regressor  s    c          C   s   d d  l  }  t j   } | j } d | d <| j } t | |  j   } t j t	   | j
   j   } Wd  QX|  j d d |  } |  j d d |  } d } t | |  d  S(	   Nii   t   constants)   (?<=
\\textbf\{Date:\}             &).+?&s    Sun, 07 Apr 2013 &s)   (?<=
\\textbf\{Time:\}             &).+?&s        13:46:07     &s8
  \begin{center}
\begin{tabular}{lclc}
\toprule
\textbf{Dep. Variable:}    &      TOTEMP      & \textbf{  R-squared:         } &     0.995   \\
\textbf{Model:}            &       OLS        & \textbf{  Adj. R-squared:    } &     0.992   \\
\textbf{Method:}           &  Least Squares   & \textbf{  F-statistic:       } &     330.3   \\
\textbf{Date:}             & Sun, 07 Apr 2013 & \textbf{  Prob (F-statistic):} &  4.98e-10   \\
\textbf{Time:}             &     13:46:07     & \textbf{  Log-Likelihood:    } &   -109.62   \\
\textbf{No. Observations:} &          16      & \textbf{  AIC:               } &     233.2   \\
\textbf{Df Residuals:}     &           9      & \textbf{  BIC:               } &     238.6   \\
\textbf{Df Model:}         &           6      & \textbf{                     } &             \\
\bottomrule
\end{tabular}
\begin{tabular}{lcccccc}
                  & \textbf{coef} & \textbf{std err} & \textbf{t} & \textbf{P$> |$t$|$} & \textbf{[0.025} & \textbf{0.975]}  \\
\midrule
\textbf{GNPDEFL}  &      15.0619  &       84.915     &     0.177  &         0.863        &     -177.029    &      207.153     \\
\textbf{GNP}      &      -0.0358  &        0.033     &    -1.070  &         0.313        &       -0.112    &        0.040     \\
\textbf{UNEMP}    &      -2.0202  &        0.488     &    -4.136  &         0.003        &       -3.125    &       -0.915     \\
\textbf{ARMED}    &      -1.0332  &        0.214     &    -4.822  &         0.001        &       -1.518    &       -0.549     \\
\textbf{POP}      &      -0.0511  &        0.226     &    -0.226  &         0.826        &       -0.563    &        0.460     \\
\textbf{YEAR}     &    1829.1515  &      455.478     &     4.016  &         0.003        &      798.788    &     2859.515     \\
\textbf{constant} &   -3.482e+06  &      8.9e+05     &    -3.911  &         0.004        &     -5.5e+06    &    -1.47e+06     \\
\bottomrule
\end{tabular}
\begin{tabular}{lclc}
\textbf{Omnibus:}       &  0.749 & \textbf{  Durbin-Watson:     } &    2.559  \\
\textbf{Prob(Omnibus):} &  0.688 & \textbf{  Jarque-Bera (JB):  } &    0.684  \\
\textbf{Skew:}          &  0.420 & \textbf{  Prob(JB):          } &    0.710  \\
\textbf{Kurtosis:}      &  2.434 & \textbf{  Cond. No.          } & 4.86e+09  \\
\bottomrule
\end{tabular}
%\caption{OLS Regression Results}
\end{center}

Warnings: \newline
 [1] Standard Errors assume that the covariance matrix of the errors is correctly specified. \newline
 [2] The condition number is large, 4.86e+09. This might indicate that there are \newline
 strong multicollinearity or other numerical problems.(   t   reR   t   load_pandasRk   Rl   R
   Rm   t   pytestt   warnst   UserWarningt   summaryt   as_latext   subR   (   Rj  R-  R   R   R   t   tablet   expected(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_summary_as_latex  s    	
			(t   TestRegularizedFitc           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   s   t  j j d  d } t  j j d |  } t  j j d | d f  } xH t t t f D]7 } | | |  } | j d d  } t | j	 d  qV Wd  S(   Ni  id   RF  i   t   alphai  g        (
   Rn   R   R  RZ  R
   R   R   t   fit_regularizedR   R   (   R   R   Rl   Rk   Rz   R2   t   result(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_empty_model  s    c      	   C   s
  d d  l  } d d l m } | j j | j j t   } t j | j j	 | d d  d d } g  t
 |  D] } | j d  rn | ^ qn } xt| D]l} t | |  } | d	 }	 | d }
 t | d
  } t | d  } | d j t j  } | d	 t |	   d	 f } | d	 t |	   d t |
  d  f } | | j   } | | j d d  :} | | j d	  } | | j d	 d d :} xp t t t f D]_ } | | |  } | j d | d |  } t | j | d d | j d | d | d t  qWq Wd  S(   Nii   (   t   glmnet_r_resultsR   s   lasso_data.csvt	   delimitert   ,t   rslt_i    i   i   i   t   ddoft   L1_wtRv  t   decimalt   profile_scale(   t   osR   Rz  t   patht   dirnamet   abspatht   __file__Rn   t   loadtxtt   joint   dirt
   startswitht   getattrt   floatt   astypet   float64t   intR   t   stdR
   R   R   Rw  R   R   R   (   R   R  Rz  t   cur_dirR{   R   t   testst   testt   vecR   t   pR  t   lamR   Rl   Rk   Rz   R   t   rslt(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_regularized  s2    	.

,c         C   s  t  j j d  t  j j d d  } | d  d   d f | d  d   d f t  j j d d  } t  j j d d  } | d  d   d f | d  d   d f t  j j d d  } t  j | | | f  } t  j | | | f  } t  j | | f  } t  j | | f  } t  j d  }	 d |	 d d +t  j d |	  }
 x d D] } x d D] } t | |  } | j	 d
 | d |  } t
 | | d |	 } | j	 d
 | d |  } t | | d |
 } | j	 d
 | d |  } t | j | j d d t | j | j d d qQWqDWd  S(   Ni  RF  id   i   i    i   i   i   g      ?R  Rv  R&  R   R  (   id   i   (   id   i   (   i    g      ?i   (   i    i   (   Rn   R   R  RZ  t   vstackt   concatenateR   R  R
   Rw  R   R   R   R   (   R   t   exog1t   endog1t   exog2t   endog2t   exog_at   endog_at   exog_bt   endog_bt   wgtsR   R  Rv  RL  t   rslt1RM  t   rslt2t   mod3t   rslt3(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_regularized_weights3  s,    ==(   R^   R_   Ry  R  R  (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyRu    s   		&c          C   s   d d  l  j }  d d l m } d d l m } |  j j j   j	 } t
 j | j | j d d f <| d d d | j    } | j   } | d d d |  } | j   } t | j j | j j  t | | d d | d	 d
 d  S(   Ni(   t   ols(   t
   PatsyErrori    t   firmt   formulas&   value ~ invest + capital + firm + yearR{   R   t   raise(   t   statsmodels.apit   apit   statsmodels.formula.apiR  t   patsyR  t   datasetst   grunfeldRk  R{   Rn   R   t   loct   indext   dropnaRm   R   R   t   valuesR   (   t   smR  R  R-  R   R   RM  R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_formula_missing_catT  s    	c          C   s   d }  t  j d d |   } t  j t  j g  } t j i t  j | | f  d 6 } t  j d d g  } t  j j d |  d  } | d | d | d | | d <t	 j
 d	 d
 | } | j   } | j d | d   d  S(   Ni   i    i
   R   i   g?RF  R   s   y ~ xR{   Rk   i(   Rn   t   linspaceR   R   Rc  Rg  R  R   RZ  R
   t   from_formulaRm   t   predict(   t   nsampleR{   t   nullt   betaR   R2   Rm   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_missing_formula_predictl  s    %"c          C   s'  d }  t  j j d  t  j j |  d  } | d k t t g k j t  } | j d  t  j j |   } d d l	 m
 } m } | | |  j d d  } t t  j | j   t t  j | j   | j   | | |  j d d  } t t  j | j   t t  j | j   | j   d  S(	   Nid   i   i   i    i(   R
   R   R_  R`  (   Rn   R   R  R   R   Rj   R  R  R   t#   statsmodels.regression.linear_modelR
   R   Rm   R   Ra  RF   R   Ro  (   R.  R   R   R
   R   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_fvalue_implicit_constant{  s    !
c          C   s   d }  t  j j d  t  j |   } t  j j |   } d d l m } m } | | |  j d d d i d d	 6 } t	 t  j
 | j   t	 t  j
 | j   | j   | | |  j d d
  } t	 t  j
 | j   t	 t  j
 | j   | j   d  S(   Ni   i   i(   R
   R   R_  t   hact   cov_kwdsi   t   maxlagsR`  (   Rn   R   R  R   R   R  R
   R   Rm   R   Ra  RF   R   Ro  (   R.  R   R   R
   R   R   (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_fvalue_only_constant  s    (
c          C   sr  d }  d } t  j j d  t  j j d |  | f  } | j d  t  j j d |   } t  j |  } d | d <x d D] } x | | t  j |  | | f D] } t | |  } | j d |  } t | |  }	 |	 j d | d	 d  }
 t	 | j
 |
 j
  t | |  } | j d | d	 d
  } t	 | j
 | j
  q Wqy W| j } t  j | | j
  } t	 | |  d  S(   Nid   i   i<  RF  i   i    i
   Rv  R  g|=(   i    i   i
   (   Rn   R   R  RZ  R   R   R
   t
   _fit_ridgeRw  R   R   R   Rs   (   R   R  t   xmatt   yvect   vt   aRv  t   model1t   result1t   model2t   result2t   model3t   result3t   fv1t   fv2(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt
   test_ridge  s(    "
'	c    	      C   s  d }  d } t  j j d  t  j j d |  | f  } | d  d   d f | d  d   d f t  j j d |   } t | |  } | j d d d	 d
 d t  } t | | d  d   d d g f  } | j   } d d g } t | j	 | | j	  t | j
 | | j
  d  S(   Nid   i   i<  RF  i    i   Rv  g       @R  g      ?t   refit(   Rn   R   R  RZ  R
   Rw  R   Rm   R   R   R   (	   R   R  R  R  R  R  R  R  t   ii(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_regularized_refit  s    =%c          C   s"  d }  d } t  j j d  t  j j d |  | f  } | j d  t  j j d |   } t  j j d d |   } x t t f D] } | | | d | } | j d d	 d
 d d t	  } | j
 } t  j | |  }	 | j | j
  }
 t |	 |
  t | j |
  | j   }
 t |	 |
  q~ Wd  S(   Nid   i   i<  RF  i   i   R&  Rv  g       @R  g      ?R  (   Rn   R   R  RZ  R   R   R   R   Rw  R   R   Rs   R  R   R   (   R   R  R  R  t   wgtt   klassR  R  R   R   t   pr(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_regularized_predict  s     "	c          C   s   d }  d } t  j j d  t  j j d |  | f  } | j d  t  j j d |   } t | d |  } | j d d d d	  } t | | d
 d } | j d d d d	 d t  j d   } t | j	 | j	  d  S(   Nid   i   i<  RF  i   Rv  g      ?R  g      ?t   offsett   start_params(
   Rn   R   R  RZ  R   R
   Rw  R   R   R   (   R   R  R  R  R  R  R  R  (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_regularized_options  s    "c       	   C   s   t  j j d  }  |  j d  } | d d | d  } d g d d g d	 d
 d g d d d d g d d d d d g g } x~ t d d  D]m } t | |  \ } } t | | | d d d t d | | t  \ } } t  j | | k  s t	  q Wd  S(   Ni90  i'  i   g      ?ig̋]?gKt?gƿge6b?grB }˿g
Gf?g܈t?g@-̿gtS?Ѻ?gEਿghPL?g qͿg|\#?g
u0g0?i   R   gư>(
   Rn   R   t   RandomStateR   R   R   R   Rj   t   allR\  (   t   rndR   R   Rs  R"   t   art   _t   as_nodemean(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt	   test_burg  s    	c        	   C   s   t  j t   t t j d   Wd  QXt  j t   t t j j d  d  Wd  QXt  j t   t t j j d  d  Wd  QXd  S(   Nid   i   i    t   apple(   id   i   (   Rl  t   raisesR   R   Rn   R   R   R   (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_burg_errors  s    t   reasons   sqrt_lasso requires cvxoptc          C   s  t  j j d  d }  d } t  j |  } d t  j t  j j | |   } t  j j |  } t  j	 t  j j
 d |  | f  | j  } t  j |  } d d d d d g | d d +d	 d
 l m } d t  j |   | j d d d |  } t  j	 | |  d t  j j
 d |   }	 i d t 6d t 6}
 i t  j d" t 6t  j d# t 6} x3t t f D]%} t |	 |  j d d d | d |  } | j | } t  j t  j	 | t  j	 | |    } t |	 | d  d   d d  f  j   } t  j |  } | j | d d !| d d +t  j t  j	 | t  j	 | |    } t | | |
 | d d d d  t | j d d !| | d d! d d! q\Wd  S($   Ni id   i  g      ?RF  i   i    i   i(   t   normg?g?i   g      ?i   gtr}?gˑ?g9B?gR	?g-?gg<5o?gY}|?gF?gT\Z:?gbj?Rf   t
   sqrt_lassoRv  R  R   R   g?gh㈵>(   gtr}?gˑ?g9B?gR	?g-?(   gg<5o?gY}|?gF?gT\Z:?gbj?(   Rn   R   R  R   R   t   subtractt   outerRo   t   choleskyRs   RZ  Rt   R   t   scipy.stats.distributionsR  R   t   ppfRj   R   t   r_R
   Rw  R   Rm   R   (   R   R  R  t   cxt   cxrR   R   R  Rv  R   t   expected_oraclet   expected_paramsR  R  t   errt   numert   oraclet
   oracle_errt   denom(    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   test_sqrt_lasso  s6    "*,)''+'(Z   R`   t   statsmodels.compat.pythonR    R   R   Rc  t   numpyRn   t   numpy.testingR   R   R   R   R   Rl  t   scipy.linalgR   t   statsmodels.tools.toolsR   R	   R  R
   R   R   R   R   t   statsmodels.datasetsR   t   scipy.statsR   R   Ra   t	   DECIMAL_3t	   DECIMAL_2R   R   R   t   cvxoptR   t
   has_cvxoptt   ImportErrorRj   t   objectR   Rb   R   R   R   R   R   R   R   R   R   R  R  R"  R%  R)  R2  R8  R9  R=  R>  R@  RA  RE  RN  RT  RU  RV  RW  R^  Rb  Rh  Rt  Ru  R  R  R  R  R  R  R  R  R  R  t   markt   skipifR  (    (    (    sK   lib/python2.7/site-packages/statsmodels/regression/tests/test_regression.pyt   <module>   s   ((

|l#$!B S-									
		:V											