Ë
    £�Dj¦  ã                   ó   — d Z ddlZddlmZmZ  G d„ de«      Zedk(  r°ddlm	Z
  ej                  dd¬	«      Z ej                  ed
   ed
   dz  eg d¢   j                  e«      j!                  ej"                  d   d«      f«      Z e
j&                  ed¬«      Z eed   eg d¢¬«      Zej+                  «       Z eej0                  «       yy)z>Restricted least squares

from pandas
License: Simplified BSD
é    N)ÚGLSÚRegressionResultsc                   ó¢   ‡ — e Zd ZdZdˆ fd„	ZdZed„ «       ZdZed„ «       Z	dZ
ed„ «       ZdZed„ «       ZdZed„ «       ZdZed	„ «       Zd
„ Zˆ xZS )ÚRLSa  
    Restricted general least squares model that handles linear constraints

    Parameters
    ----------
    endog : array_like
        n length array containing the dependent variable
    exog : array_like
        n-by-p array of independent variables
    constr : array_like
        k-by-p array of linear constraints
    param : array_like or scalar
        p-by-1 array (or scalar) of constraint parameters
    sigma (None): scalar or array_like
        The weighting matrix of the covariance. No scaling by default (OLS).
        If sigma is a scalar, then it is converted into an n-by-n diagonal
        matrix with sigma as each diagonal element.
        If sigma is an n-length array, then it is assumed to be a diagonal
        matrix with the given sigma on the diagonal (WLS).

    Notes
    -----
    endog = exog * beta + epsilon
    weights' * constr * beta = param

    See Greene and Seaks, "The Restricted Least Squares Estimator:
    A Pedagogical Note", The Review of Economics and Statistics, 1991.
    Nc                 ó†  •— |j                   \  }}t        j                  |«      }|j                  dk(  rd|j                   d   }	}n|j                   \  }}	||	k7  rt	        d«      ‚|| _        || _        || _        t        j                  |«      r|dkD  rt        j                  |f«      |z  }|| _
        |€d}t        j                  |«      rt        j                  |«      |z  }t        j                  |«      }|j                  dk(  rHt        j                  |«      | _        t        j                  t        j                  |«      «      | _        n\|| _        t        j                   j#                  t        j                   j%                  | j                  «      «      j&                  | _        t(        t*        | �[  ||«       y )Né   r   z#Constraints and design do not aligng      ð?)ÚshapeÚnpÚasarrayÚndimÚ	ExceptionÚncoeffsÚnconstraintÚ
constraintÚisscalarÚonesÚparamÚsqueezeÚdiagÚsigmaÚsqrtÚcholsigmainvÚlinalgÚcholeskyÚpinvÚTÚsuperr   Ú__init__)ÚselfÚendogÚexogÚconstrr   r   ÚNÚQÚKÚPÚ	__class__s             €ú[C:\Crop_Prediction\Backend\crop-ai-system\venv\Lib\site-packages\statsmodels/sandbox/rls.pyr   zRLS.__init__(   sM  ø€ Ø�z‰z‰ˆˆ1Ü—‘˜FÓ#ˆØ�;‰;˜!ÒØ�f—l‘l 1‘oˆq‰Aà—<‘<‰DˆAˆqØ�Š6ÜÐAÓBÐBØˆŒØˆÔØ ˆŒÜ�;‰;�uÔ ! a¢%Ü—G‘G˜Q˜D“M EÑ)ˆEØˆŒ
Øˆ=ØˆEÜ�;‰;�uÔÜ—G‘G˜A“J Ñ&ˆEÜ—
‘
˜5Ó!ˆØ�:‰:˜Š?ÜŸ™ ›ˆDŒJÜ "§¡¬¯©°«Ó 7ˆDÕàˆDŒJÜ "§	¡	× 2Ñ 2´2·9±9·>±>À$Ç*Á*Ó3MÓ N× PÑ PˆDÔÜŒc�4Ñ! %¨Õ.ó    c                 óè  — | j                   €Û| j                  }| j                  }t        j                  ||z   ||z   f«      }t        j
                  | j                  j                  | j                  «      |d|…d|…f<   t        j                  | j                  ||f«      }|j                  |d|…|d…f<   |||d…d|…f<   t        j                  ||f«      ||d…|d…f<   || _         | j                   S )z8Whitened exogenous variables augmented with restrictionsN)
Ú_rwexogr   r   r
   ÚzerosÚdotÚwexogr   Úreshaper   )r   r&   r%   Údesignr"   s        r(   Úrwexogz
RLS.rwexogE   sÙ   € ð �<‰<ÐØ—‘ˆAØ× Ñ ˆAÜ—X‘X˜q 1™u a¨!¡e˜nÓ-ˆFÜŸV™V D§J¡J§L¡L°$·*±*Ó=ˆF�2�A�2�r˜�r�6‰NÜ—Z‘Z §¡°!°Q°Ó8ˆFØ#ŸX™XˆF�2�A�2�q‘r�6‰NØ#ˆF�1‘2�r˜�r�6‰NÜŸX™X q¨! fÓ-ˆF�1‘2�q‘r�6‰NØ!ˆDŒLØ�|‰|Ðr)   c                 óŽ   — | j                   €.t        j                  j                  | j                  «      | _         | j                   S )zInverse of self.rwexog)Ú_inv_rwexogr
   r   Úinvr1   )r   s    r(   Ú
inv_rwexogzRLS.inv_rwexogU   s5   € ð ×ÑÐ#Ü!Ÿy™yŸ}™}¨T¯[©[Ó9ˆDÔØ×ÑÐr)   c                 ó.  — | j                   €~| j                  }| j                  }t        j                  ||z   f«      }t        j
                  | j                  j                  | j                  «      |d| | j                  ||d || _         | j                   S )zBWhitened endogenous variable augmented with restriction parametersN)
Ú_rwendogr   r   r
   r,   r-   r.   r   Úwendogr   )r   r&   r%   Úresponses       r(   ÚrwendogzRLS.rwendog]   sx   € ð �=‰=Ð Ø—‘ˆAØ× Ñ ˆAÜ—x‘x  Q¡ Ó)ˆHÜŸ6™6 $§*¡*§,¡,°·±Ó<ˆH�R�aˆLØŸ:™:ˆH�Q�RˆLØ$ˆDŒMØ�}‰}Ðr)   c                 ó~   — | j                   €&| j                  }| j                  d|…d|…f   | _         | j                   S )z'Parameter covariance under restrictionsN)Ú_ncpr   r5   )r   r&   s     r(   Úrnorm_cov_paramszRLS.rnorm_cov_paramsj   s=   € ð �9‰9ÐØ—‘ˆAØŸ™¨¨¨¨B¨Q¨B¨Ñ/ˆDŒIØ�y‰yÐr)   c                 óø  — | j                   €ã| j                  }t        j                  | j                  | j
                  «      }t        j                  | j                  |z
  dz  «      }t        j                  |«      }t        j                  | j                  | j                  j                  «      }t        j                  t        j                  ||«      |j                  «      |z  |z  | _         | j                   S )zu
        Heteroskedasticity-consistent parameter covariance
        Used to calculate White standard errors.
        é   )Ú_wncpÚdf_residr
   r-   r.   Úcoeffsr   r8   Úsumr=   r   )r   ÚdfÚpredÚepsÚsigmaSqÚpinvXs         r(   Úwrnorm_cov_paramszRLS.wrnorm_cov_paramss   s«   € ð �:‰:ÐØ—‘ˆBÜ—6‘6˜$Ÿ*™* d§k¡kÓ2ˆDÜ—'‘'˜4Ÿ;™;¨Ñ-°!Ñ3Ó4ˆCÜ—f‘f˜S“kˆGÜ—F‘F˜4×0Ñ0°$·*±*·,±,Ó?ˆEÜŸ™¤§¡ u¨cÓ 2°E·G±GÓ<¸rÑAÀGÑKˆDŒJØ�z‰zÐr)   c                 ó®   — | j                   €>t        j                  | j                  | j                  «      }|d| j
                   | _         | j                   S )zEstimated parametersN)Ú_coeffsr
   r-   r5   r:   r   )r   Ú
betaLambdas     r(   rB   z
RLS.coeffsƒ   sB   € ð �<‰<ÐÜŸ™ §¡°·±Ó>ˆJØ% m t§|¡|Ð4ˆDŒLØ�|‰|Ðr)   c                 óN   — | j                   }t        | | j                  |¬«      }|S )N)Únormalized_cov_params)rI   r   rB   )r   ÚrncpÚlfits      r(   ÚfitzRLS.fit‹   s$   € Ø×%Ñ%ˆÜ   t§{¡{È$ÔOˆØˆr)   )g        N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r+   Úpropertyr1   r3   r5   r7   r:   r<   r=   r@   rI   rK   rB   rQ   Ú__classcell__)r'   s   @r(   r   r   
   s¨   ø„ ñõ:/ð8 €GØñó ðð €KØñ ó ð ð €HØñ	ó ð	ð €DØñó ðð €EØñó ðð €GØñó ðör)   r   Ú__main__z./rlsdata.txtT)ÚnamesÚYr?   )ÚNEÚNCÚWÚSéÿÿÿÿ)ÚprependÚG)r   r   r   r   r   r   r   )r"   )rU   Únumpyr
   Ú#statsmodels.regression.linear_modelr   r   r   rR   Ústatsmodels.apiÚapiÚsmÚ
genfromtxtÚdtaÚcolumn_stackÚviewÚfloatr/   r	   r0   Úadd_constantÚrls_modrQ   Úrls_fitÚprintÚparams© r)   r(   ú<module>rr      sÐ   ðñó
 ß FôDˆ#ô DðL ˆZÒÝ Ø
ˆ"�-‰-˜¨tÔ
4€CØˆR�_‰_˜c #™h s¨3¡x°¡{°3Ò7JÑ3K×3PÑ3PÐQVÓ3W×3_Ñ3_Ð`c×`iÑ`iÐjkÑ`lÐmoÓ3pÐqÓr€FØˆR�_‰_˜V¨TÔ2€FÙ�#�c‘(˜6ª/Ô:€GØ�k‰k‹m€GÙ	ˆ'�.‰.Õð r)   