
    'YHh                         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:                  j=                  d eee            d        Z d Z!d	 Z"y)
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                  P	   t        j                  d      j                  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k7        }||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             y )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        c/var/www/html/planif/env/lib/python3.12/site-packages/statsmodels/tools/tests/test_eval_measures.pytest_eval_measuresr>       s%   
		"a#A
AQA
N+Q"A
N3Q%q)QBHH%FGHQ"BHH-F$GHQ

J	
 Q
@A
 a%C
((16
CH#HFFCawwrzz#(A.45HaX.#&C# wwrzz#(A.45Ha!,h71rxx(FGH11%rxx0F'GHA)C DEAA&1G(HIAA&1K(LM1a"((+E"FG1aa("((3I*JKaRXX&@ABa#RXX.D%EFAq!288,F#GHAqq)2884J+KLaRXX&IJKa#RXX.B%C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       y )	Nr   
   g      r-      decimalT)islog)r.   r2   dtypefloatr   log)icic_sigs     r=   test_ic_equivalencerK   Y   s     bhhqk2q!''5000"((1+r1%++u444
;$b!,r16!R3CR rvvc{B.q"a0@"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       y )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QAAq!q1uC(AECK88
 Ar1rvvay1}bAQABFF266!9,=(=(A2Nr?   c           
         t         j                  j                  d      }t         j                  j                  d      }t        ||d       }t        |j	                         |j	                               }t        ||       t        ||d      }|j                  dk(  sJ t        d      D cg c]  }t        |d d |f   |d d |f          }}t        |t        j                  |             t        ||d      }|j                  dk(  sJ t        d      D cg c]  }t        ||d d f   ||d d f          }	}t        |t        j                  |	             t        ||k7        sJ y c c}w c c}w )N)r!   r!   r   r   )r!   r!   r   )r.   randomstandard_normalr   ravelr   shaperanger   r2   any)
reset_randomstatex1x2ax_noneax_none_directax_0iax_0_directax_1ax_1_directs
             r=   test_iqr_axisra   z   s:   		"	":	.B		"	":	.B"bt$GRXXZ0N.)r2AD::49#J?q3r!Q$xAqD*?K?bhh{34r2AD::49#J?q3r!Q$xAqD*?K?bhh{34tt| @
 @s   -!E.!E3)#__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   ra    r?   r=   <module>rm      s   
  ;     ,2Ej D#tj)Z
8 c#w&78 9O"r?   