B
    Z_                 @   s  d dl Zd dlmZ d dlmZ dddZdd	d
ZedkrdddgZ	dddgZ
dZdZerxdD ]Zd dlZe Zeded\ZZZed ed ee edede ede e  ed eee ed ee ed eeed  qfW dS )     N)arma_generate_sample)Arma
           ?c          	   C   s  |dkrdddg}|dkr$dddg}g }g }xt | D ]}t|||d || d }|| 8 }t|}	|	d\}
}}}}||
 |	|
}tt	||| }|dk	r||tt
|  q6|tjt|
  q6W tj|d	d |d	d f t|t|fS )
zrun Monte Carlo for ARMA(2,2)

    DGP parameters currently hard coded
    also sample size `nsample`

    was not a self contained function, used instances from outer scope
      now corrected

    Ng      ?ggg333333?g?i  )   r      )ranger   meanr   ZfitappendZ	geterrorsnpsqrtdotZdiagnanZ
zeros_likeZr_Zarray)niternsamplearmasigZresultsZresults_bse_Zy2Zarest2Zrhohat2aZcov_x2aZinfodictZmesgZierZerr2aZsige2a r   Blib/python3.7/site-packages/statsmodels/sandbox/mcevaluate/arma.pymcarma22	   s$    



r   c             C   s   |d krt | jd }t | d}td|  | |  } td tt | | d d td t| | d td tt | | d td tt | | | d	 d td
 tt t 	| | d td t| |kd d S )Nr   z!fractions of iterations with nansZRMSEr   r   z	mean biaszmedian biaszmedian bias percentd   zmedian absolute errorzpositive error fraction)
r   ZzerosshapeZisnananyprintr
   r   Zmedianabs)ZresrtZnanrowsr   r   r   
mc_summary-   s"    
r   __main__g      ?ggg333333?g?   T)g?g      ?g      ?r   )r   r   z
Results for Monte Carlotruez	nsample =zsigma = zelapsed time for Monte Carloz
MC of rho versus truez
MC of bse versus zeroz
MC of bse versus std)r   r   NNr   )N)Znumpyr   Zstatsmodels.tsa.arima_processr   Zstatsmodels.tsa.arma_mler   r   r   __name__r   r   r   Zrun_mcr   ZtimeZt0r   Zres_rhoZres_bser   Zstdr   r   r   r   <module>   s2   
$

8



