
    !g}	                     \    d dl Zd dlZ d dlmZmZ d dlmZ d dlmc m	Z
  G d d      Zd Zy)    N)assert_almost_equalassert_equal)Contrastc                   4    e Zd Zed        Zd Zd Zd Zd Zy)TestContrastc                     t         j                  j                  d       t         j                  j                  d      | _        y )Ni1  )(   
   )numpyrandomseedstandard_normalX)clss    b/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/statsmodels/stats/tests/test_contrast.pysetup_classzTestContrast.setup_class	   s*    % ,,W5    c                    t        j                  | j                  d d df   | j                  d d df   f      }t        || j                        }dgdgdz  z   dgdz  dgz   dgdz  z   g}t	        ||j
                         y )Nr         	      )npcolumn_stackr   r   r   contrast_matrix)selftermctest_contrasts       r   test_contrast1zTestContrast.test_contrast1   sz    qsTVVAaC[9:T466"s1uqc!eqckQCE&9:M1+<+<=r   c                     t        j                  d      }t        j                  || j                  d d df   f      }t	        || j                        }dgdz  dgz   dgdz  z   }t        ||j                         y )N)r	   r   r   r   r   )r   zerosr   r   r   r   r   )r   zeror   r   r   s        r   test_contrast2zTestContrast.test_contrast2   sj    xxdffQqSk23T466"Aqc!e+M1+<+<=r   c                    t        j                  | j                  t         j                  j	                  | j                              }t        j
                  d      |z
  }t        j                  |t        j                  j                  d            }t        j                  || j                  d d df   f      }t        || j                        }t        |j                  j                  d       y )Nr	   )r	      r   )r
   )r   dotr   linalgpinvidentityr   r   r   r   r   r   r   shape)r   Presidnoiser   r   s         r   test_contrast3zTestContrast.test_contrast3   s    FF466299>>$&&12B!#uell::7CDtvvac{34T466"Q&&,,e4r   c                     t        j                  | j                  | j                  d d df   f      }t        | j                  d d df   |      }y )Nr&   )r   r   r   r   )r   X2r   s      r   test_estimablezTestContrast.test_estimable$   s=    __dffdffQqSk23TVVAaC[$r   N)	__name__
__module____qualname__classmethodr   r    r$   r/   r2    r   r   r   r      s(    6 6>>5%r   r   c            	         t        j                  ddd      } t        j                  g dg dg dg dg d	g d
g      }t        j                  |       }t        ||       t        j                  ddd      }t        ||       t        j                  g dg dg dg dg dg dg      }t        j                  | dd      }t        ||       t        j                  ddd      }t        ||       y )N      )k)      ?        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>   )r>   r>   r?   r=   r>   r>      r   )k_params	idx_start)r   eyearraysmc_constraints_factorr   _contrast_pairs)cm_cpairsc0c1cpairs2s        r   test_constraintsrM   *   s    
&&A
CXX&&&&&( )F 
	 	 	%BV			Q1	%BV hh6666668 9G 
	 	 qA	>BW			Q1	%BWr   )r   r   numpy.randomnumpy.testingr   r   statsmodels.stats.contrastr   statscontrastrE   r   rM   r7   r   r   <module>rS      s'      ; / ( (% %Dr   