
    'YHh'                     p    d Z ddlZddlmZmZ ddlZddlm	Z	m
Z
 ddlmZ ddlmZ d Z G d d	      Zd
 Zy)z>
Created on Sun Apr 20 17:12:53 2014

author: Josef Perktold

    N)assert_allcloseassert_equal)OLSWLS)wls_prediction_std)get_predictionc                  @   d} t        j                  dd|       }t         j                  ||dz
  dz  t        j                  |       f   }t         j                  j                  d       g d}t        j                  ||      }t        j                  |       }d|t        | dz  d	z        d  d
}|||z  t         j                  j                  |       z  z   }|d d ddgf   }t        ||      j                         }	|	j                         }
|	j                  |t        j                  |
|j                        j                  z  j                  d      z   }t        j                  |      }t!        |	      \  }}}t         j"                  j%                  ||d       d}||z  }t         j"                  j'                  ||	j(                  |z   d       t         j"                  j'                  ||	j(                  |z
  d       t!        |	|d dd d f         \  }}}t         j"                  j+                  ||d d        t         j"                  j'                  ||	j(                  d d |d d z   d       t         j"                  j'                  ||	j(                  d d |d d z
  d       t-        ||d|z        j                         }|j                         }
|j                  |z  |t        j                  |
|j                        j                  z  j                  d      z   }t        j                  |      }t!        |      \  }}}t         j"                  j%                  ||d       d}||z  }t         j"                  j'                  ||j(                  |z   d       t         j"                  j'                  ||j(                  |z
  d       t!        ||dd d d f   d      \  }}}t         j"                  j+                  ||d          t!        ||dd d f   d      \  }}}t         j"                  j+                  ||d          t!        ||dd d d f   d      \  }}}t         j"                  j+                  ||dd         t!        ||dd d d f   ddg      \  }}}t         j"                  j+                  ||dd         t!        ||d dd d f         \  }}}t         j"                  j+                  ||d d        t         j"                  j'                  ||j(                  d d |d d z   d       t         j"                  j'                  ||j(                  d d |d d z
  d       t         j"                  j/                  t0        t         ||d   d       t!        ||dd d d f         d   dz  }t        j                  d
dd      D ]U  }t!        ||dd d d f   d|z        d   dz  }t         j"                  j'                  |||j2                  |dz
  z  z          W y )N2   r            )      ?{Gz      @         @
   r   size      gM @g:0yE>rtol      ?g      @weights)r   r   )nplinspacec_onesrandomseeddotintnormalr   fit
cov_params	mse_residTsumsqrtr   testingassert_almost_equalr   fittedvaluesr   r   assert_raises
ValueErrorscale)nsamplex1xbetay_true2wsigy2x2res2covbpredvarpredstdprstdiv_liv_uqci_halfres3sew1wvsews                         b/var/www/html/planif/env/lib/python3.12/site-packages/statsmodels/regression/tests/test_predict.pytest_predict_serL      s~   
 G	QG	$B
b26A+rwww//0AIINN1DffQoG
A!"Ac'B,

C	37RYY--7-;;	;B	
1aU7B r2;??D ??DnnRVVD"$$%7%9%9 9>>qAAGgggG*40E4JJ""5'26 	A'kGJJtT%6%6%@tLJJtT%6%6%@tL*4BQBqD:E4JJE5!9-JJtT%6%6r%:WRa[%H$(  *JJtT%6%6r%:WRa[%H$(  *
 r2rAv""$D ??Dnnq Bbdd);)=)=$=#B#B1#EEGgggG*40E4JJ""5'26 	A'kGJJtT%6%6%@tLJJtT%6%6%@tL +4BCEBGE4JJE59-*4BqD2FE4JJE59-*4BCEBGE4JJE5:.*4BCEQFKE4JJE5:.*4BQBqD:E4JJE5!9-JJtT%6%6r%:WRa[%H$(  *JJtT%6%6r%:WRa[%H$(  *
 JJZ);T2d8%'  ) dBrs1uI.q114Dkk#q!$ F r"#a%y"r'B1EqH


""3tzzR!V/D(DEF    c                   (    e Zd Zed        Zd Zd Zy)TestWLSPredictionc                    d}t        j                  dd|      }t        j                  ||dz
  dz  f      }ddlm}  ||      }g d}d}t        j
                  |      }d	|t        |d
z  dz        d  t        j                  ||      }t         j                  j                  |      }	|||z  |	z  z   }
|d d ddgf   }t        |
|d|z        }|j                         | _        y )Nr
   r   r   r   r   )add_constant)r   r   r   r   r   r   r   r   r   r   r   )r    r!   column_stackstatsmodels.tools.toolsrQ   r#   r'   r&   r$   r(   r   r)   res_wls)clsr5   r7   XrQ   r8   r;   r:   y_trueeymod_wlss               rK   setup_classzTestWLSPrediction.setup_classn   s    
 KK2w'OOQQ
O,8OGGG%&#glR
 
!"4II'*S1Wq[ a1gJ
 aBqD)kkmrM   c                    | j                   }t        |      \  }}}t        |      }|j                  d      }t	        |j
                  |d       t	        |t        j                  ||f      d       |j                         }g d}t        |j                  j                         |       |j                         }	|	j                  d      }
t	        |	j
                  |d       t	        |
t        j                  ||f      d       |	j                         }t        |j                  j                         |       |j                  j                  j                  d      }|j                  |g      }|j                  d      }|j                  |j                               }|j                  d      }t	        |j
                  |j
                  d       t	        ||d       |j                         }t        |j                  j                   dg       |j                  j                  dd  }|j                  |      }|j                  d      }|j                  |j                               }|j                  d      }t	        |j
                  |j
                  d       t	        ||d       |j                         }t        |j                  j                   ddg       y )	NT)obsvIh%<=r   )meanmean_semean_ci_lowermean_ci_upperobs_ci_lowerobs_ci_upperr   r   r   )rT   r   r   conf_intr   se_obsr    rR   summary_framer   columnstolistmodelexogr_   indexvalues)selfrT   rB   rC   rD   pred_rescisf	col_names	pred_res2ci2sf2r7   	pred_res3ci3
pred_res3bci3bres_dfs                     rK   test_cizTestWLSPrediction.test_ci   s]   ,,.w7tT!'*4(U;BOOT4L9F##%5	RZZ&&()4**,	  T *	((%e<R__dD\:G%%'S[['')95 MM##A&**A3/	  T *++AHHJ7
""t",
))9+;+;%Hc.))+V\\((1#.MMrs#**1-	  T *++AHHJ7
""t",
))9+;+;%Hc.))+V\\((1a&1rM   c                 	   ddl m} | j                  }|j                  }|j                  |j
                  |j                  }}}t        j                  |      } |||z  ||d d d f   z        }|j                  d      }	|	j                         }
|
j                         }|j                         }|j                         }d}t        |j                  d | |j                  d |d df          |j                         }	|	j                         }
|
j                         }|j                  d      }|j                         }|j                         }t        |j                  d | |j                  d |d df          ddlm}  ||	j                   |	j#                               }t        j$                  t        j&                  |	j                         |	j(                  t        j&                  |	j                         z  t        j&                  |	j+                               f      }t        |j                         j                  |d	
       ddlm}  ||	j                   |	j#                         |j1                               }t        |j2                  |	j2                  d	
       t        |j4                  |	j(                  d	
       |j7                         }t        |d   |	j2                  d	
       t        |d   |	j8                  d	
       |j                         }	|	j                  |      }
|	j                  j
                  j;                  d      }|	j                  |      }|j+                         }|	j                  |j=                               }|j+                         }t        |j4                  |j4                  d	
       t        ||d	
       |j                         }t?        |j@                  j                  dg       |	j                  j
                  dd  }|	j                  |      }|j+                         }|	j                  |j=                               }|j+                         }t        |j4                  |j4                  d	
       t        ||d	
       |j                         }t?        |j@                  j                  ddg       y )Nr   )GLMT)use_t      F)params_transform_univariater^   r   )links)linkr   r   )!+statsmodels.genmod.generalized_linear_modelr}   rT   rj   endogrk   r   r    r.   r)   r   rg   r   rm   &statsmodels.base._prediction_inferencer   paramsr*   rR   expbsere   statsmodels.genmod.familiesr   Identitytvaluesse_meant_testpvaluesr_   ri   r   rl   )rn   r}   rT   rZ   rY   rV   wiw_sqrtmod_glmres_glmpred_glmsf_glmpred_res_wlssf_wls	n_comparer   ratesrates2r   ptpttr7   rv   rw   rx   ry   rz   s                              rK   test_glmzTestWLSPrediction.test_glm   s   C,,--==',,b1a&j!fQtVn"45 ++D+)))+'')--/++-	jy1jyj"1"n5	7
 ++-))+'')++E+*--/++-jy1jyj"1"n5	7
	 ,GNNG<N<N<PQ"&&"8")++w~~0F"F"$&&)9)9);"<"> ? 	++-44f5I5 )NNG..0u~~7G
 	

GOO%@

GKKe<iikAe<Ae< ++-))!, MM##A&**1-	  "++AHHJ7
""$
**I,=,=EJc.))+V\\((1#.MMrs#**1-	  "++AHHJ7
""$
**I,=,=EJc.))+V\\((1a&1rM   N)__name__
__module____qualname__classmethodr[   r{   r    rM   rK   rO   rO   l   s     $ $0+2\R2rM   rO   c                     t        d      D  cg c]%  } | t        j                  j                  d      z   ' }} t        d      D  cg c]  } |  }} t	        ||t        d      D cg c]  }d c}      j                         }|j                   |j                          |j                  d      j                  }|j                  dg      }|j                  }t        ||       |j                          |j                  t        j                  dg            j                  }t        ||       y c c} w c c} w c c}w )Nd   g?)r4   r   r   )ranger    r$   r(   r   r)   r4   remove_datar   predicted_meanr   rg   pdSeries)	ir   rk   _rj   scalarpredone_dseriess	            rK   test_predict_remove_datar   
  s    6;CjAQ!!!,,AEASz"!A"D"ts%<Aa%<=AACE	KK	!!!$33F$DEFE"!!"))QC.1@@FFF# B"%<s   *D2	D7&	D<)__doc__numpyr    numpy.testingr   r   pandasr   #statsmodels.regression.linear_modelr   r   &statsmodels.sandbox.regression.predstdr   "statsmodels.regression._predictionr   rL   rO   r   r   rM   rK   <module>r      s8     7  8 E =XFv[2 [2|$rM   