
    !g                     l    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y)	    N)assert_almost_equal)stats)
lillieforsget_lilliefors_table
kstest_fitksstatc                   h    e Zd Zd Zd Zd Zd Zd Zej                  j                  d        Zd Zy)	TestLillieforsc                    t         j                  j                  d       t        j                  j                  d      }t        |dd      \  }}t        |t        j                  |j                               z   dz   dd      \  }}t        |d	d
       t        |dd
       t        |dd
       t        |dd
       y )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         d/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/statsmodels/stats/tests/test_lilliefors.pytest_normalzTestLilliefors.test_normal   s    
		tjjnn#n& 'sHM	6 %S266#'')+<%<u%D*/HF% 	Ix;FGQ7Hi;E5!4    c                     t         j                  j                  d       t        j                  j                  d      }t        |dd      \  }}t        |dd	       t        |d
d	       y )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&   sQ    
		tjjnn#n&&sGL	6Ix;FGQ7r)   c                 6   t         j                  j                  d       t        j                  j                  d      }t        |dd      \  }}t        |dd      \  }}t        |dd	
       t        |dd	
       t        |dd	
       t        |dd	
       y )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kkoo3o' 'sHM	6 %SuJ%Iw:FGQ7Hj!<E7A6r)   c                 `   t         j                  j                  t        j                  d      dz   dz        }t        |dd      \  }}t         j                  j                  t        j                  d      dz   dz        }t        |dd      \  }}t        |dd	
       t        |dd	
       y )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    JJNNBIIcNS0B67 HEKKOORYYs^c1R78 8DCq1Cq1r)   c                 H   t        j                  d      }t        j                  t              5  t        |dd       d d d        t        j                  d      }t        j                  t              5  t        |dd       d d d        y # 1 sw Y   OxY w# 1 sw Y   y xY w)Ng      @r   r   r   g       @r   )r   r5   pytestraises
ValueErrorr   )r!   r6   s     r'   test_min_nobszTestLilliefors.test_min_nobsJ   s{    IIbM]]:& 	<qv(;	<IIbM]]:& 	;qu:	; 	;	< 	<	; 	;s   B4BBB!c                 \    t         j                  j                  d      }t        |d       y )Ni'  r   )r   )r   r   randnr   )r!   reset_randomstater6   s      r'   test_large_samplez TestLilliefors.test_large_sampleR   s    IIOOE"1*r)   c                    t         j                  j                  d       t        j                  j                  d      }|}t        |dd      \  }}t        |dd	       t        |d
d	       |j                  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        t        j                  |      }t        |dd      \  }}t        |dd	       t        |d
d	       t        j                  ||g      }t        j                  t              5  t        |dd       d d d        t        j                  |j                  dd      j                        }t        j                  t              5  t        |dd       d d d        y # 1 sw Y   xY w# 1 sw Y   vxY w# 1 sw Y   y xY w)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jjnn#n& &t&XN	6Ix;FGQ7 {{2q!&t&XN	6Ix;FGQ7 xxc
#%%]]:& 	?t&X>	? ||%&t&XN	6Ix;FGQ7 ||#s,]]:& 	?t&X>	? ||R!3!5!56]]:& 	?t&X>	? 	?!	? 	?	? 	?
	? 	?s$   (G+3G7H+G47H HN)__name__
__module____qualname__r(   r,   r0   r;   r@   r=   marksmokerD   rN    r)   r'   r
   r
      s>    5287$2; [[+ +#?r)   r
   c                 *   t        j                  t              5  t        d       d d d        t        j                  t              5  t	        t
        j                  j                  d      dd       d d d        y # 1 sw Y   WxY w# 1 sw Y   y xY w)Nunknown)r   d   r+   r   )r=   r>   r?   r   r   r   r   standard_normal)rC   s    r'   test_get_lilliefors_errorsrY   }   so    	z	" -),-	z	" '299,,S1	%	'' '- -' 's   A=,B	=B	Bc                     t         j                  j                  ddd      }t        |dd      }t        |dd      }t        |t        j                  d      }t        |||       ||k  sJ ||k  sJ y )	Nr   rG   rW   uniform	two_sided)alternativegreaterlower)r   r   r[   r   r   print)rC   r6   r\   r^   r_   s        r'   test_ksstatra      sp    
		!Q$Aq)=IQ	y9G1emm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      s5       -  o? o?d' r)   