
    M/Ph                         d Z ddlZddlmZmZ ddlZddlmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d Zee
eegZe	eeegZej                            d eee                    d             Z d Z!d	 Z"dS )
z5
Created on Tue Nov 08 22:28:48 2011

@author: josef
    N)assert_almost_equalassert_equal)aic	aic_sigmaaicc
aicc_sigmabiasbic	bic_sigmahqic
hqic_sigmaiqrmaxabsmeanabs	medianabs
medianbiasmsermsermspevarec                  
   t          j        d                              dd          } t          j        d          }t	          t          | |          dt          j        d          z             t	          t          | |d          dt          j        d          z             t	          t          | |d           d           t	          t          | |          t          j        g d	                     t	          t          | |d          t          j        g d
                     t          t          | |          t          j        g d                     t          t          | |d          t          j        g d                     | |z
  }t          j
        | dk              }||xx         | |         z  cc<   t           j        |t          j
        | dk              <   t          j        t          j        |dz  d          dz            }t          t          | |          |           d|t          j
        t          j        |                    <   t          j        t          j        |dz  d          dz            }t          t          | |d          |           t	          t!          | |          t          j        g d                     t	          t!          | |d          t          j        g d                     t	          t#          | |          t          j        g d                     t	          t#          | |d          t          j        g d                     t	          t#          | |d          t          j        g d                     t	          t%          | |          t          j        g d                     t	          t%          | |d          t          j        g d                     t	          t'          | |          t          j        g d                     t	          t'          | |d          t          j        g d                     t	          t)          | |          t          j        g d                     t	          t)          | |d          t          j        g d                     t	          t+          | |          t          j        g d                     t	          t+          | |d          t          j        g d                     d S )N         )r   r      axis   	   )g     `R@g     U@g     Y@g     `^@g     a@)      @g      C@g     ^@g      p@)gO6Q|%!@g{JR"@gLW,UX$@gUt֟&@g2n'@)gn]z?g$\@g+Z.&@g0@r   d   g        )zeros)g      ,@g      .@      0@g      1@      2@)r    g       @g      *@r$   )g      @      @      !@      #@      %@)gffffff?      @      &@r#   )g      @r%   r&   r'   r(   )      ?r)   r*   r#   )     @?@r,   r,   r,   r,   )       @r-   r-   r-   )nparangereshapeonesr   r   r   arrayr   r   wherenansqrtnanmeanr   isnanr   r   r   r	   r   r   )xyerrlocexpecteds        j/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/tools/tests/test_eval_measures.pytest_eval_measuresr>       s   
	"a##A
AQA

N+++Q"""A

N333Q%%%q)))QBH%F%F%FGGHHHQ"""BH-F-F-F$G$GHHHQ


JJJ	
 	
   Q
@@@AA  
 a%C
(16

CHHH#HHHFCawrz#(A..455HaX...#&C# wrz#(A..455Ha!,,,h7771rx(F(F(FGGHHH11%%%rx0F0F0F'G'GHHHA)C)C)C D DEEEAA&&&1G1G1G(H(HIIIAA&&&1K1K1K(L(LMMM1a"(+E+E+E"F"FGGG1aa((("(3I3I3I*J*JKKKaRX&@&@&@AABBBa###RX.D.D.D%E%EFFFAq!!28,F,F,F#G#GHHHAqq)))284J4J4J+K+KLLLaRX&I&I&IJJKKKa###RX.B.B.B%C%CDDDDD    z	ic,ic_sigc                     | t          j        d          dd          j        t          k    sJ  |t          j        d          dd          j        t          k    sJ t	           | dt          j        d          z  dd          dz   |ddd          d           t	           |t          j        d          ddd           |ddd          d           d S )	Nr   
   g      r-      decimalT)islog)r.   r2   dtypefloatr   log)icic_sigs     r=   test_ic_equivalencerK   Y   s     2bhqkk2q!!'500006"(1++r1%%+u4444
;$b!,,r166!R3C3CR    rvc{{B...q"a0@0@"     r?   c            	         d} d}t          t          ddd          d|z  d           t          t          ddd          t          d| |          d|z  |dz   z  | |z
  dz
  z  z   d           t          t          ddd          t	          j        |           |z  d           t          t          ddd          dt	          j        t	          j        |                     z  |z  d           d S )NrA   r   r   rB   rC   r+   )r   r   r   r
   r.   rH   r   )nks     r=   test_icrO   i   s     	A	AAr1q1ub9999QAAq!q1uC(AECK88   
 Ar1rvayy1}bAAAAQABF26!99,=,=(=(A2NNNNNNr?   c                    t           j                            d          t           j                            d          t          d           }t                                                                                    }t          ||           t          d          }|j        dk    sJ fdt          d          D             }t          |t          j	        |                     t          d          }|j        dk    sJ fdt          d          D             }t          |t          j	        |                     t          ||k              sJ d S )	N)r!   r!   r   r   )r!   c                 X    g | ]&}t          d d |f         d d |f                   'S Nr   .0ix1x2s     r=   
<listcomp>z!test_iqr_axis.<locals>.<listcomp>   s;    ???q3r!!!Q$xAAAqD**???r?   r!   r   c           	      X    g | ]&}t          |d d f         |d d f                   'S rR   rS   rT   s     r=   rY   z!test_iqr_axis.<locals>.<listcomp>   s;    ???q3r!QQQ$xAqqqD**???r?   )r.   randomstandard_normalr   ravelr   shaperanger   r2   any)	reset_randomstateax_noneax_none_directax_0ax_0_directax_1ax_1_directrW   rX   s	          @@r=   test_iqr_axisrh   z   sU   		"	":	.	.B		"	":	.	.B"bt$$$GRXXZZ00N.)))r2AD:?????E#JJ???Kbh{33444r2AD:?????E#JJ???Kbh{33444tt|r?   )#__doc__numpyr.   numpy.testingr   r   pyteststatsmodels.tools.eval_measuresr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r>   icsics_sigmarkparametrizeziprK   rO   rh    r?   r=   <module>rt      s   
     ; ; ; ; ; ; ; ;                                        ,2E 2E 2Ej D#tj)Z
8 cc#w&7&788  98O O O"    r?   