Ë
    £�DjN  ã                   óD   — d Z ddlZddlmZ ddlZ G d„ d«      Z	 	 dd„Zy)zM
Created on Fri Dec 19 11:29:18 2014

Author: Josef Perktold
License: BSD-3

é    N)Ústatsc                   óz   — e Zd ZdZ	 dd„Zed„ «       Zed„ «       Zed„ «       Zed„ «       Z	ed„ «       Z
dd	„Zdd
„Zy)ÚPredictionResultsaE  
    Results class for predictions.

    Parameters
    ----------
    predicted_mean : ndarray
        The array containing the prediction means.
    var_pred_mean : ndarray
        The array of the variance of the prediction means.
    var_resid : ndarray
        The array of residual variances.
    df : int
        The degree of freedom used if dist is 't'.
    dist : {'norm', 't', object}
        Either a string for the normal or t distribution or another object
        that exposes a `ppf` method.
    row_labels : list[str]
        Row labels used in summary frame.
    Nc                 ó  — || _         || _        || _        || _        || _        |�|dk(  rt
        j                  | _        d| _        y |dk(  r(t
        j                  | _        | j                  f| _        y || _        d| _        y )NÚnorm© Út)
Ú	predictedÚvar_predÚdfÚ	var_residÚ
row_labelsr   r   ÚdistÚ	dist_argsr	   )ÚselfÚpredicted_meanÚvar_pred_meanr   r   r   r   s          úfC:\Crop_Prediction\Backend\crop-ai-system\venv\Lib\site-packages\statsmodels/regression/_prediction.pyÚ__init__zPredictionResults.__init__$   so   € à'ˆŒØ%ˆŒØˆŒØ"ˆŒØ$ˆŒàˆ<˜4 6š>ÜŸ
™
ˆDŒIØˆD�NØ�SŠ[ÜŸ™ˆDŒIØ"Ÿg™g˜ZˆD�NàˆDŒIØˆD�Nó    c                 óZ   — t        j                  | j                  | j                  z   «      S ©N)ÚnpÚsqrtr   r   ©r   s    r   Úse_obszPredictionResults.se_obs6   s    € ä�w‰w�t×)Ñ)¨D¯N©NÑ:Ó;Ð;r   c                 ó   — | j                   S r   )Úser   s    r   Úse_meanzPredictionResults.se_mean:   s   € à�w‰wˆr   c                 ó   — | j                   S r   )r
   r   s    r   r   z PredictionResults.predicted_mean>   s   € ð �~‰~Ðr   c                 ó   — | j                   S r   )r   r   s    r   r   zPredictionResults.var_pred_meanC   s   € ð �}‰}Ðr   c                 ó@   — t        j                  | j                  «      S r   )r   r   r   r   s    r   r   zPredictionResults.seH   s   € ô �w‰w�t×)Ñ)Ó*Ð*r   c                 ó  — |r| j                   n| j                  } | j                  j                  d|dz  z
  g| j                  ¢­Ž }| j
                  ||z  z
  }| j
                  ||z  z   }t        j                  ||f«      S )a.  
        Returns the confidence interval of the value, `effect` of the
        constraint.

        This is currently only available for t and z tests.

        Parameters
        ----------
        alpha : float, optional
            The significance level for the confidence interval.
            ie., The default `alpha` = .05 returns a 95% confidence interval.

        Returns
        -------
        ci : ndarray, (k_constraints, 2)
            The array has the lower and the upper limit of the confidence
            interval in the columns.
        é   g       @)r   r   r   Úppfr   r   r   Úcolumn_stack)r   ÚobsÚalphar   ÚqÚlowerÚuppers          r   Úconf_intzPredictionResults.conf_intM   su   € ñ(  ˆT�[Š[ T§\¡\ˆàˆD�I‰I�M‰M˜!˜e b™j™.Ð:¨4¯>©>Ò:ˆØ×#Ñ# a¨"¡fÑ,ˆØ×#Ñ# a¨"¡fÑ,ˆÜ�‰  u˜~Ó.Ð.r   c                 ó`  — | j                  |d¬«      }| j                  |d¬«      }i }| j                  |d<   | j                  |d<   |d d …df   |d<   |d d …df   |d	<   |d d …df   |d
<   |d d …df   |d<   || _        t	        j
                  || j                  |j                  «       ¬«      }|S )NT)r(   r'   FÚmeanÚmean_ser   Úmean_ci_lowerr$   Úmean_ci_upperÚobs_ci_lowerÚobs_ci_upper)ÚindexÚcolumns)r,   r   r   ÚtableÚpdÚ	DataFramer   Úkeys)r   r(   Úci_obsÚci_meanÚ
to_includeÚress         r   Úsummary_framezPredictionResults.summary_frameh   s¿   € à—‘ U°�Ó5ˆØ—-‘- e°�-Ó7ˆØˆ
Ø!×0Ñ0ˆ
�6ÑØ $§¡ˆ
�9ÑØ&-ªa°¨d¡mˆ
�?Ñ#Ø&-ªa°¨d¡mˆ
�?Ñ#Ø%+ªA¨q¨D¡\ˆ
�>Ñ"Ø%+ªA¨q¨D¡\ˆ
�>Ñ"àˆŒ
ô �l‰l˜:¨T¯_©_Ø#-§?¡?Ó#4ô6ˆàˆ
r   )NNN)Fçš™™™™™©?)r?   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr   r   r   r   r   r,   r>   r   r   r   r   r      s   „ ñð* 15ó ð$ ñ<ó ð<ð ñó ðð ñó ðð ñó ðð ñ+ó ð+ó/ô6r   r   c                 ó  — |rtt        | j                  d«      r^|�\ddlm} t	        |t
        j                  «      rt        j                  |«      } || j                  j                  j                  |«      }|�…|€t        |dd«      }t        |«      rd}t        j                  |«      }|j                  dk(  r/| j                  j                   d   dkD  r
|ddd…f   }n	|dd…df   }t        j"                  |«      }nR| j                  j$                  }|€t        | j                  dd«      }|€!t        | j                  j                  dd«      }|�]t        j                  |«      }|j&                  dkD  r9|j                  dk7  s|j                   d   |j                   d   k(  rt)        d	«      ‚|€i } | j                  j*                  | j                  |fi |¤Ž}| j-                  «       }|t        j.                  ||j0                  «      j0                  z  j3                  d«      }	| j4                  }
| j6                  d
k(  r| j8                  d   }
|�|
|z  }
ddg| j:                     }t=        ||	|
| j>                  ||¬«      S )a¢  
    Compute prediction results.

    Parameters
    ----------
    exog : array_like, optional
        The values for which you want to predict.
    transform : bool, optional
        If the model was fit via a formula, do you want to pass
        exog through the formula. Default is True. E.g., if you fit
        a model y ~ log(x1) + log(x2), and transform is True, then
        you can pass a data structure that contains x1 and x2 in
        their original form. Otherwise, you'd need to log the data
        first.
    weights : array_like, optional
        Weights interpreted as in WLS, used for the variance of the predicted
        residual.
    row_labels : list
        A list of row labels to use.  If not provided, read `exog` is
        available.
    **kwargs
        Some models can take additional keyword arguments, see the predict
        method of the model for the details.

    Returns
    -------
    linear_model.PredictionResults
        The prediction results instance contains prediction and prediction
        variance and can on demand calculate confidence intervals and summary
        tables for the prediction of the mean and of new observations.
    ÚformulaNr   )Údmatrixr4   r$   Úweightsr   zweights has wrong shapezfixed scaleÚscaler   r	   )r   r   r   ) ÚhasattrÚmodelÚpatsyrG   Ú
isinstancer7   ÚSeriesr8   ÚdataÚdesign_infoÚgetattrÚcallabler   ÚasarrayÚndimÚparamsÚshapeÚ
atleast_2dÚexogÚsizeÚ
ValueErrorÚpredictÚ
cov_paramsÚdotÚTÚsumrI   Úcov_typeÚcov_kwdsÚuse_tr   Údf_resid)r   rX   Ú	transformrH   r   Ú	pred_kwdsrG   r   Úcovbr   r   r   s               r   Úget_predictionrg   }   s,  € ñF ”W˜TŸZ™Z¨Ô3¸Ð8HÝ!Ü�dœBŸI™IÔ&ä—<‘< Ó%ˆDÙ�t—z‘z—‘×2Ñ2°DÓ9ˆàÐØÐÜ   w°Ó5ˆJÜ˜
Ô#Ø!�
ä�z‰z˜$ÓˆØ�9‰9˜Š>à�{‰{× Ñ  Ñ# aÒ'Ø˜D¢!˜G‘}‘àšA˜t˜G‘}�Ü�}‰}˜TÓ"‰à�z‰z�‰ˆØˆ?Ü˜dŸj™j¨)°TÓ:ˆGàÐÜ  §¡§¡°,ÀÓEˆJð ÐÜ—*‘*˜WÓ%ˆØ�L‰L˜1ÒØ—‘ Ò" g§m¡m°AÑ&6¸$¿*¹*ÀQ¹-Ò&GÜÐ6Ó7Ð7àÐØˆ	Ø'�T—Z‘Z×'Ñ'¨¯©°TÑG¸YÑG€Nà�?‰?Ó€DØœBŸF™F 4¨¯©Ó0×2Ñ2Ñ2×7Ñ7¸Ó:€MØ—
‘
€Ið ‡}�}˜Ò%Ø—M‘M 'Ñ*ˆ	àÐØ�WÑˆ	à�Cˆ=˜Ÿ™Ñ$€DÜ˜^¨]¸IØ $§¡°DØ(2ô4ð 4r   )NTNNN)	rC   Únumpyr   Úscipyr   Úpandasr7   r   rg   r   r   r   ú<module>rk      s1   ðñó Ý Û ÷kñ kð\ =AØ.2ôZ4r   