
    M/Ph                     t    d dl Zd dlZd dlZd dlmZ d dlmZ d dl	m
Z
mZmZmZ  G d d          Zd Zd ZdS )	    N)assert_almost_equal)stats)
lillieforsget_lilliefors_table
kstest_fitksstatc                   \    e Zd Zd Zd Zd Zd Zd Zej	        j
        d             Zd ZdS )	TestLillieforsc                    t           j                            d           t          j                            d          }t          |dd          \  }}t          |t          j        |                                          z   dz   dd          \  }}t          |d	d
           t          |dd
           t          |dd
           t          |dd
           d S )N    sizenormapproxdist
pvalmethodgMbP?exphx?   decimalK7?gF~Xʍ?)
nprandomseedr   r   rvsr   absminr   )selfx_n	d_ks_normp_normd_ks_expp_exps         g/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/stats/tests/test_lilliefors.pytest_normalzTestLilliefors.test_normal   s    
	tjnn#n&& 'sHMMM	6 %S26#''))+<+<%<u%D*/HF F F% 	Ix;;;;FGQ7777Hi;;;;E5!444444    c                     t           j                            d           t          j                            d          }t          |dd          \  }}t          |dd	           t          |d
d	           d S )Nr   r   r   r   tabler   r   r   r   r   )r   r   r   r   r   r   r   r   )r!   r"   r#   r$   s       r'   test_normal_tablez TestLilliefors.test_normal_table&   st    
	tjnn#n&&&sGLLL	6Ix;;;;FGQ777777r)   c                 h   t           j                            d           t          j                            d          }t          |dd          \  }}t          |dd          \  }}t          |dd	
           t          |dd	
           t          |dd	
           t          |dd	
           d S )Nr   r   r   r   r   r   r   g1?r   r   gOd@<gL?gz6?)r   r   r   r   exponr   r   r   )r!   x_er#   r$   r%   r&   s         r'   
test_exponzTestLilliefors.test_expon/   s    
	tkoo3o'' 'sHMMM	6 %SuJJJ%Iw::::FGQ7777Hj!<<<<E7A666666r)   c                 ~   t           j                            t          j        d          dz   dz            }t          |dd          \  }}t           j                            t          j        d          dz   dz            }t          |dd          \  }}t          |dd	
           t          |dd	
           d S )Ng      $@g      ?
   r   r   r   r   gGz?   r   )r   r   ppfr   aranger   r.   r   )r!   xd_ks_np_nd_ks_ep_es         r'   test_pval_boundszTestLilliefors.test_pval_boundsA   s    JNNBIcNNS0B677 HEEEKOORYs^^c1R788 8DDDCq1111Cq111111r)   c                 d   t          j        d          }t          j        t                    5  t          |dd           d d d            n# 1 swxY w Y   t          j        d          }t          j        t                    5  t          |dd           d d d            d S # 1 swxY w Y   d S )Ng      @r   r   r   g       @r   )r   r5   pytestraises
ValueErrorr   )r!   r6   s     r'   test_min_nobszTestLilliefors.test_min_nobsJ   s   IbMM]:&& 	< 	<qv(;;;;	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	<IbMM]:&& 	; 	;qu::::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;s#   AAAB%%B),B)c                 f    t           j                            d          }t          |d           d S )Ni'  r   )r   )r   r   randnr   )r!   reset_randomstater6   s      r'   test_large_samplez TestLilliefors.test_large_sampleR   s.    IOOE""1******r)   c                    t           j                            d           t          j                            d          }|}t          |dd          \  }}t          |dd	           t          |d
d	           |                    dd          }t          |dd          \  }}t          |dd	           t          |d
d	           t          j	        ||g          j
        }t          j        t                    5  t          |dd           d d d            n# 1 swxY w Y   t          j        |          }t          |dd          \  }}t          |dd	           t          |d
d	           t          j        ||g          }t          j        t                    5  t          |dd           d d d            n# 1 swxY w Y   t          j        |                    dd          j
                  }t          j        t                    5  t          |dd           d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   r   r   r   r   r   r      )data)r   r   r   r   r   r   r   r   reshapearrayTr=   r>   r?   pd	DataFrame)r!   r"   rH   r#   r$   s        r'   test_x_dimszTestLilliefors.test_x_dimsW   s   
	tjnn#n&& &t&XNNN	6Ix;;;;FGQ7777 {{2q!!&t&XNNN	6Ix;;;;FGQ7777 xc
##%]:&& 	? 	?t&X>>>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? |%%%&t&XNNN	6Ix;;;;FGQ7777 |#s,,,]:&& 	? 	?t&X>>>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? |R!3!3!5666]:&& 	? 	?t&X>>>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?s6   >DD!$D!&GG	G	H77H;>H;N)__name__
__module____qualname__r(   r,   r0   r;   r@   r=   marksmokerD   rN    r)   r'   r
   r
      s        5 5 528 8 87 7 7$2 2 2; ; ; [+ + +#? #? #? #? #?r)   r
   c                 J   t          j        t                    5  t          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            d S # 1 swxY w Y   d S )Nunknown)r   d   r+   r   )r=   r>   r?   r   r   r   r   standard_normal)rC   s    r'   test_get_lilliefors_errorsrY   }   s   	z	"	" - -),,,,- - - - - - - - - - - - - - -	z	"	" ' '29,,S11	%	' 	' 	' 	'' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 's   7;;0BBBc                 
   t           j                            ddd          }t          |dd          }t          |dd          }t          |t          j        d          }t          |||           ||k    sJ ||k    sJ d S )	Nr   rG   rW   uniform	two_sided)alternativegreaterlower)r   r   r[   r   r   print)rC   r6   r\   r^   r_   s        r'   test_ksstatra      s    
	!Q$$Aq)===IQ	y999G1em999E	)We$$$Iir)   )numpyr   pandasrL   r=   numpy.testingr   scipyr   statsmodels.stats._lillieforsr   r   r   r   r
   rY   ra   rT   r)   r'   <module>rg      s             - - - - - -                 o? o? o? o? o? o? o? o?d' ' '         r)   