
    M/Ph                        d Z ddlZddlZddlZddlmZmZmZm	Z	m
Z
 ddlZddlmZ ddlZddlmZmZ ddlmZ ddlmc mZ ddlmc mZ ddlmc mZ ddlm Z m!Z! ddl"m#Z# dd	l$m%Z% ej&        '                    ej&        (                    e)                    Z* ej+        d
          d             Z,dDdZ-d Z. G d d          Z/ G d de/          Z0d Z1d Z2d Z3d Z4ej5        j6        d             Z7d Z8d Z9d Z:d Z;d Z<d Z=d Z>d  Z?d! Z@ej5        A                    d"d#d$g          d%             ZBd& ZCej5        j6        ej5        A                    d'd(d)g          ej5        A                    d*g d+          ej5        A                    d,d-d.g          ej5        A                    d/ eDd#i 0           eDd$i 0          g          d1                                                             ZEej5        j6        ej5        A                    d2d-d.g          ej5        A                    d3dd(g          ej5        A                    d/ eDd#i 0           eDd$i 0          g          d4                                                 ZFd5 ZGej5        A                    d6g d7          ej5        A                    d8d ejH        d9          ejI        J                    d9d9d.:          d;d;d<gg          d=                         ZKej5        A                    d>g d?          d@             ZLdA ZMdB ZNej5        j6        dC             ZOdS )EzTests for Regression Diagnostics and Specification Tests

Created on Thu Feb 09 13:19:47 2012

Author: Josef Perktold
License: BSD-3

currently all tests are against R

    N)assert_assert_allcloseassert_almost_equalassert_array_equalassert_equal)assert_frame_equal)	macrodatasunspots)OLS)Bunchadd_constant)AutoReg)ARIMAmodule)scopec                  F   t           j                            d          } |                     d          }|                     d          }|                    d          |z   }t          j        |          }t          j        t           j        |||f         g d          }|S )NiX[  r         )ycx1x2x3columns)	nprandomRandomStatestandard_normalsum	ones_likepd	DataFramec_)rsexr   r   datas         g/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/stats/tests/test_diagnostic.pydiagnostic_datar,   &   s    			x	(	(B
3A
8$$A	a1A
QA<aAg0L0L0LMMMDK       r/   c                     t          | d         |d         d|d          z  d|d          z             t          | d         |d         d|d          z  d|d          z             d S )Nr   	statistic
   )atolrtolr   pvalue)r   )spsp_dictdecimals      r+   compare_to_referencer9   2   s    
1GAJ;GAJ;	    
1GAJ;GAJ;	     r-   c                  R   t          j                    j        } | d         }| d         }| d         }|}t          t          j        ||f                   }t          ddddd	          }t          j        ||d
          }t          ||d           t          |d         d           d S )Nrealinvrealgdprealintgi*@c   b   g_&VF9f)r1   df1df2r5   distr      ?splitr.   r8   
increasing)r	   loadr*   r   r   r&   dictsmsdiahet_goldfeldquandtr9   r   )dr;   r<   r=   endogexoghet_gq_greatergqs           r+   test_gqrS   A   s    A	lG	lG	lGEgw./00D #$  N 
	"5$c	:	:	:B^X>>>>B&&&&&r-   c                      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 Zd Zd Zd Zd Zd Zd Zd Zej                            dej        ej        g          d             Z ej                            dej        ej        g          d             Z!d Z"d Z#d Z$d Z%d Z&d Z'd S )!TestDiagnosticGc                 n   t          j                    j        }dt          j        t          j        |d         j                            z  }dt          j        t          j        |d         j                            z  }|d         d d         j        }|d         d d         j        }|}t          t          j        ||f                   }t          t          j        ||f                   }t          t          j        |                   }	t          ||          
                                }
t          ||          
                                }t          ||	          
                                }|
| _        || _        || _        | j        j        j        | _        | j        j        j        | _        d S )N  r;   r<   r=   rH   tbilrate)r	   load_pandasr*   r   difflogvaluesr   r&   r   fitresres2res3modelrO   rP   )clsrN   gs_l_realinvgs_l_realgdplintrX   endoggexoggexogg2exogg3res_olsres_ols2res_ols3s                r+   setup_classzTestDiagnosticG.setup_classY   sX   !##(RWRVAiL,?%@%@AAARWRVAiL,?%@%@AAA|CRC 'Z="%,RU<#5677beL($:;<<beL122fe$$((**vv&&**,,vv&&**,,GM'	7=%r-   c                 j    t          j        g d          }t          | j        j        |d           d S )N)gF]Н"gqk3@g+ܥr/   rG   )r   arrayr   r^   params)selfrp   s     r+   
test_basiczTestDiagnosticG.test_basicr   s?     DDD
 
 	DHOVR@@@@@@r-   c                    | j         }t          j        g d                              dd          }t          j        g d                              dd          }t	          j        |dd          }t	          j        |          }t          ||d	
           t          |t          j        t          j	        |                    d	
           t	          j        |dd          }t	          j        |          }t          ||d	
           t          |t          j        t          j	        |                    d	
           d S )N)	gSp7+?cCԿIqrt   gN?glx9?ru   gx9?gK?)r   r   F)order)	gL0@?ge7`ҿg9Dgd7`ҿgHmۺ?gvq9?g9Dgq9?gw:?   F)nlagsuse_correctionr/   rG   r2   )
r^   r   ro   reshapeswcov_hac_simplese_covr   sqrtdiag)rq   r^   	cov_hac_4
cov_hac_10covbse_hacs         r+   test_haczTestDiagnosticG.test_hac{   sA   h
 H
 
 

 
 '&'
$
$ 	 X
 
 

 
 '&'
$
$ 	 1UCCC)C..CB7777GRWRWS\\%:%:BGGGG2eDDD)C..CR8888GRWRWS\\%:%:BGGGGGGr-   c                    t          dddd          }t          dddd          }t          dddd          }t          dd	d
d          }| j        | j        }}t          j        ||d          }t          ||d           t          |d         d           t          j        ||dd          }t          ||d           t          |d         d           t          j        ||dd          }t          ||d           t          |d         d           t          j        ||ddd          }t          ||d           t          |d         d           d S )Ng[/ ?g*?)r?   r?   r@   r1   r5   
parametersrC   gP:P?gN:`?gt&?gثV?)X   W   rD   rE   r.   rG   rH   rI   
decreasing)rF   alternativez	two-sidedZ      )rF   dropr   )rK   rO   rP   rL   rM   r9   r   )rq   rQ   het_gq_lesshet_gq_two_sidedhet_gq_two_sided_01rf   rg   rR   s           r+   test_het_goldfeldquandtz'TestDiagnosticG.test_het_goldfeldquandt   s   
 (%	
 
 
 ('	
 
 
  ('	
 
 
 #('	
 
 
 
DI&vuC@@@RBBBBRV\***&E,
 
 
 	Rh????RV\***&E+
 
 
 	R!18DDDDRV[))) &E"+
 
 
 	R!4hGGGGRV[)))))r-   c                     | j         }t          dddd          }t          j        |j        |j        j                  }t          ||d           d S )Ng:EY?g:p?   r@   r   r.   rG   r^   rK   rL   het_breuschpaganresidra   rP   r9   rq   r^   bptestbps       r+   test_het_breusch_paganz&TestDiagnosticG.test_het_breusch_pagan   s^    h'$	
 
 
 $SY	??R::::::r-   c                    | j         }t          j        |j        j                  d d df         }t          j        t          d          5  t          j	        |j
        |           d d d            n# 1 swxY w Y   t          j        |          }t          j        t          d          5  t          j	        |j
        |           d d d            n# 1 swxY w Y   t          j        |j        j                                                  }d|d d df<   t          j        t          d          5  t          j	        |j
        |           d d d            d S # 1 swxY w Y   d S )NrH   zThe Breusch-Paganmatchr   )r^   r   asarrayra   rP   pytestraises
ValueErrorrL   r   r   r#   copy)rq   r^   r)   s      r+   test_het_breusch_pagan_1d_errz-TestDiagnosticG.test_het_breusch_pagan_1d_err   s   hJsy~&&qqq"u-]:-@AAA 	2 	2#CIq111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2LOO]:-@AAA 	2 	2#CIq111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2Jsy~&&++--!!!Q$]:-@AAA 	2 	2#CIq111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2s6   A22A69A6,CCC2EE!Ec                     | j         }t          dddd          }t          j        |j        |j        j        d          }t          ||d	           d S )
Ng }ٲ?gZdK?r   r@   r   F)robustr.   rG   r   r   s       r+    test_het_breusch_pagan_nonrobustz0TestDiagnosticG.test_het_breusch_pagan_nonrobust  sc    h'%	
 
 
 $SY	uMMMR::::::r-   c                     | j         }t          j        |j        |j        j                  }d}t          ||           d S )N)gpy@@g d>g-@gA_>)r^   rL   	het_whiter   ra   rP   r   )rq   r^   hw	hw_valuess       r+   test_het_whitezTestDiagnosticG.test_het_white  sB    h ci88
	 	B	*****r-   c                     | j         }t          j        t          d          5  t	          j        |j        |j        j        d d d df                    d d d            d S # 1 swxY w Y   d S )NzWhite's heteroskedasticityr   r   )	r^   r   r   r   rL   r   r   ra   rP   rq   r^   s     r+   test_het_white_errorz$TestDiagnosticG.test_het_white_error  s    h]:-IJJJ 	? 	?SY	qqq"1"u(=>>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?s   1A!!A%(A%c                 :   t          dddd          }t          dddd          }t          j        | j        j        d	
          }t          j        | j        j        d
          }t          |d d         |d           t          |d d         |d           d S )NgUz@g#H9?rx   chi2r   g&K!@g$q?)r/   rx   ry   r/   r   )r/      rG   )rK   rL   het_archr^   r   r9   )rq   
archtest_4archtest_12at4at12s        r+   test_het_archzTestDiagnosticG.test_het_arch#  s    
 &$	
 
 

 '$	
 
 
 odhnA666tx~R888S!Wj(CCCCT"1"X{HEEEEEEr-   c                    | j         j        }t          j        |dd          }|d         }t          j        |dd          }|d         }t	          |j        j        |j        j        d           t	          |d d         |d d         d           t          j        |d          }t	          |d d         |d d         d           d S )	N   T)ry   storerH   r/   rG   rx   r   )r^   r   rL   r   r   resolsrp   )rq   r   res1rs1r_   rs2r`   s          r+   test_het_arch2zTestDiagnosticG.test_het_arch2=  s     uAT:::2huAT:::2hCJ-sz/@"MMMMD!Hd2A2h;;;; uA...D!Hd2A2h;;;;;;r-   c                 h   | j         }t          dddd          }t          dddd	          }t          j        |d
          }|d         |d         |d         |d         g}t	          ||d           t          j        |d           }t          j        |d          }t	          ||d           d S )Ng WU?g?)rx      r@   r   gjk4@goH]?r   r   rx   r   r1   r5      rG   r2   r/   )r^   rK   rL   acorr_breusch_godfreyr   )rq   r^   breuschgodfrey_fbreuschgodfrey_cbgbg_rbg2bg3s           r+   test_acorr_breusch_godfreyz*TestDiagnosticG.test_acorr_breusch_godfreyN  s    h  '$ 
 
 
  '%	
 
 
 )#Q777[)X&[)X&	
 	Bb1111 *3d;;;*3b999Cb111111r-   c                     t          t          j        d                    }t          j        t
          d          5  t          j        |           d d d            d S # 1 swxY w Y   d S )Nd   r   )r   zModel resid must be a 1d arrayr   )r   r   emptyr   r   r   rL   r   r   s     r+   #test_acorr_breusch_godfrey_multidimz3TestDiagnosticG.test_acorr_breusch_godfrey_multidims  s    "(8,,---]:-MNNN 	. 	.(---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.s   A  A$'A$c                     t          j                    j        d         }t          |dd                                          }t          j        |d           d S )NSUNACTIVITY)r   r   r   n)rw   trendr   r   )r
   rY   r*   r   r]   rL   r   )rq   r*   r^   s      r+    test_acorr_breusch_godfrey_exogsz0TestDiagnosticG.test_acorr_breusch_godfrey_exogsx  sT    #%%*=9D	55599;;$S222222r-   c                 @   | j         }t          dddd          }t          dddd          }t          j        |j        dd	
          }t          |j        d         |j        d         g|d           t          |j        d         |j        d         g|d           d S )Ngl[@g(	f?r   r   r   gԞ@g>t?rx   T	boxpierce)rx   lb_stat)rx   	lb_pvaluer.   rG   )rx   bp_stat)rx   	bp_pvalue)r^   rK   rL   acorr_ljungboxr   r9   loc)rq   r^   ljung_box_4ljung_box_bp_4dfs        r+   test_acorr_ljung_boxz$TestDiagnosticG.test_acorr_ljung_box}  s      h &$	
 
 
 &%	
 
 
 "39a4@@@VL!26.#9:	
 	
 	
 	

 	VL!26.#9:	
 	
 	
 	
 	
 	
r-   c                    | j         }t          ddd          }t          ddd          }t          d|j        j        d         d	z  d	z
            }t          j        |j        d
|          }|j                                        }t          |j
        |df         |j
        |df         g|d           t          |j
        |df         |j
        |df         g|d           d S )Ng0O_tĄI@gDlV?r   )r1   r5   rC   g@RF@gf=e?(   r   r   Tr   lagsr   r   r.   rG   r   r   )r^   rK   minr   shaperL   r   indexmaxr9   r   )rq   r^   ljung_box_noneljung_box_bp_noner   r   idxs          r+    test_acorr_ljung_box_big_defaultz0TestDiagnosticG.test_acorr_ljung_box_big_default  s   h '0@
 
 
 !'0@
 
 
 2syq)Q.233"394HHHhllnnVCN#RVC,<%=>	
 	
 	
 	

 	VCN#RVC,<%=>	
 	
 	
 	
 	
 	
r-   c                    | j         }t          dddd          }t          dddd          }t          |j        t          j                  r|j        d d         }n|j        j        d d         }t          j        |d	d
          }|j	        
                                }t          |j        |df         |j        |df         g|d           t          |j        |df         |j        |df         g|d           d S )Ng6{:#@gB"3?)r   r   r   gx@g@'6$?   Tr   r   r   r   r.   rG   r   r   )r^   rK   
isinstancer   r   ndarrayilocrL   r   r   r   r9   r   )rq   r^   ljung_box_smallljung_box_bp_smallr   r   r   s          r+   "test_acorr_ljung_box_small_defaultz2TestDiagnosticG.test_acorr_ljung_box_small_default  s<   h &#	
 
 
 "&#	
 
 
 ci,, 	(IcrcNEEIN3B3'E"T
 
 
 hllnnVCN#RVC,<%=>	
 	
 	
 	

 	VCN#RVC,<%=>	
 	
 	
 	
 	
 	
r-   c                    t           j                            d          }|                    d          }|                    d          }t          j        |          }|d         |d<   t          dd          D ]+}d||dz
           z  d||dz
           z  z
  ||         z   ||<   ,|dd          }g d	g d
g dg}g dg dg dg}t          j        |d          }	t          j        |d          }
t          d          D ]\  }}|	j	        |         }t          ||         d         |j	        d         d           t          ||         d         |j	        d         d           |
j	        |         }t          ||         d         |j	        d         d           t          ||         d         |j	        d         d           t          j        |dd          }t          |j	        d         dd           t          |j	        d         dd           t          j        |ddd          }t          |j	        d         dd           d S )Ni? r      r   r   rD   皙?i)g2U0*?r   g1%?)gu@r   g,eX?)gjt%@r2   g`vOj?)g @r   g<?)g]m{@r   gX9v?)gMO @r2   g3?r2   )r   r   r2   r   gMbP?r4   r   r   Tr   )r2   r   gm@)r2   r   g r?)r   model_dfgo?)r   r   r    r!   
zeros_likerangerL   r   	enumerater   r   )rq   reset_randomstater'   y1r(   y2ir_results_y1_lbr_results_y2_lbres_y1res_y2r   rowr^   s                 r+   test_acorr_ljung_box_against_rz.TestDiagnosticG.test_acorr_ljung_box_against_r  s   Y""7++$$s##]1!1q# 	< 	<A"QU)OcAa!eHn4qt;BqEEY !     
 !     

 &r2..&r2..
++ 	 	FAs*S/C"1%swy'9    "1%sw{';$    *S/C"1%swy'9    "1%sw{';$     #Bd;;;.TBBBB0%dCCCC#BdQGGG0&tDDDDDDr-   c                     t          dddd          }t          j        | j                  }t	          ||d           t          j        | j        d	          }t          j        |d
         |d
                   rJ d S )NgTƤ?g ?   tr   r.   rG      )skipr   )rK   rL   linear_harvey_collierr^   r9   r   allclose)rq   harvey_collierhchc_skips       r+   test_harvey_collierz#TestDiagnosticG.test_harvey_collier  s     '%	
 
 
 )$(33RBBBB.txbAAA;r!ugaj1111111r-   c                    t          dddd          }t          dddd          }t          j        | j                  }t	          ||d	
           t          j        | j        d          }t	          ||d	
           d S )Ngl?g1A?)e   r?   r@   r   gD?gF?)z   M   r.   rG   r   )frac)rK   rL   linear_rainbowr^   r9   )rq   raintestraintest_fraction_04rbs       r+   test_rainbowzTestDiagnosticG.test_rainbow.  s     ($ 	
 
 
  $'$ 	 
  
  
 "48,,R8<<<<"48#666R!5xHHHHHHr-   c                    | j         }| j        }t          ddddd          }|                    |          }t	          |d         |d         d	
           t	          |d         |d         d	
           t          ddd          }|                    |          }t	          |d         |d         d	
           t	          |d         |d         d	
           d S )Ng-?߇gMo8ygK@gw?)rx   r   r   )loglike1loglike2	chi2valuer5   r   r   r%  r   rG   r   r5   gEЛ@gL%'kH~?)      r   fvaluer5   r   r)  )r^   r`   rK   compare_lr_testr   compare_f_test)rq   r^   r`   lrtestlrtwaldtestwts          r+   test_compare_lrzTestDiagnosticG.test_compare_lrG  s    hy ''&&
 
 
 !!$''CFF;$7DDDDCFF8$4bAAAA#&
 
 
 %%BqE8H#5rBBBBBqE8H#5rBBBBBBr-   c                     | j         }| j        }ddg}t          j        ||          }t	          ||d         dd         d           t          j        ||          }t	          ||d         dd         d           d S )	N)zM1 + fitted(M2)g)vv?gl?g""'=@g;Mǐ?*)zM2 + fitted(M1)g,?g?g(8@gɁ}?z**r   r   r   r/   rG   r   )r^   r_   rL   	compare_jr   )rq   r^   r_   jtestjt1jt2s         r+   test_compare_jzTestDiagnosticG.test_compare_jd  s    hy
& tS))Cq!A#;;;;sD))Cq!A#;;;;;;r-   compc                 F   |}t          |j        |ddg                                                   }t          |j        |ddg                                                   }t	          j        t          d          5   |||           d d d            d S # 1 swxY w Y   d S )Nr   r   r   zendogenous variablesr   )r   r   r]   r   r   r   r   rq   r8  r,   r*   r   r_   s         r+   test_compare_errorz"TestDiagnosticG.test_compare_error  s    464d,--113347D#t-..2244]:-CDDD 	 	Dt	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   <BBBc                    |}t          |j        |ddg                                                   }t          |j        |g d                                                   }t          j        t
          d          5   |||           d d d            n# 1 swxY w Y   t          j        t
          d          5   |||           d d d            d S # 1 swxY w Y   d S )Nr   r   )r   r   r   The exog in results_xr   )r   r   r]   r   r   r   r:  s         r+   test_compare_nestedz#TestDiagnosticG.test_compare_nested  s_   464d,--1133464 1 1 12337799]:-DEEE 	 	Dt	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:-DEEE 	 	Dt	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   <BBB;CCCc                 l   | j         }| j        }ddg}t          j        ||          }t	          ||d         dd         d           t          j        ||          }t	          ||d         dd         d           t          j        ||d	
          \  }}}t          |t          j                  sJ d S )N)zfitted(M1) ~ M2gdg}6_0?gznN ]gI? )zfitted(M2) ~ M1g6
ғg{6J!?g$qJgF͘E>z***r   r   r   r/   rG   r   T)r   )r^   r_   rL   compare_coxr   r   ResultsStore)rq   r^   r_   coxtestct1ct2_r   s           r+   test_compare_coxz TestDiagnosticG.test_compare_cox  s    hy
&  d++CAaC"==== s++CAaC"====(d$???1e%!45555555r-   c                     t          dddd          }d}t          j        | j        j        |          }t          ||d	           d S )
Ng{Z?ge/ӳ? BBr   r   ddofr.   rG   )rK   rL   breaks_cusumolsresidr^   r   r9   )rq   	cusum_olsk_varscs_olss       r+   test_cusum_olszTestDiagnosticG.test_cusum_ols  s_     '%	
 
 
	 ,TX^&IIIVYAAAAAAr-   c                     t          dddd          }t          j        | j                  }t	          |d         |d         d	           d S )
Ng՞g4{?g]Öv?rI  rJ  r   r   r1   r/   rG   )rK   rL   breaks_hansenr^   r   )rq   breaks_nyblom_hansenbhs      r+   test_breaks_hansenz"TestDiagnosticG.test_breaks_hansen  sk      $(%	 
  
  
 !$(++qE'4b	
 	
 	
 	
 	
 	
r-   c                    t          j        g d          }t          j        | j        dd          }t          t          j        |d         dd          d          |           t          |d         dd          t          j        |          d           t          |d         dd          	                    d          d	d
           t          j
        | j        j        j        j        d                   }t          j        | j        dd|          }t          |d         |d         d           t          j        g d          }t          j        g d          }|d         \  }}t          |d d         |d
           t          |d d         | d
           t          |dd          |d
           t          |dd          | d
           | j        j        j        }	| j        j        j        }
g }g }t!          dd          D ]}t#          |	d |         |
d |                                                   }|                    |j                            |j        |
|                              |                    |j                   t          |d         dd         |d
           t          |d         dd         |	dd         |z
  d
           t          |d         dd         |d
           d S )N)gh|?5gClgxgS㥛gףp=
gףp=
gvg      gvg}?5^g rhg/$gˡEgRQgKg=
ףpgK7gV-/ gM"!gT㥛 g7A`PgV- gp=
ף"gPn(gw/'g r&gzGa'gA`Т&gGzT)gv)gA`b'gB`"%g`"9(g+7(g/$*g%C'gm%g rhQ$g~jt"g$"gS㥛D!gh|?5g&1g}?5^gZdg'1ZgJ+gEgS	gMbXgd;OgMbX9gL7A`gZd;Og#~j<g/$gMbXgzGgV-g㥛  gGzgtg
ףp=
gQkgT㥛 gQgˡE}gLgzG	gQg?5^I	gSg5^IgKgV-gv/g      gQgq=
ףgVg=
ףp=gy&1gI+gtVg"~jgjtg-ֿgffffff?gn?g~jt?g|?5^?g(\gEؿg%C?gh|?5?gQ@gS@g"~	@gʡE@g r@gK7A`?g9v?gV-g!rh?g=
ףp=ҿg      gI+g-g+gtVgSgy&1g7A`g!rhgZd;OgV-glgK7Agffffff	g rgng$CgL7A`gQgngSgK7Ag?gMg333333?gjt?gRQ?g'1Z@gA`"@g(\@g?5^I@gX9@g5^I@g"~@gd;O@gʡE@gSc@g(\@gV-2@g9v@gq=
ף@gZd;OM @g
ףp=
@gMb@gn!@ @gvo!@gE#@gjt"@gR!@gJ+ @gX9!@gGz!@g
ףp= @gT㥛 @gV-@gbX9H @gMbX @rX  gffffff@gOn@g~jt @goʡ@gZd;@g@gGz@g33333s!@gK7A!@gZd;ߏ!@g33333 @gʡE"@g&1"@g{G$@g=
ףp$@g rh%@g rh%@ǧ$@gI+$@gy&1,'@g7A`&@gQ&@gOnR'@g%C%@gbX9$@gn
%@gn@$@gB`""@g+w#@g r!@gS#@gq=
ף0%@gx&1 @g%C@gfffff@r   gffffff?)r  alphar   r   rx   rK  gWr%@rG   r   )r  rY  order_bygư>r3   )g2*@ga+@gK]H+@g +@g6DT+@)gLHC@gg
!}C@g5C@gZC@g)&oC@      r2   r   r/   	   )r   ro   rL   recursive_olsresidualsr^   r   roundr   rZ   stdarangera   rO   r   r   rP   r  r   r]   appendpredictrp   )rq   reccumres_standardizerrrw   rr_orderub0ub1lbubrO   rP   rp   ypredr  resis                  r+   test_recursive_residualsz(TestDiagnosticG.test_recursive_residuals  s	    "H H HJ!
 J!
X *48!4HHHHRU122Y""$9	
 	
 	
 	BqE!""Irw/D'E'EqIIIBqE!""IMMqM117AFFFF	$(..4Q7880H1D5
 
 
 	1x{6666 hMMM
 
 hLLL
 
 ABBrrFC3333BrrFSD!4444BrssGS!4444BrssGcT15555 $x~"q" 	' 	'AuRaRy$rr(++//11DLL++DKaAABBBMM$+&&&&BqE!B$K;;;;BqE!B$Kqtu)<bIIIIBqE!A#J;;;;;;r-   c                    | j         }t          dddd          }t          dddd          }t          dd	dd          }t          j        |j        d
          }t          j        |j        dz  d
          }t          |j        t          j                  r|j        d d         }n|j        j        d d         }t          j        |d
          }t          ||d           t          ||d           t          |d         |d         d           t          ||d           t          dddd          }	t          dddd          }
t          j        |j                  }t          ||	d           t          j        |j        dz            }t          t          j        |d                              t          j        |          }t          ||
d           d S )NgԋЄ?gs?rI  -r   g;}H?gWMR`X5gh%f?gw)?approx)
pvalmethodr   r  r.   rG   r   r5   g|=r   )r/   r   g\?gtaw*9?g<q,O?gG\Pk?)r   r   r   )r   r/   )r^   rK   rL   
lillieforsr   r   r   r   r   r9   r   	normal_adr   isinf)rq   r^   lilliefors1lilliefors2lilliefors3lf1lf2r   lf3adr1adr3ad1ad2ad3s                 r+   test_normalityzTestDiagnosticG.test_normality  s#   h
 (&	
 
 
 '(	
 
 
 (	
 
 
 	h???	Q8DDDci,, 	(IcrcNEEIN3B3'E(;;;S+x@@@@h	
 	
 	
 	
 	AH 5EBBBBS+w????
 '(	
 
 
 (%	
 
 
 sy))S$9999syA~..Q  !!!u%%S$999999r-   c                 6   | j         }t          j        |          }t          j                            t          dd          }t          |d          5 }t          j	        |          }d d d            n# 1 swxY w Y   t          t          j        |d                                       dd          |                                d           t          t          j        |d	                                       dd          |j        d           |j        \  }}t          ||d
         d           t          |j        |d         d           t          |j        |d         d           |j        \  }}	t          ||d         d           t          |j        |d         d           t          j                            t          d          }
t+          j        |
d          }t          j        |          }t          |j        |d d d df         d           t          |j        |d d df         d           t          ||d d df         d           t          ||d d df         d           t          |j        |d d df         d           d S )Nresultsinfluence_lsdiag_R.jsonutf-8encodingz
cov.scaledr   r/   rG   zcov.unscaledcookshatstd.resdfitsstud.res results/influence_measures_R.csvr   	index_colrx   r   r\  )r^   oiOLSInfluenceospathjoincur_diropenjsonrJ   r   r   ro   r{   
cov_paramsnormalized_cov_paramscooks_distancehat_matrix_diagresid_studentized_internaldffitsresid_studentized_externalr$   read_csvr   dfbetas	cov_ratio)rq   r^   inflr  fplsdiagc0c1r  dffthfninfl_rinfl_r2s                r+   test_influencezTestDiagnosticG.test_influence  s   h s##w||GY0IJJ$))) 	#RYr]]F	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	HVL)**221a88NN	
 	
 	
 	

 	HVN+,,44Q::%	
 	
 	
 	
 $BBw<<<<D0&-LLLL+VI->	
 	
 	
 	
 FF7OR@@@@+VJ-?	
 	
 	
 	
 W\\'#EFFR1--- *V$$DL'!!!RaR%."EEEEDNGAAAqDM2FFFFFGAAAqDM2>>>>B1r::::D0'!!!Q$-LLLLLLs   A44A8;A8N)(__name__
__module____qualname__classmethodrm   rr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r!  r0  r7  r   markparametrizerL   rA  r3  r;  r>  rG  rQ  rV  ro  r  r  rI  r-   r+   rU   rU   X   s_       & & [&0A A A+H +H +HZ>* >* >*B; ; ;2 2 2; ; ;+ + +? ? ?F F F4< < <"#2 #2 #2J. . .
3 3 3
.
 .
 .
`
 
 
8%
 %
 %
N-E -E -E^2 2 2I I I2C C C:< < << [Vf&8&:J%KLL  ML [Vf&8&:J%KLL  ML6 6 6@B B B
 
 
 s< s< s<jI: I: I:V1M 1M 1M 1M 1Mr-   rU   c                   $    e Zd Zed             ZdS )TestDiagnosticGPandasc                    t          j                    j        }dt          j        |d                                                   z  |d<   dt          j        |d                                                   z  |d<   |d                             d          |d<   |d	                             d          |d	<   |                                }|| _        |d         }t          |ddg                   }t          |dd	g                   }t          |dg                   }t          ||                                          }t          ||                                          }t          ||                                          }|| _        || _        || _        | j        j        j        | _        | j        j        j        | _        d S )
NrW   r;   rc   r<   rd   r=   r   re   rX   )r	   rY   r*   r   r[   rZ   shiftdropnarN   r   r   r]   r^   r_   r`   ra   rO   rP   )	rb   rN   rf   rg   rh   ri   rj   rk   rl   s	            r+   rm   z!TestDiagnosticGPandas.setup_classT  s   !##("&9"6"6";";"="==."&9"6"6";";"="==.iL&&q))&	*++A..*HHJJ>"Q7899a <=>>a 0122fe$$((**vv&&**,,vv&&**,,GM'	7=%r-   N)r  r  r  r  rm   rI  r-   r+   r  r  S  s-        & & [& & &r-   r  c            
      6   t           j                            t          d          } g d}|D ]k}t           j                            | |          }t	          j        t          j        |                    }|j        d         dz
  }|d d |f         }t	          j	        t	          j
        |j        d         df          t	          j        ||d          fd          }|t	          j        |t          j                            ||d          d                   z
  }t          j        ||          }	|dk    rt#          |	g d	d
           |dk    rt#          |	g dd
           ;|dk    rt#          |	g dd
           Wt#          |	g dd
           md S )Nr  )
wspec1.csv
wspec2.csv
wspec3.csvz
wspec4.csvr   r   )axisrH   )rcondr  )g5^I
@gx&?r   r   rG   r  )gHzG@g~jt?r_  r  )g rh@guV?r]  )gC @gFx?r   )r  r  r  r  r   r   r$   r  r   concatenateonesdeletedotlinalglstsqrL   
spec_whiter   )
resdirwsfilesfilemdlfilemdllastcoldvdesignresidswsress
             r+   test_spec_whiter  p  s   W\\'9--FFFFG F F',,vt,,jW--..)A,"G_WcilA&''3)C)CD1
 
 
 bfVRY__VRr_%J%J1%MNNN!&&11<'8'8'8!DDDDD\!!'8'8'8!DDDDD\!!'8'8'8!DDDDD'9'9'91EEEEE-F Fr-   c                    t          j        t          d          5  t          j        t
          j                            d          t
          j                            d                     d d d            n# 1 swxY w Y   t          j        t          d          5  t          j        t
          j                            d          t
          j                            d                     d d d            d S # 1 swxY w Y   d S )NzWhite's specification test r   r   )r   r   r   )r   r   r   rL   r  r   r   r!   )r  s    r+   test_spec_white_errorr    s]   	z)F	G	G	G 
 
I%%c**BI,E,Eh,O,O	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
z)F	G	G	G 
 
I%%c**BI,E,Eh,O,O	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
s%   AA88A<?A<AC;;C?C?c                    t           j                            d          }t          t           j                            d                    }t	          ||                                          }t          j        |j        |          }t          j	        ||d d dd f         dz  g          }t	          |j        |                                          }|j
        |j        d         z  }t          |d         |           d S )Nr   r   r   r   r   )r   r   r!   r   r   r]   rL   	linear_lmr   hstackrsquaredr   r   )r  rO   rP   r^   lm_resaugres_augstats           r+   test_linear_lm_directr    s    I%%c**E	11(;;<<D
eT




 
 Cci..F
)T4122;!+,
-
-C#)S!!%%''Gcil*DF1It$$$$$r-   c                  *    t          ddd           d S )NgNLo?gTi%4?)r     r(  )rK   rI  r-   r+   grangertestr    s!     	!*;
KKKKKKr-   c                 J   t          t          j                            dd                    }|                    d          t          j                            d          z   }t          ||                                          }t          j        |          }t          j        |d          }t          t          j
        |d         d d df         |d         d d df         k                         t          t          j
        |d         d d df         |d         d d df         k                         t          ||d d df                                                   }t          j        |d	           |                                }|                                 d S )
Nr2   r   r   g{Gz?)rY  r\  r]  r   g?)r   r   r   randnr"   r   r]   r  summary_tabler   allget_influence)r  r)   r   r^   out_05out_01r_   r  s           r+   test_outlier_influence_funcsr    sY   RY__R++,,A	a29??2&&&A
a))--//Cc""Fc...FBF6!9QQQT?fQi1o566777BF6!9QQQT?fQi1o566777q!AAAqD'??  DT&&&&Dr-   c                     ddl m}  t          j                    j        }dt          j        |d                                                                                   z  }dt          j        |d                                                                                   z  }|d         d d         }|j	        |_	        |j	        |_	        t          t          j        |          ||          } | |g d	
          }t          ||                                          }t          j        |          }|                                }	t#          t%          |	|                      t&          j                            t,          dd          }
t/          |
d          5 }t1          j        |          }d d d            n# 1 swxY w Y   |j        \  }}t7          ||d         d           t7          |j        |d         d           t7          |j        |d         d           |j        \  }}t7          ||d         d           t7          |j        |d         d           t&          j                            t,          d          }tA          j!        |d          }t          j"        |          }t7          |j#        |d d d df         d           t7          |j$        |d d df         d           d S )Nr   )r%   rW   r;   r<   r=   rH   )constre   lrealgdp)r  r  re   r   r  r  r  r  r  r/   r  r  r  r  r  r  r   rG   rx   )%pandasr%   r	   rY   r*   r   r[   rZ   r  r   rK   r#   r   r]   r  r  summary_framer   r   r  r  r  r  r  r  rJ   r  r   r  r  r  r  r$   r  r   r  r  )r%   rN   rc   rd   re   r*   rP   r^   r  r   r  r  r  r  r  r  r  r  r  r  s                       r+   test_influence_wrappedr    s         $A)--2244;;===L)--2244;;===LY<D LLbl4((tlKKKD9T#@#@#@AAAD
lD
!
!
%
%
'
'C ?3D 
				BJr9%%&&& 7<<,EFFD	dW	%	%	% 2                FB F7OR000,ve}rBBB7	9JBOOO KMFEw444'
);R   
gA	B	BB[q)))F j  Ggaaa!enbAAAA1rBBBBBBs   F;;F?F?c                     t          j        d          } t           j                            d           t           j                            dd          }t          | |                                          }t          | dz  |                                          }|                                j        }|                                j        }t          ||d           t          j
        g d          }t          ||d	           d S )
Nr  {   r         ?g+=r   )g12?goT?g@0hm?g{'?gE;?g'O/?g}0M?gp*y?g/|?g%ލG?g[)Y?g1oY?gڹYQ?gOp?gbBۜp?geEt?gg|e?gt]:Z?g{u~/?gq=٥?   rG   )r   r  r   seedr  r   r]   r  r  r   ro   r   )r   r)   r   r_   cr1cr2cr3s          r+   test_influence_dtyper    s    
AINN3
	AAq!99==??Dq3w??  D





(C





(CC5))))
(	
 	
 	
 C0 S!,,,,,,r-   c                     g d} g g dg dg dg dg dg dg dg d	g d
g dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg d g d!g d"g d#g d$g d%g d&g d'g d(g d)g d*g d+g d,g d-g d.}g d/}||| fS )0N)-
accountantpilot	architectauthorchemistminister	professordentistreporterengineer
undertakerlawyer	physicianwelfare.workerteacher	conductor
contractorfactory.ownerstore.managerbanker
bookkeepermail.carrierinsurance.agentstore.clerk	carpenterelectricianRR.engineer	machinistauto.repairmanplumbergas.stn.attendant
coal.minerstreetcar.motormantaxi.drivertruck.drivermachine.operatorbarber	bartendershoe.shinercook
soda.clerkwatchmanjanitor	policemanwaiter)r  g      O@     U@)r        R@      S@)r  g     R@      W@)r       K@     V@)r        P@r#  )r        5@      U@)r  r)       @W@)r  g      T@g      Y@)r       P@     U@)r  r$  r#  )r        E@g     R@)r  r%  g     X@)r  r%       @X@)r       D@r+  )r        H@g     V@)r  r%        A@)r       J@     F@)r  g      N@g      L@)r  r/        F@)r  g     S@     T@)r        =@r$  )r  r2  r'  )r  r'  g     Q@)r  r8  g      I@)r  r*  g      7@)r       G@     C@)r       @T@      <@)r  g      B@      @@)r        6@r>  )r  r6        9@)r        .@r8  )r        @rA  )r  r/        :@)r        "@      3@)r  r*  r@  )r  r*        4@)r        0@rB  )r  rF  r<  )r  rC        1@)r  g      ,@r>  )r  g      (@g      >@)r  rG  r?  )r  rA  rE  )r  r3  r9  )r         @r=  )-r7  g     T@r(  r%  r(  r.  r,  r(  g      J@g      V@     L@g     @V@r0  g     M@g     @R@g      C@r%  r;  r5  r&  r:  r3  r1  rF  g     @@r4  r-  rI  rB  r8        $@r@  rD  rJ  g      *@g      8@rE  rA  g      @rF  g      @g      &@rH  r1  rJ  rI  )labelsrP   rO   s      r+   get_duncan_datarL  $  s#   . . .F`... 	. 		.
 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.  	!." 	#.$ 	%.& 	'.( 	).* 	+., 	-.. 	/.0 	1.2 	3.4 	5.6 	7.8 	9.: 	;.< 	=.> 	?.@ 	A.B 	C.D 	E.F 	G.H 	I.J 	K.L 	M.N 	O.P 	Q.R 	S.T 	U.V 	W.X 	Y.Z 	[.D^. . .E` $r-   c                  `   t                      \  } }}t          | |                                          }g d}g d}g d}t          j        |          }d||dk    <   g d}t          j        |||f         }t          j        |d|d          }	t          j        	                    |	j
        |d	           t          j                            |	j                                        |           t          j        t          j        | |f          d
                                |          }
t          j        d|
                                          }t          j        |dd          }t          |j
        |d	           t          |j                                        |           |                    d          }|                    dgd          }t          |j
        |d	           t          |j                                        |           t)          |j        |j                   |                    dd          }t          |j                                        |           |                    ddd          }t          |j                                        |d d                    d S )N)-gpz~	@g.[-gZԴ>Y @g^gP$W1?gH4*g6~Cg(?gAggw?g!)K?g/Ig|\gSXEQBg;2Ts?gPc>?g'<?gӈ l?gVTg(/V??gng:D?gᓭ?g)߿gk)b	Rv޿g7ʀzۿgr\xTڿgUf0ؿg?g1>P?g2u,0?g s?gEeӿgiǿgW9>??gO1:?gZ^OgذNH?gx^sg>}L/?gxY?g{Ŗlܩ?g$H?g~~.NG?)-gaUj?g9?g0!I?g=N_?gL?g?gLgǏ?g' ?g`F%3f?gCR?g8?g-8j"?gJ?gs?gK */'x?g۩er?gBI0?gLb&?gh\:?g	YG?gR S?g`	
?g?g4 0k?gQ?g3m-3_?gR<ao?g@Mwv?gå#?g+린,*?g-+V?gc5?Y?g`h?gלNurm?gkȓ2F?g?g-e?guLܺ?gp }?gd[?g*O ?gS]+?g ?gNBh?gi.a?)-gg֭L?gc7|?gk@g@g>m@gO@gfE@g5;M@g﷯@g(@g9*@g5fK,@g~0@goؾ0@g{41@gۻØ2@g"5b3@g5KF4@gG5@g;#46@g-;@g724COw;@g&2;@g1Qi;@g*;@gXKߥ<@g{a%>@gB6>@gpJ/ j?@g3kI@@gx@@glp@CA@g,nc)A@gֿz,A@gI[-C@gc'jC@gHdĪC@ghc3D@g~U<D@g5wE@g#48E@gD4=6E@g"B`E@g>-zF@gET|F@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  bT)methodrK  rw   r]  zy const var1 var2)r   r   zy ~ const + var1 + var2 - 0)rO  rw   )rO  unadj_p)	ascendingg333333?)rO  rw   cutoff)rL  r   r]   r   ro   r&   r  outlier_testtestingr   r\   r   r   tolistr$   r%   column_stackrF   from_formulasort_valuesr   )rO   rP   rK  ndarray_modrstudentrP  bonf_psorted_labelsr_   r^   r*   res_pd	res_outl2	res_outl1	res_outl3	res_outl4s                   r+   test_outlier_testrb    s   )++E4eT""&&((K. . .H^. . .G^. . .F^ XfFF6A:. . .M` 57F*+D
/+c&
M
M
MCJ""3:tQ777J	M   <
&&#))++  D ;TBBFFHHFs$???I	($222''))=999##3#//I%%ykT%BBI	($222''))=999y	888 ##3d#;;I''))=999##3d4#HHI''))=!+<=====r-   c                  ,   t          j                    j        d         } t          | dd                                          }|j        }t          j        |d          }t          j        |dd          }t          |j	        d d df         |j	        d d df                    t          j        t          j        |j	        d dd	f                             sJ t          j        |j	        dd d	f         |j	        dd d	f         k              sJ d S )
Nr   rx   F	old_namesr2   r   )r   r   r   r   )r
   rY   r*   r   r]   r   rL   r   r   r   r   r  isnan)r*   r^   r   r   r_   s        r+   test_ljungbox_dof_adjrh    s   !!&}5D
$U
+
+
+
/
/
1
1CIE R000D R!<<<DDIaaadOTYqqq!t_5556"(49RaRU+,,-----6$)ABBE"diA&667777777r-   c                 x   t          j                    j        d         }t          |dd                                          }|j        }t          j        |d          }t          j        |dd          }t          |j	        d d df         |j	        d d df                    |j
        d         d	k    sJ |j
        d         d	k    sJ t          j        t          j        |j	        d dd	f                             sJ t          j        |j	        dd d	f         |j	        dd d	f         k              sJ d S )
Nr   rx   Frd  Tauto_lag)r   rk  r   r   )r
   rY   r*   r   r]   r   rL   r   r   r   r   r   r  rg  )r  r*   r^   r   r   r_   s         r+    test_ljungbox_auto_lag_selectionrl    s5   !!&}5D
$U
+
+
+
/
/
1
1CIE 666D TBBBDDIaaadOTYqqq!t_555 :a=A:a=A6"(49RaRU+,,-----6$)ABBE"diA&667777777r-   c                     t           j                            d          }t          j        |d          }|j        d         dk    sJ d S )N  Trj  r   r   )r   r   r  rL   r   r   )r  r*   r^   s      r+   !test_ljungbox_auto_lag_whitenoisero    sI    9??4  D

t
4
4
4C 9Q<1r-   c                     t          j                    j        d         } t          j        t
          d          5  t          j        | d           d d d            n# 1 swxY w Y   t          j        t
          d          5  t          j        | dd           d d d            n# 1 swxY w Y   t          j        t
          d          5  t          j        | dd	           d d d            n# 1 swxY w Y   t          j        |            t          j        | d
          }t          |t          j
                  sJ d S )Nr   zmodel_df mustr   rH   )r   zperiod mustr   )r   periodr2   rf  )r
   rY   r*   r   r   r   rL   r   r   r$   r%   )r*   rets     r+   test_ljungbox_errors_warningsrt    s   !!&}5D	z	9	9	9 1 1dR00001 1 1 1 1 1 1 1 1 1 1 1 1 1 1	z	7	7	7 ; ;dR::::; ; ; ; ; ; ; ; ; ; ; ; ; ; ;	z	7	7	7 < <dR;;;;< < < < < < < < < < < < < < <
$

2
.
.
.Cc2<(((((((s5   AA!$A!B''B+.B+C11C58C5c                     t          j                    j        d         } t          | dd                                          }t          j        |j        d          }t          j        |j        d          }t          ||           d S )	Nr   rx   Frd  r   )rq     rf  )	r
   rY   r*   r   r]   rL   r   r   r   )r*   ar_resr^   r_   s       r+   test_ljungbox_periodrx    s|    !!&}5DT1...2244F

R
8
8
8C B777DsD!!!!!r-   cov_type	nonrobustHC0c           
         t           j                            d          }t           j                            d          }t           j                            d          }t           j                            d          }|t          j        d          z  |z   }t          j        |d d d df         |g          }t          j        ||g          }t          ||                                          }	t          ||                                          }
t          j        |	|
|           }t          |t          j        ||d d dd f         |g                                        |           }t          j	        d          }t          j
        d          |d d d	d f<   |                    |d
d
          }t          t          j        |j                            t          t          j        |j                            t!          |j                  t!          |j                  f}t'          t          j        |j        d                   |d           t          |t          j        ||g                                        |           }t          j	        d          }t          j
        d          |d d dd f<   |                    |d
d
          }t          t          j        |j                            t          t          j        |j                            t!          |j                  t!          |j                  f}t'          t          j        |j        d                   |d           d S )Nr   r   r   r   r   r   r   r   )ry  )rx   r]  rx   T)use_fscalarr)   g:0yE>r[  )r   r]  r   rr  z)r   r   r!   r  r  r   r]   rL   compare_encompassingzeroseye	wald_testfloatsqueezer1   r5   intdf_numdf_denomr   r   r   )ry  r  r)   r(   x_extraz_extrar   r   z1r   r_   r   direct1r1direct_test_1expecteddirect2r2direct_test_2s                      r+   test_encompasing_directr    s   
	!!(++A
	!!(++Ai''11Gi''11G	BGFOOaA	Aaaa!eHg&	'	'B	Aw<	 	 Bq"::>>Dq"::>>D		$T4(	C	C	CB!RYAaaaeHg67788<<h<OOG	.	!	!BBqqq"##vJ%%bT%BBMbj01122bj-..//M !!M"##	H BJrvc{++XDAAAA!RYG}--..22H2EEG	.	!	!BBqqq"##vJ%%bT%BBMbj01122bj-..//M !!M"##	H BJrvc{++XDAAAAAAr-   c                 Z   t           j                            d          }t           j                            d          }t           j                            d          }|t          j        d          z  |z   }t          j        ||g          }t          ||                                          }t          ||                                          }t          j        t          d          5  t          j        ||           d d d            n# 1 swxY w Y   t          j        t          d          5  t          j        |d           d d d            n# 1 swxY w Y   t          j        t          d	          5  t          j        d
d           d d d            d S # 1 swxY w Y   d S )Nr}  r~  r   r  r=  r   z!results_z must come from a linearr   z!results_x must come from a linearrx   )r   r   r!   r  r  r   r]   r   r   r   rL   r  	TypeError)r  r)   r(   r  r   r  r   r_   s           r+   test_encompasing_errorr    s   
	!!(++A
	!!(++Ai''11G	BGFOOaA
	1g,Aq!99==??Dq!99==??D	z)@	A	A	A 0 0#D$///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0	y(K	L	L	L - -#D!,,,- - - - - - - - - - - - - - -	y(K	L	L	L * *#Aq)))* * * * * * * * * * * * * * * * * *s6   -DDD5EEE=F  F$'F$powerr   r   	test_type)fittedrP   princompr  TFr   )ry  
cov_kwargsc                    t          t          j                            d                    }t          j                            d          }t          j        ||d d dd f         dz  g          }|t          j        d          z  |z   }t          ||d d d df                                                   }t          j	        |f| ||d| d S )N)rn  r   )rn  r   r   r   )r]  r   rx   )r  r  r  )
r   r   r   r!   r  r  r   r]   rL   linear_reset)	r  r  r  r   r  r)   r(   r   r^   s	            r+   test_reset_smoker  	  s     	RY..y99::A
	!!),,A
	1a122h!m$%%A	BGFOOaA
a111bqb5




 
 C
IU >A    r-   r   rL  c                     t           j                            d          }t          j        |fd| |d| t          j        |fd | d|d| d S )N   r\  ry   r   rL  r/   )ry   r   rq  rL  r   r   r!   rL   acorr_lm)r   rL  r   r  r(   s        r+   test_acorr_lm_smoker    sc     		!!#&&A
OA>Qe$>>#>>>
OALTrLLLLLLLr-   c                 t    t           j                            d          }t          j        |ddd           d S )Nr  r\  Fr   r  r  )r  r(   s     r+   test_acorr_lm_smoke_no_autolagr  0  s6    
	!!#&&A
OAQe!444444r-   r  )g      ?rD   g      ?rZ  r   )sizereplacex0r   c                    t          j        t          j                            d                    }t          j        t          j                            d          d t          d          D                       }|t          j        d          z  |z   }t          ||                                          }t          j
        || |           d S )Nr~  r   c                     g | ]}d | S r)   rI  .0r  s     r+   
<listcomp>z/test_rainbow_smoke_order_by.<locals>.<listcomp>D      +++QQ+++r-   r   r   r   r   )r  rZ  r$   r%   r   r   r!   r  r  r   r]   rL   r  )r  rZ  r  r(   r)   r   r^   s          r+   test_rainbow_smoke_order_byr  5  s     	RY..x8899A

	!!(++++%((+++	 	 	A 	
BGFOOaA
a))--//C
#D8<<<<<<r-   center)NgQ?i,  c                    t          j        t          j                            d                    }t          j        t          j                            d          d t          d          D                       }|t          j        d          z  |z   }t          ||                                          }t          j
        |d|            d S )	Nr~  r   c                     g | ]}d | S r  rI  r  s     r+   r  z/test_rainbow_smoke_centered.<locals>.<listcomp>P  r  r-   r   r   r  T)use_distancer  r  )r  r  r(   r)   r   r^   s         r+   test_rainbow_smoke_centeredr  K  s    
RY..x8899A

	!!(++++%((+++	 	 	A 	
BGFOOaA
a))--//C
#D@@@@@@r-   c                 &   t          j        t          j                            d                    }t          j        t          j                            d          d t          d          D                       }|t          j        d          z  |z   }t          ||                                          }t          j
        t          d          5  t          j        |d	
           d d d            n# 1 swxY w Y   t          t          j        |          t          j        |                                                    }t          j
        t          d          5  t          j        |d
           d d d            d S # 1 swxY w Y   d S )Nr~  r   c                     g | ]}d | S r  rI  r  s     r+   r  z*test_rainbow_exception.<locals>.<listcomp>[  r  r-   r   r   r  zorder_by must containr   x5rZ  )r  )r$   r%   r   r   r!   r  r  r   r]   r   r   r  rL   r  r   )r  r(   r)   r   r^   s        r+   test_rainbow_exceptionr  W  s   
RY..x8899A

	!!(++++%((+++	 	 	A 	
BGFOOaA
a))--//C	y(?	@	@	@ 2 2cD11112 2 2 2 2 2 2 2 2 2 2 2 2 2 2
bjmmRZ]]
+
+
/
/
1
1C	y(?	@	@	@ 5 5cG44445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5s$   C66C:=C:"FF
F
c                 p   t           j                            d          }t           j                            d          }|d d         |d d<   t          j        t
          d          5  t          j        t          ||          	                                           d d d            d S # 1 swxY w Y   d S )Nr2   )r2   r   r   r   zThe initial regressor matrix,r   )
r   r   r!   r   r   r   rL   r`  r   r]   )r  r   r)   s      r+   test_small_skipr  f  s    
	!!"%%A
	!!'**AbqbEAbqbE	z)H	I	I	I 7 7%c!Qiimmoo6667 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7s   )5B++B/2B/c                    d}t          j        t          j                            |          t          j                            |          t          j                            |          d          }|d         t          |d                   }}t          |d         t          |dg                                                             }t          |d         t          |ddg                                                             }t          |d         t          |dg                                                             }t          j	        |           t          j	        |d           t          j	        |d           t          j	        |d	           t          j
        ||           t          j        |j        |           t          j        |j        |           t          j        |j                   t          j        |           t          j        |           t          j        |           t          j        |j        |           t          j        |           t          j        |j                   t          j        |j                   t          j        |           t          j        ||           t          j        ||           t          j        ||           t          j        |           t          j        |t          j        |j        d
         dz
  dd                     t          j        |j        |           d S )Nr   )r   r)   r  r   r)   r  r  )r  rP   r  r   r   rH   r  )r$   r%   r   r   randr   r   r]   rL   r  rM   r   r   r   r   r   r   r  r  r  r  rM  rS  rA  r  r3  r`  rc  r   r  )r  r   r   r   r)   r^   	res_large	res_others           r+   test_diagnostics_pandasr    s    	A	""""""	$ 	$
 
B c7LC))qA
bg|BuI..
/
/
3
3
5
5CBsG\"c3Z.99::>>@@IBsG\"cU)445599;;I
	"""
	X6666
	V4444
	Z8888
a###
CIq)))
SY"""
OCI
 %%%
!
#
SY"""
 %%%
OCI
	***

sI&&&
Y///
S)$$$
!#&&&
!bi
Qr::    ci#####r-   )r.   )P__doc__r  r  numpyr   numpy.testingr   r   r   r   r   r  r$   pandas.testingr   r   statsmodels.datasetsr	   r
   #statsmodels.regression.linear_modelr   statsmodels.stats.diagnosticstats
diagnosticrL   $statsmodels.stats.outliers_influenceoutliers_influencer  %statsmodels.stats.sandwich_covariancesandwich_covariancer|   statsmodels.tools.toolsr   r   statsmodels.tsa.ar_modelr   statsmodels.tsa.arima.modelr   r  abspathdirname__file__r  fixturer,   r9   rS   rU   r  r  r  r  r  r  smoker  r  r  rL  rb  rh  rl  ro  rt  rx  r  r  r  rK   r  r  r  rc  r   choicer  r  r  r  r  rI  r-   r+   <module>r     s	  	 	  				                      - - - - - -  4 4 4 4 4 4 4 4 3 3 3 3 3 3 - - - - - - - - - 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 , , , , , , - - - - - -
'//"'//(33
4
4 h      ' ' '.lM lM lM lM lM lM lM lMv& & & & &O & & &:F F F8
 
 
% % %L L L    ;C ;C ;C|$- $- $-NR R Rj`> `> `>F8 8 88 8 8  
) 
) 
)" " " k5%9::"B "B ;:"BJ* * *  1a&))&D&D&DEE4-00	kb111e+++    10 FE *)  4-00!Q((	kb111e+++ M M  )( 10 M5 5 5
 !2!2!233	#
	366	t	 	= =	 	 43= #4#4#455A A 65A5 5 57 7 7D %$ %$ %$ %$ %$r-   