B
    Zu                 @   sT   d Z ddlmZ ddlZddlmZmZ ddlZdd Z	dd Z
d	d
 Zdd ZdS )zTesting helper functions

Warning: current status experimental, mostly copy paste

Warning: these functions will be changed without warning as the need
during refactoring arises.

The first group of functions provide consistency checks

    )SkipTestN)assert_allcloseassert_c             C   s  | }t t|j}||}t|j|jdd tt |j|j	dd tt |j
|jdd t|j|jdd t| | dd t |j|j	|j|j| f}t |j|j|j
|j| f}| j}t||dd tt|d ||d }|  t|j|jd dd d S )Ng-q=)rtolg|=g&.>use_tr   )npeyelenparamsZt_testr   ZeffectsqueezeZsdZbseZtvalueZtvaluespvaluepvaluesZconf_intZcolumn_stackZsummary_framevaluesr   hasattrsummary)resultsresZmatZttZ	table_resZtable1Ztable2 r   9lib/python3.7/site-packages/statsmodels/tools/_testing.pycheck_ttest_tvalues   s$    

r   c                s   | j tj  fddt D }t|jddd  fddt D }t|jddd dkrvdnd	}t }t||k yt	 }W n t
k
r   d }Y nX |d k	rt||k d S )
Nc                s&   g | ]}j t | d jqS ))Zuse_f)	wald_testr   r   r   ).0k)k_varsr   r   r   r   
<listcomp>6   s   z'check_ftest_pvalues.<locals>.<listcomp>g&.>g}:)r   Zatolc                s"   g | ]} t | jqS r   )r   r   r   r   )r   r   )r   r   r   r   r   ;   s   FzP>|z|zP>|t|)r   r	   r
   ranger   r   strr   r   Zsummary2AttributeError)r   ZpvalsZstring_use_tZsummZsumm2r   )r   r   r   r   check_ftest_pvalues1   s$    

r   c             C   s   ddl m} ddlm} t| dr*| j} n| } t| |sBt| |rHt | }|j}t	|j
j| |jdd t	|| dd d S )Nr   )
GLMResults)DiscreteResults_resultsg-q=)r   )+statsmodels.genmod.generalized_linear_modelr   #statsmodels.discrete.discrete_modelr    r   r!   
isinstancer   fittedvaluesr   modelZendogZresidpredict)r   r   r    r   fittedr   r   r   check_fittedO   s    


r)   c             C   s  | }t t |jjd d }ddlm} ddlm} t	| drJ| j
} n| } t| |sbt| |r|| ||  ||d   n|jd d }t|||dd t||t | dd t|d d ||d  dd t|d d ||d dd d S )	N   r   )r   )r    r!   g-q=)r      )r   r   Zasarrayr&   Zexogr"   r   r#   r    r   r!   r$   r'   tolistr%   r   )r   r   Zp_exogr   r    r(   r   r   r   check_predict_typesa   s(    



r-   )__doc__Zstatsmodels.compat.testingr   Znumpyr   Znumpy.testingr   r   Zpytestr   r   r)   r-   r   r   r   r   <module>
   s   