
    !g7                     Z   d Z ddlmZ ddlZddlZddlmZ ddlm	Z
 ddlmZ ddlmZ  ej                  d	       ej                   j#                  d
       dZdZdZd\  ZZ ej.                  eee      Z ej2                  dez        Z ej6                  eej9                         z  dz  dez  f      Zedddddf    ej<                  edz         ddddf   z  j?                  ed      Z  eedz   dz        Z!e!edz   = e dde!f   Z"e jG                  d      Z$e$Z%eZ&e$eej                   jO                  e      z  z   Z(dZ)e)dk(  r e*d        ejV                         Z,e,jZ                  j]                  e%      Z/ ej`                  e,jZ                  j]                  e%      D  cg c]  } ejb                  je                  |        c}       Z3e(jh                  e3_4         e
e3e&e,      Z5 ej                         Z6e5jo                  e3        ej                         Z8 e*e8e6z
         e,jZ                  j]                  e(      Z9e3Z:e)dk(  r e*d        ejv                         Z,e,jZ                  j]                  e%      Z9 ej`                  e,jZ                  j]                  e%      D cg c]  }ejx                  je                  |       c}e=      Z:e(jh                  e:_4         e
e:e&e,      Z5 ej                         Z6e5jo                  e:        ej                         Z8 e*e8e6z
         e5j|                  D ]  Z? e*e?j                          e)dkD  rLddlAmBZC  eCj                           ej                  e5j                  ddd         D ]  ZG eCj                  eGj                            eCj                           eCj                  e         eCj                  e$d       e5j                  j                  ZL eCj                           eCj                  ddd        eCj                  e:d        eCj                  e9dd        eCj                  eLdd        eCj                  d        eCj                  d       dZP eQg d e%edddf   edddf   g      D ]  \  ZRZS ej                  eS      ZU eCj                  ddeP        eCj                  eSeU   e:eU   d!d"#        eCj                  eSeU   e9eU   d$d        eCj                  eSeU   eLeU   d%d        eCj                  d        eCj                  d&eRz          ePdz  ZP  ee:e"e,      jo                         ZVedddf   Zedddf   Ze dddedz   f   jG                  d      dz
  ZWe ddedz   df   jG                  d      dz
  ZX eCj                           eCj                  eeWd'        eCj                  e e5j|                  d   e      e5j|                  d   j                  d   z
  d(        eCj                           eCj                  eeXd'        eCj                  e e5j|                  d   e      e5j|                  d   j                  d   z
  d(        eCj                          yyc c} w c c}w ))zExample for GAM with Poisson Model and PolynomialSmoother

This example was written as a test case.
The data generating process is chosen so the parameters are well identified
and estimated.

Created on Fri Nov 04 13:45:43 2011

Author: Josef Perktold
    )lrangeN)stats)Model)family)GLMraise)alli)    g?i  )g      r
         g      ?binomialPoisson   )lw.zb-true)labelzr-GAMz
upper left)loczgam.GAM Poisson)zx1x2zk.g      ?)alphazb.zr.zgam.GAM Poisson )	linewidthr)Z__doc__statsmodels.compat.pythonr   timenumpynpscipyr   statsmodels.sandbox.gamr   r   statsmodels.genmod.familiesr   +statsmodels.genmod.generalized_linear_modelr   seterrrandomseedordersigma_noisenobslbublinspacer   sinr   column_stackmaxxarangereshapeexogidxexog_reducedsumy_truer   drandnyexampleprintBinomialflinkinversemu_trueasarray	bernoullirvsbshapemtocfitticyppr   poissonfloat	smoothersssparamsmatplotlib.pyplotpyplotpltfigurearrayhistoryiplotTresultsmuy_predsubplotlegendtitlecounterzipiixxargsortsortidxresf1f2show)rN   vals   00o/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/statsmodels/sandbox/nonparametric/tests/ex_gam_new.py<module>ro      s  	 -    0 . ; 			g  		w 
 	
	BR[[RRVVAbD\BOOR[]BrE*+	!Ad(YRYYuQw'dA66??bIeAgq[aLAcE{	!

[299??4000

a<	*AffnnQG

AFFNN14EFqEOO''*FGAggAGAqA
$))+CEE!H
$))+C	#c'N	
	B	A a<	)A	
	B

affnnQ6GHsEMM%%c*H	AggAGAqA
$))+CEE!H
$))+C	#c'N
++ B	")) Q;#CJJLRXXaii"Q'(  CJJLCHHTNCHHVYY\\FCJJLCKK!ACHHQCHHRV$CHHVT'CJJ< CII G'!QqsVQqsV)<= 	B"**R.Aq'"Gaj$c:Gbk4v>GfWot5A

|$		$r)*1	 aa
(
,
,
.C 
1Q3B	
1Q3B	aqj			a	 1	$B	aaj			a	 1	$BCJJL CHHRq!CHHRQ#AKKN$9$9!$<<cBCJJLCHHRq!CHHRQ#AKKN$9$9!$<<cB CHHJg ; G" Is   '"Z#)"Z(