U
    Ãmœd2  ã                >   @   s¸  d Z ddlZddlmZmZmZ ddlmZm	Z	m
Z
mZ ddlmZ e d ¡ e¡ dd¡Zedd…d	d…f Zdd
d	gdddgdd	dggZe 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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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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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¡Zdddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,gZd-d.d/d0d1d2gZd3d4„ Zd5d6„ ZG d7d8„ d8ƒZG d9d:„ d:eƒZG d;d<„ d<eƒZd=d>„ Ze dddd
dddddddd?d	dddd	dd
ddd?d
d?dd
dd
ddddddddd	ddd
dd	d
d
ddd	d?d	d	d	dddd	d	ddddg<¡jd@ddAdB�Zdddddddddddddddddd d!d"gZ d-d.d/gZ!dCdD„ Z"dEdF„ Z#dGdH„ Z$dIdJ„ Z%dS )Kz>

Created on Mon Dec 10 09:18:14 2012

Author: Josef Perktold
é    N)Úassert_almost_equalÚassert_equalÚassert_allclose)Úfleiss_kappaÚcohens_kappaÚto_tableÚaggregate_raters)ÚHolderzñ1 	0 	0 	0 	0 	14 	1.000
2 	0 	2 	6 	4 	2 	0.253
3 	0 	0 	3 	5 	6 	0.308
4 	0 	3 	9 	2 	0 	0.440
5 	2 	2 	8 	1 	1 	0.330
6 	7 	7 	0 	0 	0 	0.462
7 	3 	2 	6 	3 	0 	0.242
8 	2 	5 	3 	2 	2 	0.176
9 	6 	5 	2 	1 	0 	0.286
10 	0 	2 	2 	3 	7 	0.286é
   éÿÿÿÿé   é   é   é   é   é   Ú1Ú2Ú3Ú4Ú5Ú6Ú7Ú8Ú9Ú10Z11Z12Z13Z14Z15Z16Z17Z18Z19Z20Ú21Z22Z23Z24Z25Z26Ú27Z28Z29Z30Zrater1Zrater2Zrater3Zrater4Zrater5Zrater6c                  C   s   d} t ttƒ| dd� d S )Ngáz®GáÊ?r   ©Údecimal)r   r   Útable1)Zkappa_wp© r!   úa/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/statsmodels/stats/tests/test_inter_rater.pyÚtest_fleiss_kappaG   s    r#   c                  C   s  ddgddgg} t t| dd�dƒ ddgddgg} tt| ƒdd	d
� tt| dd�dd	d
� ddgddgg} tt| dd�dd	d
� tt| dd�dd	d
� ddgddgg} tt| ƒdƒ tt| dd�dƒ dddgdddgg} tt| ƒdd	d
� tt| dd�dd	d
� d S )Né   r   Zunif)Úmethodr   gö(\�Âõ@g{®Gáz„?gtE)!XUÅ¿gTäqs*Ù>)Zatolg¥¼VBwÉï?r   r   Úfleissga‰”M¹Ä?ZrandolphgÑÍþ@¹mË?Úuniformé   g£®µ÷©ªæ?ZrandgŒLÀ¯‘$é?)r   r   r   )Útabler!   r!   r"   Útest_fleis_randolphM   s    r*   c                   @   s   e Zd Zdd„ ZdS )ÚCheckCohensc                 C   sR   | j }| j}|j|j|j|j|j|j|j|j	g}t
||dd� tt|ƒ| jƒ d S )Nr   r   )ÚresÚres2ÚkappaZ	std_kappaZ	kappa_lowZ	kappa_uppZ
std_kappa0Úz_valueZpvalue_one_sidedÚpvalue_two_sidedr   r   ÚstrÚ
res_string)Úselfr,   r-   Zres_r!   r!   r"   Útest_resultsr   s      ÿzCheckCohens.test_resultsN)Ú__name__Ú
__module__Ú__qualname__r4   r!   r!   r!   r"   r+   p   s   r+   c                   @   s    e Zd Zedd„ ƒZdd„ ZdS )ÚTestUnweightedCohensc                 C   s6   t tƒ| _ddddg}ddddg}|| | _d	| _d S )
NgéH.ÿ!ýÞ?gD‹lçû©Á?g˜Ý“‡…ZË?gƒQI�€&è?g­ú\mÅþÂ?gÒo_Î
@ga2U0*©C?g/n£¼R?a                    Simple Kappa Coefficient
              --------------------------------
              Kappa                     0.4842
              ASE                       0.1380
              95% Lower Conf Limit      0.2137
              95% Upper Conf Limit      0.7547

                 Test of H0: Simple Kappa = 0

              ASE under H0              0.1484
              Z                         3.2626
              One-sided Pr >  Z         0.0006
              Two-sided Pr > |Z|        0.0011
©r   Útable10r,   r-   r2   )ÚclsZ	res10_sasZres10_sash0r!   r!   r"   Úsetup_class   s
    

z TestUnweightedCohens.setup_classc                 C   s$   t tdd�}t|| jd dd� d S )NF)Úreturn_resultsr   r   r   ©r   r:   r   r-   ©r3   r.   r!   r!   r"   Útest_option–   s    z TestUnweightedCohens.test_optionN©r5   r6   r7   Úclassmethodr<   r@   r!   r!   r!   r"   r8   }   s   
r8   c                   @   s    e Zd Zedd„ ƒZdd„ ZdS )ÚTestWeightedCohensc                 C   s@   t tdddgd�| _ddddg}d	d
ddg}|| | _d| _d S )Nr   r   r   ©ÚweightsgÙ_vOÞ?gJ{ƒ/L¦Â?gV-²�Ç?g:#J{ƒ/è?gÆm4€·@Â?gÿ!ýöu`
@gü©ñÒMb@?gü©ñÒMbP?a                    Weighted Kappa Coefficient
              --------------------------------
              Kappa                     0.4701
              ASE                       0.1457
              95% Lower Conf Limit      0.1845
              95% Upper Conf Limit      0.7558

                 Test of H0: Weighted Kappa = 0

              ASE under H0              0.1426
              Z                         3.2971
              One-sided Pr >  Z         0.0005
              Two-sided Pr > |Z|        0.0010
r9   )r;   Z
res10w_sasZres10w_sash0r!   r!   r"   r<   �   s
    
zTestWeightedCohens.setup_classc                 C   s,   t tdddgdd�}t|| jd dd� d S )Nr   r   r   F)rE   r=   r   r   r>   r?   r!   r!   r"   r@   ´   s    zTestWeightedCohens.test_optionNrA   r!   r!   r!   r"   rC   ›   s   
rC   c                  C   sÎ  t j d¡ t jjdddd�dt  d¡  } t  dddddgdddddgg¡}t  t  || ¡|j¡}t| t  	d¡dkd	d
�}t|t  	d¡d	d
�}t
|j|jdd� t
|j|jdd� t| dt  	d¡ d	d
�}t| dt  	d¡ dd
�}t| |jd dd
�}t| |jd�}t
|j|jdd� t
|j|jdd� t
|j|jdd� t
|j|jdd� t
|j|jdd� t
|j|jdd� t| dt  	d¡d  dd
�}t| dt  	d¡ dd
�}t
|j|jdd� t
|j|jdd� d S )Ni>­” r   r
   )r   r   )Úsizer   r   r   Úlinear©rE   Úwté   r   ÚtoeplitzrD   Ú	quadratic)ÚnpÚrandomÚseedÚrandintÚeyeÚarrayÚdotÚTr   Úaranger   r.   Z	var_kapparE   )r)   ÚmatZ	table_aggÚres1r-   Úres3Úres4r!   r!   r"   Útest_cohenskappa_weights¹   s,     "rZ   r(   é   ÚF)Úorderc                  C   s  t ƒ } t ƒ }d| _d| _d| _d| _d| _d| _d|_d|_d|_d|_d	|_d
|_t ƒ }t ƒ }t ƒ } t ƒ }d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d| _d| _d| _d| _d| _d| _d|_d|_d|_d|_d|_d|_|d d f|d df|t d¡d f|t d¡df| d df| t d¡d df| d t d¡d  df|d!d!d"d"dgdfg}t 	t
d d …d"d …f d"dd#d d$d%gd"dd#d d$d%gf¡}|D ]j\}}}t|ƒt|ƒ }	t|d! ||d&�}
t|
j|jd$|	d'� t|
j|jd|	d'� t|
j|jd$|	d'� �qªd S )(Nz1Cohen's Kappa for 2 Raters (Weights: 0,0,0,1,1,1)ÚKappagÒÑ`	Z7È?Úzg18”ë·@à?gp¾ÇO™‘ã?z1Cohen's Kappa for 2 Raters (Weights: 0,0,1,1,2,2)g�ÕRå Ò?g�ºòYô?g´Ù¢”³Ê?z0Cohen's Kappa for 2 Raters (Weights: unweighted)gH¢ÊBÑÂy¿g+'ë� í®¿gƒyÙÀguî?z+Cohen's Kappa for 2 Raters (Weights: equal)gÝ^Ò­Â?gG’ \…ô?g€ààÁ�É?z-Cohen's Kappa for 2 Raters (Weights: squared)gÝAìL!Ð?gÓ£©žÌÿö?g,;Í†FÃ?z/Cohen's Kappa for 2 Raters (Weights: 0,0,1,1,2)gí\½/Ó›Î?g_Pj”ó?gúÙ›sKÌ?rG   r   rK   rL   r   r   r   r   r   r(   r$   rH   )r   Úerr_msg)r	   r%   Úirr_nameÚvalueÚ	stat_nameÚ	statisticÚp_valuerM   rU   ZhistogramddÚanxietyÚreprr   r   r.   r/   r0   )Zck_w3Zck_w4Zck_w1Zck_w2Z	all_casesÚrr-   ÚwrI   ÚmsgrW   r!   r!   r"   Útest_cohens_kappa_irrå   st    ù
8rk   c                  C   sR   t ƒ } d| _d| _d| _d| _d| _d| _ttƒ\}}t	|ƒ}t
|| jdd� d S )	NzFleiss' Kappa for m Ratersr^   gõ*2: ‰Û?r_   g;�´TÞ¦1@r   r$   r   )r	   r%   ra   rb   rc   rd   re   r   Ú	diagnosesr   r   )r&   Údata_Ú_Z
res1_kappar!   r!   r"   Útest_fleiss_kappa_irr8  s    ro   c                     s"  t ‰ tˆ d d …d d…f d dƒ} t ‡ fdd„tdƒD ƒ¡}t| d |ƒ tˆ d d …d d…f ƒ}t|d |ƒ ddd	d
ddg}tˆ d d …d d…f |ƒ}t|d |ƒ tˆ d d …d d…f d dddd	d
dgd�}tˆ d d …d d…f d dd�}t|d  d¡|ƒ t|d  d¡|ƒ d S )Nr   r   r   c                    s$   g | ]‰ ‡‡ fd d„t dƒD ƒ‘qS )c                    s6   g | ].}ˆ d d …d d…f d ˆ|gk  d¡ ¡ ‘qS )Nr   r   )ÚallÚsum)Ú.0Új)ÚdataÚir!   r"   Ú
<listcomp>I  s   ÿz,test_to_table.<locals>.<listcomp>.<listcomp>r   )Úrange)rr   ©rt   )ru   r"   rv   I  s   þÿz!test_to_table.<locals>.<listcomp>r   g      à?g      ø?g      @g      @g      @g      @r   g      à¿)Úbinsr   )rl   r   rM   Úasarrayrw   r   rq   )rW   Zres0r-   ry   rX   rY   Zres5r!   rx   r"   Útest_to_tableF  s    þ, r{   c                  C   sH   t } t| ƒ\}}t dddddg¡}t| d¡|ƒ tt t ¡|ƒ d S )Né   é   é7   é+   r   )rl   r   rM   rR   r   rq   Úunique)rt   rm   Ú
categoriesZcolsumr!   r!   r"   Útest_aggregate_raters\  s
    r‚   )&Ú__doc__ÚnumpyrM   Znumpy.testingr   r   r   Zstatsmodels.stats.inter_raterr   r   r   r   Zstatsmodels.tools.testingr	   rz   ÚsplitÚfloatZreshapeZtable0r    r:   rR   rl   Zdiagnoses_rownamesZdiagnoses_colnamesr#   r*   r+   r8   rC   rZ   rf   Zanxiety_rownamesZanxiety_colnamesrk   ro   r{   r‚   r!   r!   r!   r"   Ú<module>   sü   

ö
 öþã@##                                                         ý  ü,
S