ó
áp7]c           @   s   d  Z  d d l Z d d l m Z m Z d d l m Z m Z d d l	 m
 Z
 d d l m Z d „  Z d e f d	 „  ƒ  YZ d S(
   s>   
Created on Sun Apr 20 17:12:53 2014

author: Josef Perktold

iÿÿÿÿN(   t   assert_allcloset   assert_equal(   t   OLSt   WLS(   t   wls_prediction_std(   t   get_predictionc          C   s¹  d }  t  j d d |  ƒ } t  j | | d d t  j |  ƒ f } t  j j d ƒ d d d g } t  j | | ƒ } t  j |  ƒ } d	 | t |  d
 d ƒ )d } | | | t  j j d |  ƒ } | d  d  … d d g f } t	 | | ƒ j
 ƒ  }	 |	 j ƒ  }
 |	 j | t  j |
 | j ƒ j j d ƒ } t  j | ƒ } t |	 ƒ \ } } } t  j j | | d ƒ d } | | } t  j j | |	 j | d d ƒt  j j | |	 j | d d ƒt |	 | d  d	 … d  d  … f ƒ \ } } } t  j j | | d	  ƒ t  j j | |	 j d	  | d	  d d ƒt  j j | |	 j d	  | d	  d d ƒt | | d | ƒ j
 ƒ  } | j ƒ  }
 | j | | t  j |
 | j ƒ j j d ƒ } t  j | ƒ } t | ƒ \ } } } t  j j | | d ƒ d } | | } t  j j | | j | d d ƒt  j j | | j | d d ƒt | | d d  … d  d  … f d d ƒ\ } } } t  j j | | d ƒ t | | d d  d  … f d d ƒ\ } } } t  j j | | d ƒ t | | d d  … d  d  … f d d ƒ\ } } } t  j j | | d ƒ t | | d d  … d  d  … f d d	 d	 g ƒ\ } } } t  j j | | d ƒ t | | d  d	 … d  d  … f ƒ \ } } } t  j j | | d	  ƒ t  j j | | j d	  | d	  d d ƒt  j j | | j d	  | d	  d d ƒt  j j t t | | d d d ƒt | | d d  … d  d  … f ƒ d d } xv t  j d d	 d ƒ D]_ } t | | d d  … d  d  … f d d | ƒd d } t  j j | | | j | d ƒ qRWd  S(   Ni2   i    i   i   i   g      à?g{®Gáz„¿g      @i   g      @i
   t   sizei   i   gMúœ¬Ç @t   rtolgê-™—q=g      ð?iÿÿÿÿt   weightsg      @iþÿÿÿiýÿÿÿ(   iÿÿÿÿi    (   t   npt   linspacet   c_t   onest   randomt   seedt   dott   intt   normalR   t   fitt
   cov_paramst	   mse_residt   Tt   sumt   sqrtR   t   testingt   assert_almost_equalR    t   fittedvaluesR   R   t   assert_raisest
   ValueErrort   scale(   t   nsamplet   x1t   xt   betat   y_true2t   wt   sigt   y2t   x2t   res2t   covbt   predvart   predstdt   prstdt   iv_lt   iv_ut   qt   ci_halft   res3t   sew1t   wvt   sew(    (    sH   lib/python2.7/site-packages/statsmodels/regression/tests/test_predict.pyt   test_predict_se   sr    '!,
  .!!0
  4.4:.!!-7t   TestWLSPredictionc           B   s)   e  Z e d  „  ƒ Z d „  Z d „  Z RS(   c         C   s  d } t  j d d | ƒ } t  j | | d d f ƒ } d d l m } | | ƒ } d d	 d
 g } d	 } t  j | ƒ } d | t | d d ƒ )t  j | | ƒ } t  j j	 d | ƒ }	 | | | |	 }
 | d  d  … d d g f } t
 |
 | d d | ƒ} | j ƒ  |  _ d  S(   Ni2   i    i   i   i   iÿÿÿÿ(   t   add_constantg      @g      à?g{®Gáz„¿i   g      @i
   R   i   R   g      ð?(   R	   R
   t   column_stackt   statsmodels.tools.toolsR6   R   R   R   R   R   R   R   t   res_wls(   t   clsR   R    t   XR6   R!   R$   R#   t   y_truet   et   yt   mod_wls(    (    sH   lib/python2.7/site-packages/statsmodels/regression/tests/test_predict.pyt   setup_classn   s    c         C   s~  |  j  } t | ƒ \ } } } t | ƒ } | j d t ƒ } t | j | d d ƒt | t j | | f ƒ d d ƒ| j	 ƒ  } d d d d d d	 g } t
 | j j ƒ  | ƒ | j ƒ  }	 |	 j d t ƒ }
 t |	 j | d d ƒt |
 t j | | f ƒ d d ƒ|	 j	 ƒ  } t
 | j j ƒ  | ƒ | j j j d
 ƒ } | j | ƒ } | j d t ƒ } | j | j ƒ  ƒ } | j d t ƒ } t | j | j d d ƒt | | d d ƒ| j	 ƒ  } t
 | j j d
 g ƒ | j j d } | j | ƒ } | j d t ƒ } | j | j ƒ  ƒ } | j d t ƒ } t | j | j d d ƒt | | d d ƒ| j	 ƒ  } t
 | j j d
 d g ƒ d  S(   Nt   obsR   g‚vIhÂ%<=t   meant   mean_set   mean_ci_lowert   mean_ci_uppert   obs_ci_lowert   obs_ci_upperi    iþÿÿÿi   (   R9   R   R   t   conf_intt   TrueR    t   se_obsR	   R7   t   summary_frameR   t   columnst   tolistt   modelt   exogRB   t   indext   values(   t   selfR9   R+   R,   R-   t   pred_rest   cit   sft	   col_namest	   pred_res2t   ci2t   sf2R    t	   pred_res3t   ci3t
   pred_res3bt   ci3bt   res_df(    (    sH   lib/python2.7/site-packages/statsmodels/regression/tests/test_predict.pyt   test_ciˆ   sD    	""c         C   sð  d d l  m } |  j } | j } | j | j | j } } } t j | ƒ } | | | | | d  d  … d  f ƒ } | j
 d t ƒ }	 |	 j ƒ  }
 |
 j ƒ  } | j ƒ  } | j ƒ  } d } t | j |  | j d  | … d  d … f ƒ | j
 ƒ  }	 |	 j ƒ  }
 |
 j ƒ  } | j
 d t ƒ } | j ƒ  } | j ƒ  } t | j |  | j d  | … d  d … f ƒ d d l m } | |	 j |	 j ƒ  ƒ } t j t j |	 j ƒ |	 j t j |	 j ƒ t j |	 j ƒ  ƒ f ƒ } t | j ƒ  j | d d ƒd d	 l m } | |	 j |	 j ƒ  d
 | j ƒ  ƒ} t | j |	 j d d ƒt | j |	 j d d ƒ| j ƒ  } t | d |	 j d d ƒt | d |	 j d d ƒ| j
 ƒ  }	 |	 j | ƒ }
 |	 j j j  d ƒ } |	 j | ƒ } | j ƒ  } |	 j | j! ƒ  ƒ } | j ƒ  } t | j | j d d ƒt | | d d ƒ| j ƒ  } t" | j# j d g ƒ |	 j j d } |	 j | ƒ } | j ƒ  } |	 j | j! ƒ  ƒ } | j ƒ  } t | j | j d d ƒt | | d d ƒ| j ƒ  } t" | j# j d d g ƒ d  S(   Niÿÿÿÿ(   t   GLMt   use_ti   i   (   t   params_transform_univariateR   g‚vIhÂ%<=(   t   linkst   linki    i   iþÿÿÿ($   t+   statsmodels.genmod.generalized_linear_modelR`   R9   RN   t   endogRO   R   R	   R   t   NoneR   RI   R   RK   R    RQ   t   Falset   statsmodels.genmod._predictionRb   t   paramsR   R7   t   expt   bseRH   t   statsmodels.genmod.familiesRc   t   identityt   tvaluest   se_meant   t_testt   pvaluesRB   RM   R   RP   (   RR   R`   R9   R?   R>   R;   t   wit   w_sqrtt   mod_glmt   res_glmt   pred_glmt   sf_glmt   pred_res_wlst   sf_wlst	   n_compareRb   t   ratest   rates2Rc   t   ptt   pttR    RZ   R[   R\   R]   R^   (    (    sH   lib/python2.7/site-packages/statsmodels/regression/tests/test_predict.pyt   test_glm¶   sn    		'  $(   t   __name__t
   __module__t   classmethodR@   R_   R€   (    (    (    sH   lib/python2.7/site-packages/statsmodels/regression/tests/test_predict.pyR5   l   s   	.(   t   __doc__t   numpyR	   t   numpy.testingR    R   t#   statsmodels.regression.linear_modelR   R   t&   statsmodels.sandbox.regression.predstdR   t"   statsmodels.regression._predictionR   R4   t   objectR5   (    (    (    sH   lib/python2.7/site-packages/statsmodels/regression/tests/test_predict.pyt   <module>   s   	[