U
    Ãmœd}	  ã                   @   sX   d dl Zd dlZ d dlmZmZ d dlmZ d dlm  m	Z
 G dd„ dƒZdd„ ZdS )é    N)Úassert_almost_equalÚassert_equal)ÚContrastc                   @   s8   e Zd Zedd„ ƒZdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚTestContrastc                 C   s   t j d¡ t j d¡| _d S )Ni1Ô  )é(   é
   )ÚnumpyÚrandomÚseedÚstandard_normalÚX)Úcls© r   ú^/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/statsmodels/stats/tests/test_contrast.pyÚsetup_class	   s    zTestContrast.setup_classc                 C   sp   t  | jd d …df | jd d …df f¡}t|| jƒ}dgdgd  dgd dg dgd  g}t||jƒ d S )Nr   é   é   é	   é   )ÚnpÚcolumn_stackr   r   r   Úcontrast_matrix)ÚselfÚtermÚcÚtest_contrastr   r   r   Útest_contrast1   s    **zTestContrast.test_contrast1c                 C   s\   t  d¡}t  || jd d …df f¡}t|| jƒ}dgd dg dgd  }t||jƒ d S )N)r   r   r   r   r   )r   Zzerosr   r   r   r   r   )r   Úzeror   r   r   r   r   r   Útest_contrast2   s
    
zTestContrast.test_contrast2c                 C   st   t  | jt j | j¡¡}t  d¡| }t  |tj d¡¡}t  	|| jd d …df f¡}t
|| jƒ}t|jjdƒ d S )Nr   )r   é   r   )r   )r   Údotr   ZlinalgZpinvÚidentityr   r	   r   r   r   r   r   Úshape)r   ÚPZresidÚnoiser   r   r   r   r   Útest_contrast3   s    zTestContrast.test_contrast3c                 C   s:   t  | j| jd d …df f¡}t| jd d …df |ƒ}d S )Nr   )r   r   r   r   )r   ZX2r   r   r   r   Útest_estimable$   s    zTestContrast.test_estimableN)	Ú__name__Ú
__module__Ú__qualname__Úclassmethodr   r   r   r%   r&   r   r   r   r   r      s   
	r   c                  C   s
  t jdddd�} t  dddgdddgdddgdddgdddgdddgg¡}t | ¡}t||ƒ t ddd¡}t||ƒ t  ddddddgddddddgddddddgddddddgddddddgddddddgg¡}tj| d	d
d�}t||ƒ t d	dd
¡}t||ƒ d S )Né   é   éÿÿÿÿ)Úkg      ð?g        g      ð¿r   é   r   )Zk_paramsZ	idx_start)r   ÚeyeÚarrayÚsmcZ_constraints_factorr   Z_contrast_pairs)Zcm_ZcpairsZc0Úc1Zcpairs2r   r   r   Útest_constraints*   s.    û


û
r4   )r   r   Znumpy.randomZnumpy.testingr   r   Zstatsmodels.stats.contrastr   ÚstatsZcontrastr2   r   r4   r   r   r   r   Ú<module>   s   "