
    M/Ph                        d Z ddlm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ZddlmZ ddlmZ ddlmZ ddlmZmZmZmZmZ dd	lmZ d
ZdZdZ dZ!dZ"dZ#	 ddl$Z$dZ%n# e&$ r dZ%Y nw xY w G d d          Z' G d de'          Z( G d de'          Z) G d d          Z* G d d          Z+ G d d          Z, G d d          Z- G d d           Z. G d! d"          Z/ G d# d$e'          Z0 G d% d&          Z1 G d' d(          Z2 G d) d*e2          Z3 G d+ d,          Z4 G d- d.          Z5 G d/ d0e'          Z6d1 Z7d2 Z8 G d3 d4e'          Z9 G d5 d6e'          Z:d7 Z; G d8 d9e'          Z< G d: d;e'          Z= G d< d=          Z> G d> d?e'          Z? G d@ dAe?          Z@ G dB dCe?          ZA G dD dEe?          ZB G dF dGe?          ZCdH ZDdI ZEdJ ZFdK ZGdL ZH G dM dN          ZIdO ZJdP ZKdQ ZLdR ZMdS ZNdT ZOdU ZPdV ZQdW ZRdX ZSejT        U                    e% dYZ          d[             ZVd\ ZWd] ZXd^ ZYd_ ZZd` Z[dS )az&
Test functions for models.regression
    )lrangeN)assert_assert_allcloseassert_almost_equalassert_equalassert_raises)toeplitz)t)longley)GLSOLSWLSburgyule_walker)add_constant               TFc                       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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-dS )CheckRegressionResultsz
    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                 Z    t          | j        j        | j        j        | j                   d S N)r   res1paramsres2decimal_paramsselfs    l/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/regression/tests/test_regression.pytest_paramsz"CheckRegressionResults.test_params7   2    Idi.0C	
 	
 	
 	
 	
    c                 Z    t          | j        j        | j        j        | j                   d S r   )r   r   bser   decimal_standarderrorsr   s    r!   test_standarderrorsz*CheckRegressionResults.test_standarderrors>   s0    IM49=$*E	
 	
 	
 	
 	
r$   c                 t   | j                                         }| j                                        }t          t	          |                    D ]h}t          ||         d         ||         d         d| j         z             t          ||         d         ||         d         d| j         z             id S )Nr   
   rtolr   )r   conf_intr   rangelenr   decimal_confidenceintervals)r    conf1conf2is       r!   test_confidenceintervalsz/CheckRegressionResults.test_confidenceintervalsE   s    	""$$	""$$s5zz"" 
	 
	AaaD<<<   
 aaD<<<    
	 
	r$   c                 N   t          | j        j                  dk    rt          j        t
          d          5  | j                            d          }d d d            n# 1 swxY w Y   | j                                        dd         }t          ||| j                   d S d S )Nr   zcols is)matchr   r   )colsr   )	r/   r   r   pytestwarnsFutureWarningr-   r   decimal_conf_int_subset)r    ci1ci2s      r!   test_conf_int_subsetz+CheckRegressionResults.test_conf_int_subsetW   s    ty  1$$m9=== 6 6i((f(556 6 6 6 6 6 6 6 6 6 6 6 6 6 6)$$&&qs+CS$*FGGGGGDs   A!!A%(A%c                 Z    t          | j        j        | j        j        | j                   d S r   )r   r   scaler   decimal_scaler   s    r!   
test_scalez!CheckRegressionResults.test_scaleb   s0    IOTY_d.@	
 	
 	
 	
 	
r$   c                 Z    t          | j        j        | j        j        | j                   d S r   )r   r   rsquaredr   decimal_rsquaredr   s    r!   test_rsquaredz$CheckRegressionResults.test_rsquaredi   s2    I	 2D4I	
 	
 	
 	
 	
r$   c                 Z    t          | j        j        | j        j        | j                   d S r   )r   r   rsquared_adjr   decimal_rsquared_adjr   s    r!   test_rsquared_adjz(CheckRegressionResults.test_rsquared_adjp   s4    I"I"%	
 	
 	
 	
 	
r$   c                     t          | j        j        j        | j        j                   t          | j        j        j        | j        j                   d S r   )r   r   modeldf_modelr   df_residr   s    r!   test_degreesz#CheckRegressionResults.test_degreesw   s@    TY_-ty/ABBBTY_-ty/ABBBBBr$   c                 Z    t          | j        j        | j        j        | j                   d S r   )r   r   essr   decimal_essr   s    r!   test_esszCheckRegressionResults.test_ess}   s%    DIM49=$:JKKKKKr$   c                 Z    t          | j        j        | j        j        | j                   d S r   )r   r   ssrr   decimal_ssrr   s    r!   test_sumof_squaredresidsz/CheckRegressionResults.test_sumof_squaredresids   %    DIM49=$:JKKKKKr$   c                 Z    t          | j        j        | j        j        | j                   d S r   )r   r   	mse_modelr   decimal_mse_residr   s    r!   test_mse_residz%CheckRegressionResults.test_mse_resid   s2    I!4d6L	
 	
 	
 	
 	
r$   c                 Z    t          | j        j        | j        j        | j                   d S r   )r   r   	mse_residr   decimal_mse_modelr   s    r!   test_mse_modelz%CheckRegressionResults.test_mse_model   s2    I!4d6L	
 	
 	
 	
 	
r$   c                 d    t          | j        j        | j        j        | j        d| z             d S )NzTest class %s)err_msg)r   r   	mse_totalr   decimal_mse_totalr   s    r!   test_mse_totalz%CheckRegressionResults.test_mse_total   sA    II"#d*		
 	
 	
 	
 	
 	
r$   c                 Z    t          | j        j        | j        j        | j                   d S r   )r   r   fvaluer   decimal_fvaluer   s    r!   test_fvaluez"CheckRegressionResults.test_fvalue   s4     	Idi.0C	
 	
 	
 	
 	
r$   c                 Z    t          | j        j        | j        j        | j                   d S r   )r   r   llfr   decimal_logliker   s    r!   test_loglikez#CheckRegressionResults.test_loglike   s%    DIM49=$:NOOOOOr$   c                 (   t          | j        j        | j        j        | j                   | j                            d          }| j        j        | j        j        j        z   }| j        j        j	        }| j        j        d|dz  |z   z  ||z
  dz
  z  z   }t          ||d           | j                            d          }| j        j        d|z  z
  dt          j        t          j        |                    z  |z  z   }t          ||d           d S )Naiccr   r   绽|=r+   hqic)r   r   aicr   decimal_aicinfo_criteriarN   rM   
k_constantnobsr   nplog)r    aicc1krw   aicc2hqic1hqic2s          r!   test_aiczCheckRegressionResults.test_aic   s    DIM49=$:JKKK	''//I!;;y#	QTAX$(Q, ??u51111	''//Q&!bfRVD\\.B.B*BQ*FFu5111111r$   c                 Z    t          | j        j        | j        j        | j                   d S r   )r   r   bicr   decimal_bicr   s    r!   test_biczCheckRegressionResults.test_bic   rY   r$   c                 Z    t          | j        j        | j        j        | j                   d S r   )r   r   pvaluesr   decimal_pvaluesr   s    r!   test_pvaluesz#CheckRegressionResults.test_pvalues   s2    Ity0$2F	
 	
 	
 	
 	
r$   c                 Z    t          | j        j        | j        j        | j                   d S r   )r   r   wresidr   decimal_wresidr   s    r!   test_wresidz"CheckRegressionResults.test_wresid   r#   r$   c                 Z    t          | j        j        | j        j        | j                   d S r   )r   r   residr   decimal_residsr   s    r!   test_residsz"CheckRegressionResults.test_resids   s0    IOTY_d.A	
 	
 	
 	
 	
r$   c                 Z    t          | j        j        | j        j        | j                   d S r   )r   r   resid_pearsonr   decimal_norm_residsr   s    r!   test_norm_residsz'CheckRegressionResults.test_norm_resids   s4    I#I#$	
 	
 	
 	
 	
r$   N).__name__
__module____qualname____doc__	DECIMAL_4r   r"   r'   r(   r0   r4   r<   r?   rB   rC   rF   rG   rJ   rK   rP   rS   rT   rW   rX   r\   r]   r`   ra   re   rf   ri   rj   rm   rn   rt   r   r   r   r   r   r   r   r   r   r   r    r$   r!   r   r   /   s        
 N
 
 

 '
 
 

 #,    (   M
 
 

 !
 
 

 %
 
 
C C C KL L L KL L L "
 
 
 "
 
 

 "
 
 
 N
 
 
  OP P P K
2 
2 
2 KL L L  O
 
 

 N
 
 

 N
 
 

 $
 
 
 
 
r$   r   c                   r    e Zd Zed             Zd Zd Zd Zd Zd Z	d Z
d Zd	 Zd
 Zd Zd Zd Zd ZdS )TestOLSc                    ddl m} t          j                    }t	          j        |j                  }t	          j        |j                  }t          |d          }t          ||          
                                } |            }|j        |_        || _        || _        t          ||          
                    d          }t          ||          }t          j                            |          \  }	}
|	|
c|_        |_        t          j                            t	          j        |
j        |
                    |_        t          j                            |
          |_        |
                    d          }|| _        || _        d S )Nr   )LongleyFprependqrmethod)results.results_regressionr   r   loadrx   asarrayendogexogr   r   fitr   r   r   linalgr   exog_Qexog_RinvdotTnormalized_cov_paramsmatrix_rankrankres_qrres_qr_manual)clsr   datar   r   r   r   r   model_qrQRres_qr2s               r!   setup_classzTestOLS.setup_class   sG   777777|~~
4:&&z$)$$D%0005$##%%wyykUD!!%%T%22ud##y||D!!1+,a()+rvac1~~)F)F&	--a00,,d,++
#r$   c                     | j         j        | j        j        z
  }|| j         j        z  }t          j        |          }t          ||t                     d S r   )r   	eigenvalsr   rx   
zeros_liker   	DECIMAL_7)r    eigenval_perc_diffzeross      r!   test_eigenvalueszTestOLS.test_eigenvalues   sU    K!D$6$@@ 	 	dk33011.yAAAAAr$   c                     t          | j        j        d d         | j        j        d d         t                     t          t          j        | j        j        d                   | j        j        d                    d S )N)r   r   HC0_ser   r   r   rx   roundr   s    r!   test_HC0_errorszTestOLS.test_HC0_errors  so     	ISbS!49#3CRC#8)	
 	
 	
 	!1"!566	8H8LMMMMMr$   c                     t          | j        j        d d         | j        j        d d         t                     t          | j        j        d         | j        j        d         d           d S )Nr   gHך>r+   )r   r   HC1_ser   r   r   r   s    r!   test_HC1_errorszTestOLS.test_HC1_errors  h    ISbS!49#3CRC#8)	
 	
 	
 		(,di.>r.BNNNNNNr$   c                     t          | j        j        d d         | j        j        d d         t                     t          | j        j        d         | j        j        d         d           d S )Nr   gƠ>r+   )r   r   HC2_ser   r   r   r   s    r!   test_HC2_errorszTestOLS.test_HC2_errors  r   r$   c                     t          | j        j        d d         | j        j        d d         t                     t          | j        j        d         | j        j        d         d           d S )Nr   gv!>r+   )r   r   HC3_ser   r   r   r   s    r!   test_HC3_errorszTestOLS.test_HC3_errors  su    ISbS!49#3CRC#8)	
 	
 	
 	IR $)"22"6V	
 	
 	
 	
 	
 	
r$   c                 P    t          | j        j        | j        j        d           d S N   )r   r   r   r   r   s    r!   test_qr_paramszTestOLS.test_qr_params%  s$    DI,dk.@!DDDDDr$   c                     t          t          j        | j        j                  | j        j        | j        j        z  d           d S N   )r   rx   	ones_liker   r   r   r   s    r!   test_qr_normalized_cov_paramsz%TestOLS.test_qr_normalized_cov_params(  sH    L899I+k/0		
 	
 	
 	
 	
r$   c                 F   t          j                    }t          |j        d          |_        t          j        |j        g d<   t          |j        |j        d          }t          |j        j	        d         d           t          |j        j	        d         d           d S )NFr   )r   r      drop)missingr      )
r   r   r   r   rx   nanr   r   r   shape)r    r   mods      r!   test_missingzTestOLS.test_missing1  s    |~~ E:::	!#
:::$*di888SY_Q',,,SX^A&+++++r$   c                 f   t          j        d          5  t          j                            d          }t          j                            dd          }t          ||                                          }|j        }t          |t          j	                   d d d            d S # 1 swxY w Y   d S )NTrecordr   r   )
warningscatch_warningsrx   randomrandnr   r   rI   r   r   )r    xyresultsrI   s        r!   test_rsquared_adj_overfitz!TestOLS.test_rsquared_adj_overfit9  s     $D111 	/ 	/	""A	1%%A!QiimmooG"/Lrv...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/s   BB&&B*-B*c                 R    t          | j        j        | j        j        d           d S )Ngdy=r+   )r   r   r   r   r   s    r!   test_qr_alternativeszTestOLS.test_qr_alternativesD  s5    K 2 9	
 	
 	
 	
 	
 	
r$   c                     | j         j        }|t          j        t          j        |dz            | j         j        z            z  }| j         j        }t          ||t                     d S )N       @)	r   r   rx   sqrtsumrO   r   r   r   )r    r   
norm_residmodel_norm_resids       r!   test_norm_residzTestOLS.test_norm_residI  s\    	 RWRVESL%9%9DI<N%NOOO
92,j)DDDDDr$   c                 F   t          j                    5  d}t          j        d|t                     | j                            d          }d d d            n# 1 swxY w Y   t          |j                  dk    sJ t          t          |                    dk     sJ d S )Nz!kurtosistest only valid for n>=20ignore)messagecategoryTslimr   i,  )	r   r   filterwarningsUserWarningr   summaryr/   tablesstr)r    msgsumms      r!   test_summary_slimzTestOLS.test_summary_slimO  s    $&& 	0 	05C#Hc-8: : : : 9$$$$//D	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 4;1$$$$3t99~~$$$$$$s   :AA!Ac                 .   t          j        d          5  | j        j        j        }t          ||                                          }t          |j        dd           t          |j	        |j
        d           d d d            d S # 1 swxY w Y   d S )NTr   r   g#B;atolg|=)r   r   r   rM   r   r   r   r   rA   r   r   )r    r   ress      r!   test_norm_resid_zero_variancez%TestOLS.test_norm_resid_zero_varianceZ  s    $D111 	G 	G	%Aa))--//CCIqu5555CJ(9FFFF		G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	Gs   A'B

BBN)r   r   r   classmethodr   r   r   r   r   r   r   r   r   r   r   r   r  r	  r   r$   r!   r   r      s       $ $ [$2B B BN N NO O OO O O
 
 
E E E
 
 
, , ,	/ 	/ 	/
 
 

E E E	% 	% 	%G G G G Gr$   r   c                   $    e Zd Zed             ZdS )TestRTOc                 ~   ddl m} t          j                    }t	          j        |j                  }t	          j        |j                  }t          ||          	                                } |            }|j
        |_
        || _        || _        t          ||          	                    d          }|| _        d S )Nr   )
LongleyRTOr   r   )r   r  r   r   rx   r   r   r   r   r   r   r   r   r   )r   r  r   r   r   r   r   r   s           r!   r   zTestRTO.setup_classc  s    ::::::|~~
4:&&z$)$$5$##%%z||kUD!!%%T%22


r$   Nr   r   r   r
  r   r   r$   r!   r  r  b  s-          [  r$   r  c                   @    e Zd ZdZed             Zd Zd Zd Zd Z	dS )	TestFtestz,
    Tests f_test vs. RegressionResults
    c                 B   t          j                    }t          |j        d          |_        t	          |j        |j                                                  | _        t          j	        d          d dd d f         }| j        
                    |          | _        d S )NFr   r   r   )r   r   r   r   r   r   r   r   rx   identityf_testFtest)r   r   r   s      r!   r   zTestFtest.setup_classy  s{    |~~ E:::	tz49--1133KNN3B36"HOOA&&			r$   c                 Z    t          | j        j        | j        j        t                     d S r   )r   r  rh   r   r   r   s    r!   test_FzTestFtest.test_F  s$    DJ-ty/?KKKKKr$   c                 Z    t          | j        j        | j        j        t
                     d S r   )r   r  pvaluer   f_pvaluer   r   s    r!   test_pzTestFtest.test_p  s$    DJ-ty/A9MMMMMr$   c                 X    t          | j        j        | j        j        j                   d S r   )r   r  df_denomr   rM   rO   r   s    r!   test_Df_denomzTestFtest.test_Df_denom  $    TZ($)/*BCCCCCr$   c                 :    t          | j        j        d           d S r   )r   r  df_numr   s    r!   test_Df_numzTestFtest.test_Df_num  s    TZ&*****r$   N)
r   r   r   r   r
  r   r  r  r  r"  r   r$   r!   r  r  t  s~          ' ' ['L L LN N ND D D+ + + + +r$   r  c                   F    e Zd ZdZed             Zd Zd Zd Zd Z	d Z
dS )	
TestFTest2z
    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                    t          j                    }d t          d|j        j        d         dz             D             }||j        _        t          |j        d          |_        t          |j        |j                  	                                }g dg dg}|
                    |          | _        d}|
                    |          | _        d S )Nc                     g | ]}d | S r   r   .0r3   s     r!   
<listcomp>z*TestFTest2.setup_class.<locals>.<listcomp>      EEEq7q77EEEr$   r   Fr   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   zx2 = x3, x5 = x6)r   r   r.   r   r   columnsr   r   r   r   r  Ftest1	NewFtest1)r   r   r,  r   R2hyps         r!   r   zTestFTest2.setup_class  s    |~~EEE!TY_Q-?!-C$D$DEEE#	 E:::	4:ty))--//$$$&<&<&<=[[__
 C((r$   c                 N    t          | j        j        | j        j                   d S r   )r   r.  rh   r-  r   s    r!   test_new_ftestzTestFTest2.test_new_ftest  s"    T^*DK,>?????r$   c                 F    t          | j        j        dt                     d S )NgN}{#@)r   r-  rh   r   r   s    r!   rj   zTestFTest2.test_fvalue  s     DK.0BINNNNNr$   c                 F    t          | j        j        dt                     d S )Ngx*.v?)r   r-  r  r   r   s    r!   test_pvaluezTestFTest2.test_pvalue  s+    K 5y	
 	
 	
 	
 	
r$   c                 :    t          | j        j        d           d S N	   r   r-  r  r   s    r!   test_df_denomzTestFTest2.test_df_denom      T[)1-----r$   c                 :    t          | j        j        d           d S Nr   r   r-  r!  r   s    r!   test_df_numzTestFTest2.test_df_num      T['+++++r$   N)r   r   r   r   r
  r   r2  rj   r5  r:  r?  r   r$   r!   r$  r$    s          	) 	) [	)@ @ @O O O
 
 

. . ., , , , ,r$   r$  c                   @    e Zd ZdZed             Zd Zd Zd Zd Z	dS )
TestFtestQz}
    A joint hypothesis test that Rb = q.  Coefficient tests are essentially
    made up.  Test values taken from Stata.
    c                 d   t          j                    }t          |j        d          |_        t	          |j        |j                                                  }t          j        g dg dg dg dg dg          }t          j        g d          }|	                    ||f          | _
        d S )	NFr   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   r   r   rx   arrayr  r-  )r   r   r   r   qs        r!   r   zTestFtestQ.setup_class  s    |~~ E:::	4:ty))--//H%%%%%%%%%%%%%%%
 
 H___%%[[!Q((


r$   c                 <    t          | j        j        dd           d S )Ng/IeQ@r   )r   r-  rh   r   s    r!   rj   zTestFtestQ.test_fvalue  s    DK.	1=====r$   c                 <    t          | j        j        dd           d S )Ng\s>r*   )r   r-  r  r   s    r!   r5  zTestFtestQ.test_pvalue  s    DK.	2>>>>>r$   c                 :    t          | j        j        d           d S r7  r9  r   s    r!   r:  zTestFtestQ.test_df_denom  r;  r$   c                 :    t          | j        j        d           d S r   r>  r   s    r!   r?  zTestFtestQ.test_df_num  r@  r$   N)
r   r   r   r   r
  r   rj   r5  r:  r?  r   r$   r!   rB  rB    su         
 ) ) [) > > >? ? ?. . ., , , , ,r$   rB  c                   L    e Zd ZdZed             Zd Zd Zd Zd Z	d Z
d Zd	S )
	TestTtestzd
    Test individual t-tests.  Ie., are the coefficients significantly
    different than zero.
    c                    t          j                    }d t          d|j        j        d         dz             D             }||j        _        t          |j        d          |_        t          |j        |j                  	                                | _
        t          j        d          }| j
                            |          | _        d}| j
                            |          | _        d S )Nc                     g | ]}d | S r'  r   r(  s     r!   r*  z)TestTtest.setup_class.<locals>.<listcomp>  r+  r$   r   Fr   r   z9x1 = 0, x2 = 0, x3 = 0, x4 = 0, x5 = 0, x6 = 0, const = 0)r   r   r.   r   r   r,  r   r   r   r   r   rx   r  t_testTtestNewTTest)r   r   r,  r   r0  s        r!   r   zTestTtest.setup_class  s    |~~EEE!TY_Q-?!-C$D$DEEE#	 E:::	tz49--1133KNNHOOA&&	Ixs++r$   c                 N    t          | j        j        | j        j                   d S r   )r   rP  tvaluerO  r   s    r!   test_new_tvaluezTestTtest.test_new_tvalue  s"    T])4:+<=====r$   c                 Z    t          | j        j        | j        j        t
                     d S r   )r   rO  rR  r   tvaluesr   r   s    r!   test_tvaluezTestTtest.test_tvalue  s$    DJ-ty/@)LLLLLr$   c                 Z    t          | j        j        | j        j        t
                     d S r   )r   rO  sdr   r&   r   r   s    r!   test_sdzTestTtest.test_sd  s"    DJM49=)DDDDDr$   c                     t          | j        j        t          j        t          j        | j        j                  | j        j	        j
                  dz  t                     d S r=  )r   rO  r  	student_tsfrx   absr   rU  rM   rO   r   r   s    r!   r5  zTestTtest.test_pvalue  sV    JL	 122DIO4LMM		
 	
 	
 	
 	
r$   c                 X    t          | j        j        | j        j        j                   d S r   )r   rO  r  r   rM   rO   r   s    r!   r:  zTestTtest.test_df_denom  r  r$   c                 N    t          | j        j        | j        j                   d S r   )r   rO  effectr   r   r   s    r!   test_effectzTestTtest.test_effect  s"    DJ-ty/?@@@@@r$   N)r   r   r   r   r
  r   rS  rV  rY  r5  r:  ra  r   r$   r!   rK  rK    s         
 	, 	, [	,> > >M M ME E E
 
 
D D DA A A A Ar$   rK  c                   F    e Zd ZdZed             Zd Zd Zd Zd Z	d Z
dS )	
TestTtest2z~
    Tests the hypothesis that the coefficients on POP and YEAR
    are equal.

    Results from RPy using 'car' package.
    c                 (   t          j        d          }ddg|dd<   t          j                    }t	          |j        d          |_        t          |j        |j                                                  }|	                    |          | _
        d S )Nr   r   r   r   r   Fr   )rx   r   r   r   r   r   r   r   r   rN  Ttest1)r   r   r   r   s       r!   r   zTestTtest2.setup_class  su    HQKKR!A#|~~ E:::	4:ty))--//[[^^


r$   c                 F    t          | j        j        dt                     d S )NgN-)r   re  rR  r   r   s    r!   rV  zTestTtest2.test_tvalue       DK.0CYOOOOOr$   c                 F    t          | j        j        dt                     d S )Ng9y@v|@)r   re  rX  r   r   s    r!   rY  zTestTtest2.test_sd  s    DKN,>	JJJJJr$   c                 F    t          | j        j        dt                     d S )Ng6X%h?)r   re  r  r   r   s    r!   r5  zTestTtest2.test_pvalue  s+    K 99	
 	
 	
 	
 	
r$   c                 :    t          | j        j        d           d S r7  )r   re  r  r   s    r!   r:  zTestTtest2.test_df_denom  r;  r$   c                 F    t          | j        j        dt                     d S )Ng<,nϔ)r   re  r`  r   r   s    r!   ra  zTestTtest2.test_effect"  rg  r$   N)r   r   r   r   r
  r   rV  rY  r5  r:  ra  r   r$   r!   rc  rc    s          $ $ [$P P PK K K
 
 

. . .P P P P Pr$   rc  c                   j    e Zd ZdZed             Zd Zd Zd Zd Z	d Z
d Zd	 Zd
 Zd Zd Zd ZdS )TestGLSzA
    These test results were obtained by replication with R.
    c                    ddl m} t          j                    }t	          t          j        |j        j        d d df         |j        j        d d df         f          d          }t          |j
        |                                          }t          j        |j        dd          |j        d d                   d         d         }t          t          j        d                    }||z  }t!          |j
        ||	                                          }|| _         |            | _        || _        || _        |j
        | _
        d S )
Nr   )
LongleyGlsr   Fr   r   r      sigma)r   ro  r   r   r   rx   column_stackr   ilocr   r   r   corrcoefr   r	   aranger   r   r   rr  )	r   ro  r   r   tmp_resultsrhoorderrr  GLS_resultss	            r!   r   zTestGLS.setup_class+  s0   ::::::|~~OTY^AAAqD149>!!!Q$3GHII
 
 
 $*d++//11k++ABB/1B3B31GHHK
 2''u$*d%888<<>>:<<	J			r$   c                 X    t          | j        j        dz   | j        j        d           d S )Nr   gMbp?r+   )r   r   rs   r   r   s    r!   r   zTestGLS.test_aicB  s*    	)49=tDDDDDDr$   c                 R    t          | j        j        | j        j        d           d S )NgQ?r+   )r   r   r   r   r   s    r!   r   zTestGLS.test_bicF  s%    	ty}6BBBBBBr$   c                 Z    t          | j        j        | j        j        t                     d S r   )r   r   rl   r   	DECIMAL_0r   s    r!   rn   zTestGLS.test_loglikeJ  "    DIM49=)DDDDDr$   c                 Z    t          | j        j        | j        j        t                     d S r   )r   r   r   r   	DECIMAL_1r   s    r!   r"   zTestGLS.test_paramsM  s$    DI,di.>	JJJJJr$   c                 Z    t          | j        j        | j        j        t                     d S r   )r   r   r   r   r   r   s    r!   
test_residzTestGLS.test_residP  "    DIOTY_iHHHHHr$   c                 Z    t          | j        j        | j        j        t                     d S r   )r   r   rA   r   r   r   s    r!   rC   zTestGLS.test_scaleS  r  r$   c                 Z    t          | j        j        | j        j        t                     d S r   )r   r   rU  r   r   r   s    r!   test_tvalueszTestGLS.test_tvaluesV  $    DI-ty/@)LLLLLr$   c                 Z    t          | j        j        | j        j        t                     d S r   )r   r   r&   r   r   r   s    r!   r(   zTestGLS.test_standarderrorsY  r  r$   c                 Z    t          | j        j        | j        j        t                     d S r   )r   r   fittedvaluesr   r   r   s    r!   test_fittedvalueszTestGLS.test_fittedvalues\  s/    I"DI$:I	
 	
 	
 	
 	
r$   c                 Z    t          | j        j        | j        j        t                     d S r   )r   r   r   r   r   r   s    r!   r   zTestGLS.test_pvaluesa  r  r$   c                 H   | j                                         }t          j        |g d<   t	          || j        | j        d          }t          |j         j        d         d           t          |j        j        d         d           t          |j        j        d           d S )N)r   r   r   r   )rr  r   r   r   )r   r   )	r   copyrx   r   r   r   rr  r   r   )r    r   r   s      r!   r   zTestGLS.test_missingd  s    
!!Fjjj%$*fEEESY_Q',,,SX^A&+++SY_h/////r$   N)r   r   r   r   r
  r   r   r   rn   r"   r  rC   r  r(   r  r   r   r   r$   r!   rm  rm  &  s            [,E E EC C CE E EK K KI I II I IM M ME E E
 
 

M M M0 0 0 0 0r$   rm  c                   z    e Zd ZdZed             Zd Zd Zej	        
                    d          d             ZdS )TestGLS_alt_sigmaz>
    Test that GLS with no argument is equivalent to OLS.
    c                    t          j                    }t          j        |j                  }t          j        |j                  }t          |d          }t          ||                                          }t          ||                                          }t          ||d          }|| _        || _        || _
        || _        || _        d S )NFr   r   rq  )r   r   rx   r   r   r   r   r   r   r   r   r   res3)r   r   r   r   ols_resgls_resgls_res_scalars          r!   r   zTestGLS_alt_sigma.setup_classr  s    |~~
4:&&z$)$$D%000eT""&&((eT""&&((UD222	!r$   c           
          t          | j                  }t          t          t          | j        | j        t          j        |dz
                       d S Nr   rq  r/   r   r   
ValueErrorr   r   rx   onesr    ns     r!   test_wrong_size_sigma_1dz*TestGLS_alt_sigma.test_wrong_size_sigma_1d  sK    
OOTZ"'!a%..	
 	
 	
 	
 	
 	
r$   c                     t          | j                  }t          t          t          | j        | j        t          j        |dz
  |dz
  f                     d S r  r  r  s     r!   test_wrong_size_sigma_2dz*TestGLS_alt_sigma.test_wrong_size_sigma_2d  sY    
OOJI'1q5!a%.))	
 	
 	
 	
 	
 	
r$   zTest does not raise but shouldc                    t          | j                  }t          j        ||f          t          j        t          j        |                    z   }dx|d<   |d<   t          j                            |          |dz
  k    sJ t          j        t          j        j	                  5  t          | j        | j        |           d d d            d S # 1 swxY w Y   d S )Nr   r   r   )r   r   r   rq  )r/   r   rx   r  diagr   r   r9   raisesLinAlgErrorr   r   )r    r  rr  s      r!   test_singular_sigmaz%TestGLS_alt_sigma.test_singular_sigma  s    
OOA"'"'!**"5"55$%%deDky$$U++q1u4444]29011 	4 	4
DIU3333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4s   'CCCN)r   r   r   r   r
  r   r  r  r9   markskipr  r   r$   r!   r  r  m  s          " " [" 
 
 

 
 
 [6774 4 874 4 4r$   r  c                   B    e Zd Zed             Zd Zd Zd Zd Zd Z	dS )TestLMc                 <   t           j                            d          }|                    dd          }t          j        d          }|                    dd          }t          j        ||          |z   }t          ||                                          | _        t          ||d d df                                                   | _	        | j        
                    d          | _        | j	        
                    d          | _        || _        || _        d S )Ni  d   r   )r   r   r   r   HC0)rx   r   RandomStater   r  r   r   r   	res1_fullres1_restrictedget_robustcov_results	res2_fullres2_restrictedr   Y)r   rsr   ber   s         r!   r   zTestLM.setup_class  s     Y""4((HHS!GFOOHHS!F1aLL1 Aq		!!Qqqq!tWoo1133;;EBB!1GGNNr$   c                    | j         j        }|j        d         }| j        }t	          j        ||          |z  t	          j        |j        |          z  |z  }t          j                            |          }t	          j	        ||d d d f         z  d          }|t	          j        t	          j        ||          |j                  z  }| j
                            | j                   }|d         }	t          ||	t                     d S Nr   )r  r   r   r   rx   r   r   r   r   meanr  compare_lm_testr   r   )
r    r   r  r   SSinvsLMstat
LMstat_OLSLMstat2s
             r!   test_LM_homoskedasticzTestLM.test_LM_homoskedastic  s    $+KNFF5%  1$rvac1~~59y}}QGAaaag&**RVBF1dOOQS111^33D4HII
Q-FGY77777r$   c                    | j         j        }|j        d         }| j        }||d d d f         z  }t	          j        |j        |          |z  }t          j                            |          }t	          j	        |d          }|t	          j        t	          j        ||          |j                  z  }| j
                            | j        d          }	|	d         }
t          ||
t                     d S )Nr   F)demean)r  r   r   r   rx   r   r   r   r   r  r  r  r  r   r   )r    r   r  r   scoresr  r  r  r  r  r  s              r!    test_LM_heteroskedastic_nodemeanz'TestLM.test_LM_heteroskedastic_nodemean  s    $+KNFU111d7^#F68V$$q(y}}QGFARVBF1dOOQS111^33  4 
 

 Q-FGY77777r$   c                    | j         j        }|j        d         }| j        }||d d d f         z  }||                    d          z
  }t          j        |j        |          |z  }t
          j        	                    |          }t          j        |d          }|t          j        t          j        ||          |j                  z  }	| j
                            | j                  }
|
d         }t          |	|t                     d S r  )r  r   r   r   r  rx   r   r   r   r   r  r  r  r   r   )r    r   r  r   r  scores_demeanr  r  r  r  r  r  s               r!   test_LM_heteroskedastic_demeanz%TestLM.test_LM_heteroskedastic_demean  s    $+KNFU111d7^#Q/F=?M22Q6y}}QGFARVBF1dOOQS111^33D4HII
Q-FGY77777r$   c                    | j         j        }| j        j        }|j        d         }| j        }||d d d f         z  }t          j        |d          }||d d d f         z  }t          j        |j        |          |z  }t
          j	        
                    |          }|t          j        t          j        ||          |j                  z  }	| j                            | j        d          }
|
d         }t          |	|t                     d S )Nr   T)use_lr)r  r   r  r   r   rx   r  r   r   r   r   r  r  r  r   r   )r    r   
resid_fullr  r   r  r  r  r  r  r  r  s               r!   !test_LM_heteroskedastic_LRversionz(TestLM.test_LM_heteroskedastic_LRversion  s    $+^*
KNFU111d7^#GFAZ4((F68V$$q(y}}QRVBF1dOOQS111^33  4 
 

 Q-FGY77777r$   c                 P    t          t          | j        j        | j                   d S r   )r   r  r  r  r  r   s    r!   test_LM_nonnestedzTestLM.test_LM_nonnested  s-    ,<dn	
 	
 	
 	
 	
r$   N)
r   r   r   r
  r   r  r  r  r  r  r   r$   r!   r  r    sx          [&
8 
8 
88 8 88 8 88 8 8"
 
 
 
 
r$   r  c                   <    e Zd Zed             Zd Zd Zd Zd ZdS )TestOLS_GLS_WLS_equivalencec           
         t          j                    }t          |j        d          |_        |j        }|j        }|j        d         }t          j        |          }g | _        | j        	                    t          ||                                                     | j        	                    t          |||                                                     | j        	                    t          ||d|z                                                       | j        	                    t          ||t          j        d|z                                                                 d S )NFr   r   r  皙?)r   r   r   r   r   r   rx   r  r   appendr   r   r   r   r  )r   r   r   r   r  ws         r!   r   z'TestOLS_GLS_WLS_equivalence.setup_class  s   |~~ E:::	JIGAJGAJJ3q!99==??+++3q!Q<<++--...3q!S1W--11334443q!RWS1W%5%566::<<=====r$   c                 F   t          j        d | j        D                       }t          j        |          | j        d         j        z  }t          ||t                     t          j        d | j        D                       }t          j        |          | j        d         j        z  }t          ||t                     t          j        d | j        D                       }t          j        |          | j        d         j        z  }t          ||t                     d S )Nc                     g | ]	}|j         
S r   )rl   r)  rs     r!   r*  z7TestOLS_GLS_WLS_equivalence.test_ll.<locals>.<listcomp>      444!444r$   r   c                     g | ]	}|j         
S r   )rs   r  s     r!   r*  z7TestOLS_GLS_WLS_equivalence.test_ll.<locals>.<listcomp>      333qu333r$   c                     g | ]	}|j         
S r   )r   r  s     r!   r*  z7TestOLS_GLS_WLS_equivalence.test_ll.<locals>.<listcomp>  r  r$   )	rx   rD  r   r   rl   r   r   rs   r   )r    rl   llf_1icic_1s        r!   test_llz#TestOLS_GLS_WLS_equivalence.test_ll  s    h44t|44455S!!DLO$77C	222X33dl33344|B$,q/"55Bi000X33dl33344|B$,q/"55Bi00000r$   c                     t          j        d | j        D                       }t          j        | j        d         j        gt	          | j                  z            }t          ||           d S )Nc                     g | ]	}|j         
S r   )r   r  s     r!   r*  z;TestOLS_GLS_WLS_equivalence.test_params.<locals>.<listcomp>  s    :::18:::r$   r   )rx   rD  r   r   r/   r   )r    r   params_1s      r!   r"   z'TestOLS_GLS_WLS_equivalence.test_params  sb    ::T\:::;;8T\!_34s4<7H7HHII)))))r$   c                     t          j        d | j        D                       }t          j        | j        d         j        gt	          | j                  z            }t          ||           d S )Nc                     g | ]	}|j         
S r   )r&   r  s     r!   r*  z7TestOLS_GLS_WLS_equivalence.test_ss.<locals>.<listcomp>  r  r$   r   )rx   rD  r   r&   r/   r   )r    r&   bse_1s      r!   test_ssz#TestOLS_GLS_WLS_equivalence.test_ss  sb    h44t|44455$,q/-.T\1B1BBCCU#####r$   c                     t          j        d | j        D                       }t          j        | j        d         j        gt	          | j                  z            }t          ||t                     d S )Nc                     g | ]	}|j         
S r   )rE   r  s     r!   r*  z=TestOLS_GLS_WLS_equivalence.test_rsquared.<locals>.<listcomp>  s    >>>AQZ>>>r$   r   )rx   rD  r   rE   r/   r   r   )r    rE   
rsquared_1s      r!   rG   z)TestOLS_GLS_WLS_equivalence.test_rsquared  sd    8>>>>>??Xt|A783t|;L;LLMM
Hj)<<<<<r$   N)	r   r   r   r
  r   r  r"   r  rG   r   r$   r!   r  r    si        > > [>1 1 1* * *
$ $ $
= = = = =r$   r  c                   $    e Zd Zed             ZdS )TestGLS_WLS_equivalencec           
      >   t          j                    }t          |j        d          |_        |j        }|j        }|j        d         }t          j                            d           t          j        	                    dd|          }d|z  }g | _
        | j
                            t          |||                                                     | j
                            t          ||d|z                                                       | j
                            t          ||d	|z                                                       | j
                            t          ||t          j        d
|z                                                                 d S )NFr   r   r         ?r         ?g{Gz?r  r  )r   r   r   r   r   r   rx   r   seeduniformr   r  r   r   r   r  )r   r   r   r   r  r  w_invs          r!   r   z#TestGLS_WLS_equivalence.setup_class'  sK   |~~ E:::	JIGAJ
	qIc1a((a3q!Q<<++--...3q!TAX..22445553q!S5[1155778883q!RWS5[%9%9::>>@@AAAAAr$   Nr  r   r$   r!   r  r  $  s4         B B [B B Br$   r  c                   *    e Zd Zed             Zd ZdS )
TestNonFitc                     t          j                    }t          |j        d          |_        |j        | _        |j        | _        t          |j        |j                  | _        d S NFr   )r   r   r   r   r   r   	ols_model)r   r   s     r!   r   zTestNonFit.setup_class:  sN    |~~ E:::	J	9DJ	22r$   c                     | j         j        d         | j        j        d         z
  }t          | j        j        d           d S )Nr   r   r8  )r   r   r   r   r  rO   )r    rO   s     r!   test_df_residzTestNonFit.test_df_residB  s:    :#A&);;T^,a00000r$   N)r   r   r   r
  r   r  r   r$   r!   r  r  9  s<        3 3 [31 1 1 1 1r$   r  c                   *    e Zd Zed             Zd ZdS )TestWLS_CornerCasesc                     t          j        d          | _        t          j        d          | _        d}t	          | j        | j        |                                          | _        d S )N)r   r   weights)rx   r  r   r   r   r   wls_res)r   r  s     r!   r   zTestWLS_CornerCases.setup_classH  sO    74==GDMM	#)SXw???CCEEr$   c                 ~    t          j        d          }t          t          t          | j        | j        |           d S )N)r*   r*   r  )rx   r  r   r  r   r   r   )r    r  s     r!   test_wrong_size_weightsz+TestWLS_CornerCases.test_wrong_size_weightsO  s4    '(##j#tz49gNNNNNNr$   N)r   r   r   r
  r   r  r   r$   r!   r  r  G  sD        F F [FO O O O Or$   r  c                   $    e Zd Zed             ZdS )TestWLSExogWeightsc                    ddl m} ddlm}  |            }t	          j        |j                  }t	          j        |j                  }t          |d          }d}d|d d df         z  }||z  |	                                z  }t          |||	                                          | _         |            | _        |d
z  | j        j        z  | j        _        d| j        j        | j        j        z
  z  }	| j        xj        |	z  c_        | j        xj        |	z  c_        | j        xj        d
t	          j	        t	          j        | j        j        j                            z  z  c_        d S )Nr   r   r   )CCardWLSFr   g      R@r   r  r  )statsmodels.datasets.ccardr   r   r  rx   r   r   r   r   r   r   r   r   r   r   r   rl   rs   r   ry   rM   r  )
r   r   r  dtar   r   rw   r  scaled_weightscorr_ics
             r!   r   zTestWLSExogWeights.setup_classW  sN   333333888888dff
39%%z#(##D%000d111a4j.!D.GKKMM9udN;;;??AA8::(C/#(.@ sx|chl23bfRVCHN,B%C%CDDDDr$   Nr  r   r$   r!   r  r  T  s4         E E [E E Er$   r  c                     g d} t          dd          }t          |d          }t          | |t          dd                                                    }t	          |j        dd           t	          |j        d	d           d S )
N)r   r   r   r   r   r   r   r      Fr   r  gg@L?r   g@)r   r   r   r   r   rh   rA   )r  r   	wls_models      r!   test_wls_exampler  r  s     	Aq!AQ&&&AAq&A,,///3355I	(.!<<<	);Q?????r$   c                     t          j        g d          } ddgddgddgddgddgddgg}t          | t          |d                                                    }t          j        g d          }ddgddgddgg}t          j        g d          }t          |t          |d          |                                          }t          |j        |j                   d S )	N)   r  r     r  r  r   r   Fr   )r  r  g      7@)r   r         @r  )rx   rD  r   r   r   r   r   centered_tss)r   r   ols_modywXwr  wls_mods          r!   test_wls_tssr  ~  s    
)))**A
Q!Q!Q!Q!Q!Q8A!\!U3334488::G	...	!	!Ba&1a&1a&	!B
A"l2u555qAAAEEGGG%w';<<<<<r$   c                   $    e Zd Zed             ZdS )TestWLSScalarVsArrayc                 ~   ddl m}  |            }t          j        |j                  }t          j        |j                  }t          |d          }t          ||d                                          }dgt          |          z  }t          |||                                          }|| _
        || _        d S )Nr   r  Tr   gUUUUUU?r  )statsmodels.datasets.longleyr   rx   r   r   r   r   r   r   r/   r   r   )r   r   r	  r   r   
wls_scalarr  	wls_arrays           r!   r   z TestWLSScalarVsArray.setup_class  s    555555dff
39%%z#(##D$///g666::<<
)c%jj(tW55599;;	r$   Nr  r   r$   r!   r  r    s-          [  r$   r  c                   *    e Zd Zed             Zd ZdS )TestWLS_GLSc                 L   ddl m}  |            }t          j        |j                  }t          j        |j                  }|d d df         }t          ||d|z                                            | _        t          |||                                          | _
        d S )Nr   r  r   r   r  rq  )r  r   rx   r   r   r   r   r   r   r   r   )r   r   r   r   r   rr  s         r!   r   zTestWLS_GLS.setup_class  s    333333tvv
4:&&z$)$$QQQT
udAI666::<<ud%0004466r$   c                 B    t          | |            t                     d S r   r   r   r    r1   r2   s      r!   check_confidenceintervalsz%TestWLS_GLS.check_confidenceintervals       E5577I66666r$   Nr   r   r   r
  r   r&  r   r$   r!   r!  r!    s<        7 7 [77 7 7 7 7r$   r!  c                  ~   ddl m}   |             }|j        }t          j        |ddg<   t          |j        |j        d|j        j        d d df         z  d          }t          |j        j	        d         d	           t          |j        j	        d         d	           t          |j
        j	        d         d	           d S )
Nr   r  r*      r   r   r   )r  r   F   )r  r   r   rx   r   r   r   rt  r   r   r  )r   r   r   r   s       r!   test_wls_missingr,    s    //////466DJEfE2r(O

DIq49>!!!Q$+?'?  C #R((("B'''"1%r*****r$   c                   *    e Zd Zed             Zd ZdS )TestWLS_OLSc                 N   t          j                    }t          j        |j                  }t          j        |j                  }t          |d          }t          ||                                          | _	        t          ||                                          | _        d S r  )r   r   rx   r   r   r   r   r   r   r   r   r   r   r   r   r   s       r!   r   zTestWLS_OLS.setup_class      |~~
4:&&z$)$$D%000ud##''))ud##''))r$   c                 B    t          | |            t                     d S r   r$  r%  s      r!   r&  z%TestWLS_OLS.check_confidenceintervals  r'  r$   Nr(  r   r$   r!   r.  r.    <        * * [*7 7 7 7 7r$   r.  c                   *    e Zd Zed             Zd ZdS )TestGLS_OLSc                 N   t          j                    }t          j        |j                  }t          j        |j                  }t          |d          }t          ||                                          | _	        t          ||                                          | _        d S r  )r   r   rx   r   r   r   r   r   r   r   r   r   r0  s       r!   r   zTestGLS_OLS.setup_class  r1  r$   c                 B    t          | |            t                     d S r   r$  r%  s      r!   r&  z%TestGLS_OLS.check_confidenceintervals  r'  r$   Nr(  r   r$   r!   r5  r5    r3  r$   r5  c                   *    e Zd Zed             Zd ZdS )TestYuleWalkerc                     ddl m}  |            }t          |j        dd          \  | _        | _        g d| _        d S )Nr   r  r   mle)ry  r   )g."0?g3Eܿg@**ʿg0?)statsmodels.datasets.sunspotsr   r   r   rx  rr  R_params)r   r   r   s      r!   r   zTestYuleWalker.setup_class  sU    666666tvv(1UKKK
 
 
r$   c                 F    t          | j        | j        t                     d S r   )r   rx  r=  r   r   s    r!   r"   zTestYuleWalker.test_params  s    DHdmY?????r$   N)r   r   r   r
  r   r"   r   r$   r!   r9  r9    sA        

 

 [

@ @ @ @ @r$   r9  c                   *    e Zd Zed             Zd ZdS )TestDataDimensionsc                    t           j                            d           t           j                            ddd          | _        | j        d d d f         | _        t           j                            ddd          | _        | j        d d d f         | _        | j        d d         | _        t          | j        | j                  | _
        | j
        xj        dz  c_        | j
                                        | _        t          | j        | j                  | _        | j        xj        dz  c_        | j                                        | _        d S )N1  r         sizer   r   )rx   r   r  r  endog_n_endog_n_oneexog_n_
exog_n_one
degen_exogr   mod1rN   r   r   mod2r   )r   s    r!   r   zTestDataDimensions.setup_class  s   
	uy((BR(88,qqq$w/i''2B'77QQQW-,s77Q8<<>> s77Q8<<>>r$   c                 B    t          | |            t                     d S r   r$  r%  s      r!   r&  z,TestDataDimensions.check_confidenceintervals  r'  r$   Nr(  r   r$   r!   r@  r@    s<        " " [" 7 7 7 7 7r$   r@  c                   @     e Zd Ze fd            Zd Zd Zd Z xZS )TestGLS_large_datac                 4   t                                                       d}t          j                            |d          }t          j                            |d          }t          j        |          }t          |||                                          | _        t          ||d                                          | _	        t          ||                                          | _
        t          ||                                          | _        d S )N  r   rC  rq  )superr   rx   r   r   r   r   r   r  r  gls_res_noner   r  )r   rw   r   r   rr  	__class__s        r!   r   zTestGLS_large_data.setup_class  s    IOOD!$$IOOD"%%Q!Qe,,,0022 AQ///3355q!99==??!Qiimmoor$   c                 Z    t          | j        j        | j        j        t                     d S r   )r   r  r   r  r   r   s    r!   test_large_equal_paramsz*TestGLS_large_data.test_large_equal_params  s/    L!4i	
 	
 	
 	
 	
r$   c                 Z    t          | j        j        | j        j        t                     d S r   )r   r  rl   r  r   r   s    r!   test_large_equal_loglikez+TestGLS_large_data.test_large_equal_loglike"  s$    DL,dl.>	JJJJJr$   c                 Z    t          | j        j        | j        j        t                     d S r   )r   r  r   rT  r   r   s    r!   test_large_equal_params_nonez/TestGLS_large_data.test_large_equal_params_none%  s0    L!2!99	
 	
 	
 	
 	
r$   )	r   r   r   r
  r   rW  rY  r[  __classcell__rU  s   @r!   rP  rP    sr        	& 	& 	& 	& [	&
 
 

K K K
 
 
 
 
 
 
r$   rP  c                   .     e Zd Ze fd            Z xZS )TestNxNxc                     t                                                       t          | j        | j                  | _        | j        xj        dz  c_        | j                                        | _        d S Nr   )	rS  r   r   rG  rI  rM  rN   r   r   r   rU  s    r!   r   zTestNxNx.setup_class,  sY    s|S[11Q8<<>>r$   r   r   r   r
  r   r\  r]  s   @r!   r_  r_  +  B        " " " " [" " " " "r$   r_  c                   .     e Zd Ze fd            Z xZS )TestNxOneNxc                     t                                                       t          | j        | j                  | _        | j        xj        dz  c_        | j                                        | _        d S ra  )	rS  r   r   rH  rI  rM  rN   r   r   rb  s    r!   r   zTestNxOneNx.setup_class5  sY    s44Q8<<>>r$   rc  r]  s   @r!   rf  rf  4  rd  r$   rf  c                   .     e Zd Ze fd            Z xZS )TestNxNxOnec                     t                                                       t          | j        | j                  | _        | j        xj        dz  c_        | j                                        | _        d S ra  )	rS  r   r   rG  rJ  rM  rN   r   r   rb  s    r!   r   zTestNxNxOne.setup_class>  sY    s|S^44Q8<<>>r$   rc  r]  s   @r!   ri  ri  =  rd  r$   ri  c                      t           j                            d           t           j                            ddd          } t	          t
          t          | | dd                     d S )NrB  r   rC     r   )rx   r   r  r  r   r  r   r   s    r!   test_bad_sizern  F  sQ    INN59QB''D*c4abb22222r$   c            	         t           j                            d          } |                     ddd          }t	          j        t	          j        |d          dt          	          }t          j        |g d
          | 	                    d          z   }t          |t          |j        d d dd f         d                                                    }t          ||d                                          }t          |j        |j        d           |j        j        j        dk    sJ |j        j        j        dk    sJ d S )N90  r   r   rD  rE  r   dtypeF
drop_firstrr  r  r   r  r   Tr   hasconst   )rx   r   r  randintpdget_dummiesSeriesfloatr   normalr   r   rt  r   r   rE   rM   r   rv   )r  r   r   rescr  s        r!   test_const_indicatorr  L  s(   			u	%	%B


1ab
!!A
ry*555%"	$ 	$ 	$A
q///""RYYBY%7%77Aq,qvaaae}d;;;<<@@BBD
aT
"
"
"
&
&
(
(Cs|R8889>$)))):?%******r$   c                  B   t           j                            d          } |                     ddd          }t	          j        t	          j        |d          dt          	          }d
||j        d         <   t          j	        |g d          | 
                    d          z   }t          ||d                              d          }t          j        |j                  rJ t          |j        t                    sJ t          |j        t                    sJ d S )Nrp  r   r   rD  rE  r   rq  Frs  r   ru  Trv  HC1cov_type)rx   r   r  ry  rz  r{  r|  r}  r,  r   r~  r   r   isnanrh   
isinstancer  )r  r   r   r  s       r!   test_fvalue_const_onlyr  Y  s   			u	%	%B


1ab
!!A
ry*555%"	$ 	$ 	$AAailO
q///""RYYBY%7%77A
aT
"
"
"
&
&
&
6
6Cx
#####cj%(((((clE*******r$   c                     t          j        t          j                            d                    } t          j        t          j        d                    }t          | |                                          }|                                }t          j	        
                    |j        d           t          j	                            t          |t           j                             d S )Nr*   r7   )rz  r|  rx   r   r   r  r   r   r-   testingr   r   r   r  	DataFrame)r   r   r  r-   s       r!   test_conf_int_single_regressorr  f  s     		")//"%%&&A
	"'"++A
a))--//C||~~HJHNF333Jz(BL99:::::r$   c                     dd l } t          j                    }|j        }d|d<   |j        }t          ||                                          }t          j        t                    5  |
                                                                }d d d            n# 1 swxY w Y   |                     dd|          }|                     dd|          }d}t          ||           d S )	Nr   r   constantz)(?<=
\\textbf\{Date:\}             &).+?&z Sun, 07 Apr 2013 &z)(?<=
\\textbf\{Time:\}             &).+?&z     13:46:07     &a
  \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{                     } &             \\
\textbf{Covariance Type:}  &    nonrobust     & \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}

Notes: \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.)rer   load_pandasr   r   r   r   r9   r:   r   r   as_latexsubr   )r  r	  r   r   r  tableexpecteds          r!   test_summary_as_latexr  q  s   III



CAAjM	A
a))--//C	k	"	" ) )&&(() ) ) ) ) ) ) ) ) ) ) ) ) ) ) FF8 E
 FF8 E':HP !!!!!s   &'BB Bc                   &    e Zd Zd Zd Zd Zd ZdS )TestRegularizedFitc                 h   t           j                            d           d}t           j                            |          }t           j                            |df          }t          t
          t          fD ]9} |||          }|                    d          }t          |j	        d           :d S )Ni  r  rE  r   rR  alphag        )
rx   r   r  r~  r   r   r   fit_regularizedr   r   )r    r  r   r   r   rM   results          r!   test_empty_modelz#TestRegularizedFit.test_empty_model  s    
	s	  a ((yaV,,S= 	- 	-CCt$$E***66F,,,,	- 	-r$   c                 (   dd l }ddlm} |j                            |j                            t                              }t          j        |j        	                    |dd          d          }d t          |          D             }|D ]}t          ||          }|d         }|d         }	t          |d	                   }
t          |d
                   }|dd                              t          j                  }|dt          |          df         }|dt          |          dt          |	          dz   f         }||                                z
  }||                    d          z  }||                    d          z
  }||                    dd          z  }t$          t&          t(          fD ]T} |||          }|                    |
|          }t-          |j        |d
           |                    |
|d           Ud S )Nr   r   )glmnet_r_resultsr   zlasso_data.csv,)	delimiterc                 <    g | ]}|                     d           |S )rslt_)
startswith)r)  r   s     r!   r*  z7TestRegularizedFit.test_regularized.<locals>.<listcomp>  s)    KKKqQ\\'5J5JKKKKr$   r   r   r   )ddofL1_wtr  decimalT)r  r  profile_scale)osr   r  pathdirnameabspath__file__rx   loadtxtjoindirgetattrr}  astypefloat64intr  stdr   r   r   r  r   r   )r    r  r  cur_dirr   teststestvecr  pr  lamr   r   r   r   r   rslts                     r!   test_regularizedz#TestRegularizedFit.test_regularized  s   			------'//"'//(";";<<zGLL)-=>>#
 
 
 LKC 011KKK 	P 	PD*D11CAAAA#a&MMEA--CW^^BJ//FSVVQ'ECFF
AQ!$445DEJJLL(EUYYAY&&&E$))A,,&DDHHQQH'''DC} P Pc%&&**c*BB#DKCCCC ##%s$#OOOOP%	P 	Pr$   c                 :   t           j                            d           t           j                            d          }|d d df         |d d df         z   t           j                            d          z   }t           j                            d          }|d d df         |d d df         z   t           j                            d          z   }t          j        |||f          }t          j        |||f          }t          j        ||f          }t          j        ||f          }t          j        d          }	d|	dd<   t          j        d|	z            }
d	D ]}d
D ]}t          ||          }|	                    ||          }t          |||	          }|	                    ||          }t          |||
          }|	                    ||          }t          |j        |j        d           t          |j        |j        d           d S )Ni  r  r   rE  r   r   r     r   r   r  r   r  r  r  rq  r   r  rx   r   r  r~  vstackconcatenater  r  r   r  r   r   r   r   )r    exog1endog1exog2endog2exog_aendog_aexog_bendog_bwgtsrr  r  r  rL  rslt1rM  rslt2mod3rslt3s                      r!   test_regularized_weightsz+TestRegularizedFit.test_regularized_weights  s$   
	t	  h //qqq!tuQQQT{*RY-=-=3-=-G-GG	  h //qqq!tuQQQT{*RY-=-=3-=-G-GGE5%011.&&&!9:: E5>**.&&!122ws||QsUD!! 	K 	KE K K7F++,,5,FF7FD999,,5,FF7F%888,,5,FF#EL%,JJJJ#EL%,JJJJJK	K 	Kr$   c                 F   t           j                            d           t           j                            d          }|d d df         |d d df         z   t           j                            d          z   }t           j                            d          }|d d df         |d d df         z   t           j                            d          z   }t          j        |||f          }t          j        |||f          }t          j        ||f          }t          j        ||f          }t          j        d          }	d|	dd<   t          j        d|	z            }
d	D ]}d
D ]}|gdz  }t          ||          }|	                    ||          }t          |||	          }|	                    ||          }t          |||
          }|	                    ||          }t          |j        |j        d           t          |j        |j        d           d S )N   r  rE  r   r   r  r  r   r  r  r   r  r  rq  r  r  )r    r  r  r  r  r  r  r  r  r  rr  r  alpha_elementr  rL  r  rM  r  r  r  s                       r!   test_regularized_weights_listz0TestRegularizedFit.test_regularized_weights_list	  s8   
	s	  h //qqq!tuQQQT{*RY-=-=3-=-G-GG	  h //qqq!tuQQQT{*RY-=-=3-=-G-GGE5%011.&&&!9:: E5>**.&&!122ws||QsUD!! 	K 	KE!% K K! 7F++,,5,FF7FD999,,5,FF7F%888,,5,FF#EL%,JJJJ#EL%,JJJJJK	K 	Kr$   N)r   r   r   r  r  r  r  r   r$   r!   r  r    s]        
- 
- 
-%P %P %PNK K K@"K "K "K "K "Kr$   r  c                     ddl m}  dd lm} ddlm} |j        j                                        j	        }t          j        |j        |j        d         df<    |d|                                          }|                                } |d|          }|                                }t!          |j        j        |j        j                   t'          | |d|d           d S )	Nr   )
PatsyError)olsfirmz&value ~ invest + capital + firm + year)formular   raise)r   r   )patsyr  statsmodels.apiapistatsmodels.formula.apir  datasetsgrunfeldr  r   rx   r   locindexdropnar   r   r   valuesr   )r  smr  r	  r   r  rM  r   s           r!   test_formula_missing_catr  .  s
    !           ++++++
+

*
*
,
,
1C$&FCGCIaL& !
#8szz||  C ''))C3?cJJJD88::D
)4;+=>>>0     r$   c                  
   d} t          j        dd|           }t          j        t           j        g          }t	          j        dt          j        ||f          i          }t          j        ddg          }t           j                            | dz             }|d         |d         |d         z  z   |z   |d<   t          j
        d	|
          }|                                }|                    |d d                    d S )NrD  r   r*   r   r   r  rE  r   zy ~ xrm  r   )r   )rx   linspacerD  r   rz  r  r  r   r~  r   from_formular   predict)nsampler   nullbetar  rM   r   s          r!   test_missing_formula_predictr  L  s    G;q"g&&D8RVHD<bndD\::;<<D8QHD
	gk**AQ$q'DI--1DIW4000E
))++CKKT#2#YKr$   c                  J   d} t           j                            d           t           j                            | d          }|dk    ddgk                        t
                    }|                    d          t           j                            |           z   }ddlm}m	}  |||          
                    d	          }t          t          j        |j                             t          t          j        |j                             |                                  |||          
                    d	          }t          t          j        |j                             t          t          j        |j                             |                                 d S )
Nr  r   r   r   TFr   r   r  r  )rx   r   r  r   r  r  r   #statsmodels.regression.linear_modelr   r   r   r   r  rh   r  r   rw   r   r   r   r   r  s         r!   test_fvalue_implicit_constantr  [  sJ   DINN1
	a  A
a%T5M	!))#..A	a29??4(((A<<<<<<<<
#a))---
'
'CBHSZ  !!!BHS\""###KKMMM
#a))---
'
'CBHSZ  !!!BHS\""###KKMMMMMr$   c                     d} t           j                            d           t          j        |           }t           j                            |           }ddlm}m}  |||                              dddi          }t          t          j
        |j                             t          t          j
        |j                             |                                  |||                              d	
          }t          t          j
        |j                             t          t          j
        |j                             |                                 d S )NrC  r   r   r  hacmaxlagsr   )r  cov_kwdsr  r  )rx   r   r  r  r   r  r   r   r   r   r  rh   r  r   r  s         r!   test_fvalue_only_constantr  p  s   DINN1
A
	A<<<<<<<<
#a))--)Q-
@
@CBHSZ  !!!BHS\""###KKMMM
#a))---
'
'CBHSZ  !!!BHS\""###KKMMMMMr$   c                  *   d} d}t           j                            d           t           j                            | |f          }|                    d          t           j                            |           z   }t          j        |          }d|d<   dD ]}||t          j        |          z  ||z  fD ]}t          ||          }|                    |          }t          ||          }	|	                    |d	          }
t          |j
        |
j
                   t          ||          }|                    |d
	          }t          |j
        |j
                   |j        }t          j        ||j
                  }t          ||           d S )Nr  r   <  rE  r   r   )r   r   r*   r  r  r  rq   )rx   r   r  r~  r   r  r   
_fit_ridger  r   r   r  r   )r  r  xmatyvecvar  model1result1model2result2model3result3fv1fv2s                  r!   
test_ridger    s~   A	AINN49!Q((D88A;;))q)111D


AAaD 	< 	<RWQZZQ/ 	< 	<Et__F''e'44Gt__F,,5,BBGGNGN;;;t__F,,5,FFGGNGN;;;;	< 
C
&w~
&
&CCr$   c                  <   d} d}t           j                            d           t           j                            | |f          }|d d df         |d d df         z   t           j                            |           z   }t	          ||          }|                    ddd	
          }t	          ||d d ddgf                   }|                                }ddg}t          |j        |         |j                   t          |j	        |         |j	                   d S )Nr  r   r  rE  r   r   r   r  Tr  r  refit)
rx   r   r  r~  r   r  r   r   r   r&   )	r  r  r   r  r  r  r  r  iis	            r!   test_regularized_refitr    s	   A	AINN49!Q((D1:QQQT
"RY%5%51%5%=%==Dt__F$$3c$FFGtAAA1vI''FjjllG
QBGN2&777GKOW[11111r$   c                     d} d}t           j                            d           t           j                            | |f          }|                    d          t           j                            |           z   }t           j                            dd|           }t          |||          }t          ||t          j        d|z                      }t          ||d|z            }g }|||fD ]}	|		                    d	d
d          }
|
                    |
           |
j        }t          j        ||          }|	                    |
j                  }t          ||           t          |
j        |           |
                                }t          ||           t          |d         j        j        |d         j        j        d           t          |d         j        j        |d         j        j        d           t          |d         j        |d         j        d           t          |d         j        |d         j        d           t          |d         j        j        |d         j        j        d           t          |d         j        j        |d         j        j        d           t          |d         j        |d         j        d           t          |d         j        |d         j        d           d S )Nr  r   r  rE  r   r   r  rq  g      4@r  Tr  r   rq   r+   )rx   r   r  r~  r   r  r   r   r  r  r  r   r   r  r   r  rM   wendogwexog)r  r  r   r  wgt	model_wls
model_gls1
model_gls2r  r  r  r   r  prs                 r!   test_regularized_predictr    s   A	AINN49!Q((D88A;;))q)111D
)

Aq!
$
$CD$,,,IT4rwq3w'7'7888JT4q3w///J
Cj*5 
* 
*((t3d(KK

7vdF++^^GN++b))),b111__b))))CFL'Q)<5IIIICFL&A(:GGGGCF'Q)<5IIIICFM3q6=u====CFL'Q)<5IIIICFL&A(:GGGGCF'Q)<5IIIICFM3q6=u======r$   c                     d} d}t           j                            d           t           j                            | |f          }|                    d          t           j                            |           z   }t          |dz
  |          }|                    dd          }t          ||d	          }|                    ddt          j        d          
          }t          |j	        |j	                   d S )Nr  r   r  rE  r   r  r  r  )offset)r  r  start_params)
rx   r   r  r~  r   r   r  r   r   r   )r  r  r   r  r  r  r  r  s           r!   test_regularized_optionsr    s    A	AINN49!Q((D88A;;))q)111D4  F$$3c$::GtA&&&F$$28A;; %  G GNGN33333r$   c                     t           j                            d          } |                     d          }|dd          d|d d         z  z   }dgddgg d	g d
g dg}t	          dd          D ]a}t          ||          \  }}t          |||dz
           d           t          d|z   |d          \  }}t          j        ||k              sJ bd S )Nrp  i'  r   r  r   g̋]?gKt?gƿ)ge6b?grB }˿g
Gf?)g܈t?g@-̿gtS?Ѻ?gEਿ)ghPL?g qͿg|\#?g
u0g0?r   gư>r  F)rx   r   r  r   r.   r   r   all)rndr  r   r  r3   ar_as_nodemeans           r!   	test_burgr%    s    
)


&
&C		%A	!""afA 
	J---666FFFH 1a[[ ) )Q

AHQUO$7777a!eQ..QvbK'((((((	) )r$   c                  $   t          j        t                    5  t          t	          j        d                     d d d            n# 1 swxY w Y   t          j        t                    5  t          t          j                            d          d           d d d            n# 1 swxY w Y   t          j        t                    5  t          t          j                            d          d           d d d            d S # 1 swxY w Y   d S )Nr  r   r  r   apple)r9   r  r  r   rx   r  r   r   r   r$   r!   test_burg_errorsr)    s   	z	"	"    RWX                             	z	"	" & &RY__S!!1%%%& & & & & & & & & & & & & & &	z	"	" , ,RY__S!!7+++, , , , , , , , , , , , , , , , , ,s5   "AAA,.B&&B*-B*
.DD	D	zsqrt_lasso requires cvxopt)reasonc            
         t           j                            d           d} d}t          j        |          }dt          j        t           j                            ||                    z  }t           j                            |          }t          j	        t           j        
                    | |f          |j                  }t          j        |          }g d|dd<   dd	lm} d
t          j        |           z  |                    ddd|z  z  z
            z  }t          j	        ||          dt           j        
                    |           z  z   }	ddd}
t           j        d         t           j        d         d}dD ]B}t%          |	|                              d||          }|j        |z
  }t          j        t          j	        |t          j	        ||                              }t%          |	|d d ddf                                                   }t          j        |          }|j        |dd         z
  |dd<   t          j        t          j	        |t          j	        ||                              }t-          ||z  |
|         dd           t-          |j        dd         ||         dd           Dd S )Ni r  i  r  rE  )r   r   r   r   r   r   r   )normg?r   g?r   g      ?r   )FT)gtr}?gˑ?g9B?gR	?g-?)gg<5o?gY}|?gF?gT\Z:?gbj?
sqrt_lasso)r   r  r  r  )r,   r  gh㈵>)rx   r   r  rv  r]  subtractouterr   choleskyr   r~  r   r   scipy.stats.distributionsr,  r   ppfr_r   r  r   r   r   )r  r  r  cxcxrr   r  r,  r  r   expected_oracleexpected_paramsr  r  errnumeroracle
oracle_errdenoms                      r!   test_sqrt_lassor=    s    INN6 	AA	1B	r{((R0011	1B
)

R
 
 C
ryaV,,ce44A
A__AacF......"'!**txxDAEN(:;;;E 	q!tbi..A.6666A
  q))O uE
 eMN	 O  
 
1ayy((uE ) 
 
 kAosBF2sOO4455Q!!!QqS&	""&&((Xa[[
 -!AaC&0
1Q3z26"j+A+ABBCC 	EM?51#	
 	
 	
 	

 	K!oe44d	
 	
 	
 	
 	
'
 
r$   c                    t           j                            ddd                              t                    }t           j                            d          }t          ||                                          }t          ||                    t           j                                                            }t          |j
        |j
                   d S )Nr   r   r'  rE  r  )rx   r   ry  r  boolstandard_normalr   r   doubler   r   )reset_randomstater   r   bool_resr  s        r!   test_bool_regressorrD  :  s    9Q1188>>DI%%c**E5$##%%H
eT[[++
,
,
0
0
2
2CHOSZ00000r$   c                    t           j                            d          }t          j        d          }t	          ||                                          }t          j        d          5 }t          j        |j	                  sJ t          j        |j
                  sJ 	 d d d            n# 1 swxY w Y   t          |          dk    sJ d S )Nr  )r  r   Tr   r   )rx   r   r@  r  r   r   r   r   r  rh   r  r/   )rB  r   r   r  	recordings        r!   test_ols_constantrG  B  s    
	!!#&&A
A
a))--//C		 	-	-	- &x
#####x%%%%%%& & & & & & & & & & & & & & & y>>Qs   +7B//B36B3c                  0   t           j                            d          } |                     d          }|                     d          }t	          ||                                                                          }d|                                v sJ d S )Nr   r'  r  u   R² is computed )rx   r   r  r@  r   r   r   as_text)r  r   r   r   s       r!   test_summary_no_constantrJ  L  s    			q	!	!B
8$$A
3A!Qiimmoo%%''G!2!2222222r$   c           	         t           j                            d          }t           j                            d          }|t           j                            d          z   }t          ||                                          }t          |j        t          j        t           j        	                    |j
        |z                                 t          |j        t           j        	                    |                     d S )Nr  r  r   r  r   )rx   r   r@  r   r   r   condition_numberr   r   condr   )rB  r   r   r  s       r!   test_condition_numberrP  T  s    
	!!#&&A
	!!(++A	BI%%h///A
a))--//CC("'")..q2I2I*J*JKKKC(")..*;*;<<<<<r$   c                 "   t           j                            d          }t           j                            d          }|t           j                            d          z   }t          ||                                          }dd l}|                    |                                          }|                    |                    d                    }t          |j	                  dk    sJ t          |j	                  dk    sJ |j	        d         
                                |j	        d         
                                k    sJ |j	        d	         
                                |j	        d	         
                                k    sJ d S )
Nr  rL  rM  r   Tr   r   r   r   )rx   r   r@  r   r   r  deepcopyr   r/   r   rI  )rB  r   r   r  r  r  	slim_summs          r!   test_slim_summaryrT  ]  sG   
	!!#&&A
	!!(++A	BI%%h///A
a))--//CKKK==''Dckktk4455It{q    y  A%%%%;q>!!##y'7':'B'B'D'DDDDDA&&((DKN,B,B,D,DDDDDDDr$   )\r   statsmodels.compat.pythonr   r   numpyrx   numpy.testingr   r   r   r   r   pandasrz  r9   scipy.linalgr	   scipy.statsr
   r[  statsmodels.datasetsr   r  r   r   r   r   r   statsmodels.tools.toolsr   r   	DECIMAL_3	DECIMAL_2r  r   r~  cvxopt
has_cvxoptImportErrorr   r   r  r  r$  rB  rK  rc  rm  r  r  r  r  r  r  r  r  r  r  r!  r,  r.  r5  r9  r@  rP  r_  rf  ri  rn  r  r  r  r  r  r  r  r  r  r  r  r  r  r%  r)  r  skipifr=  rD  rG  rJ  rP  rT  r   r$   r!   <module>rc     s    - , , , , ,                        ! ! ! ! ! ! & & & & & & ( ( ( ( ( (              1 0 0 0 0 0						MMMJJ   JJJm
 m
 m
 m
 m
 m
 m
 m
f}G }G }G }G }G$ }G }G }G@    $   $+ + + + + + + +4$, $, $, $, $, $, $, $,N!, !, !, !, !, !, !, !,H'A 'A 'A 'A 'A 'A 'A 'AT P  P  P  P  P  P  P  PFD0 D0 D0 D0 D0 D0 D0 D0N-4 -4 -4 -4 -4. -4 -4 -4jR
 R
 R
 R
 R
 R
 R
 R
j*= *= *= *= *= *= *= *=ZB B B B B9 B B B*1 1 1 1 1 1 1 1
O 
O 
O 
O 
O 
O 
O 
OE E E E E/ E E E<	@ 	@ 	@= = =    1    7 7 7 7 7( 7 7 7 + + +7 7 7 7 7( 7 7 77 7 7 7 7( 7 7 7@@ @ @ @ @ @ @ @$7 7 7 7 7/ 7 7 7,
 
 
 
 
+ 
 
 
6" " " " "! " " "" " " " "$ " " "" " " " "$ " " "3 3 3
+ 
+ 
+
+ 
+ 
+; ; ;?" ?" ?"DxK xK xK xK xK xK xK xKv  <       *  (  42 2 2 !> !> !>H4 4 4) ) )(, , , 
N+GHH8
 8
 IH8
v1 1 1  3 3 3= = =E E E E Es   A! !A+*A+